From e5932fdaf1e688f663c84db29289bf6a11c09a26 Mon Sep 17 00:00:00 2001 From: Andrew den Hertog Date: Wed, 18 Sep 2024 14:37:22 -0400 Subject: [PATCH] feat: refactor Signed-off-by: Andrew den Hertog --- .github/workflows/release.yaml | 75 +++- package.json | 7 +- pnpm-workspaces.yaml | 2 - types/index.d.ts | 3 + webviews/obs/package.json | 2 +- webviews/usfm-viewer/build/assets/index.css | 2 +- webviews/usfm-viewer/build/assets/index.js | 382 +++++++++--------- .../build/assets/views/BibleNavigator.js | 2 +- webviews/usfm-viewer/package.json | 2 +- 9 files changed, 266 insertions(+), 211 deletions(-) delete mode 100644 pnpm-workspaces.yaml diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index d195ad90..cb63cf45 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -4,33 +4,86 @@ on: push: branches: - main + - feat/ci +env: + GH_TOKEN: ${{ github.token }} jobs: - build: + check-release: runs-on: ubuntu-latest + outputs: + release_exists: ${{ steps.release.outputs.exists }} + openvsx_exists: ${{ steps.openvsx.outputs.exists }} + package_version: ${{ env.PKG_VERSION }} + package_name: ${{ env.PKG_NAME }} + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Get Current Version + id: get_version + run: | + echo "PKG_VERSION=$(jq -r '.version' package.json)" >> $GITHUB_ENV + echo "PKG_NAME=$(jq -r '.name' package.json)" >> $GITHUB_ENV + - name: Check Release + id: release + run: | + set -x + if gh release view ${{ github.repository_owner }}.$PKG_NAME $PKG_VERSION ; then + echo "Release already exists" + echo "exists=true" >> $GITHUB_ENV + else + echo "Release does not exist" + echo "exists=false" >> $GITHUB_ENV + fi + - name: Check OpenVSX + id: openvsx + run: | + set -x + if npx ovsx get $PKG_VERSION; then + echo "OpenVSX already exists" + echo "exists=true" >> $GITHUB_ENV + else + echo "OpenVSX does not exist" + echo "exists=false" >> $GITHUB_ENV + fi + build: + runs-on: ubuntu-latest + needs: check-release + if: ${{ needs.check-release.outputs.release_exists == 'false' || needs.check-release.outputs.openvsx_exists == 'false' }} + env: + PKG_VERSION: ${{ needs.check-release.outputs.package_version }} + PKG_NAME: ${{ needs.check-release.outputs.package_name }} steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up Node.js - uses: actions/setup-node@v2 + uses: actions/setup-node@v4 with: node-version: '22' - name: Update Publisher run: jq '.publisher = "${{ github.repository_owner }}"' package.json > package.json.tmp && mv package.json.tmp package.json if: ${{ github.repository_owner != 'genesis-ai-dev' }} - - - name: Update Version - run: | - current_version=$(jq -r '.version' package.json) - new_version=$(npx semver $current_version -i patch) - jq -r '.version = '\"${new_version}\"'' package.json > package.json.tmp && mv package.json.tmp package.json - + - name: Install dependencies - run: npx pnpm -r install + run: | + npm i + cd webviews/codex-webviews + npm i + cd ../obs + npm i + cd ../usfm-viewer + npm i + + - name: Package + run: npx vsce package - name: Publish to OpenVSX run: | - npx ovsx publish --no-dependencies -p ${{ secrets.OPENVSX_TOKEN }} + npx ovsx publish -p ${{ secrets.OPENVSX_TOKEN }} ${{ env.PKG_NAME }}-${{ env.PKG_VERSION }}.vsix + + - name: Create Release + run: | + gh release create ${{ env.PKG_VERSION }} --generate-notes *.vsix \ No newline at end of file diff --git a/package.json b/package.json index 12d7b15e..1db983c4 100644 --- a/package.json +++ b/package.json @@ -762,7 +762,7 @@ ] }, "scripts": { - "vscode:prepublish": "npm run build:ci && npm run compile", + "vscode:prepublish": "npm run build:webviews && npm run compile", "compile": "webpack", "watch": "webpack --watch", "package": "webpack --mode production --devtool hidden-source-map", @@ -772,8 +772,9 @@ "format": "prettier --write .", "build:table": "cd webviews/editable-react-table && npm run build", "build:dictionary-side": "cd webviews/dictionary-side-panel && npm run build", - "build:webviews": "cd webviews/codex-webviews && pnpm run build:all && cd ../dictionary-side-panel && pnpm run build && cd ../editable-react-table && pnpm run build && cd ../usfm-viewer && pnpm run build && cd ../..", - "build:ci": "pnpm -r --filter='./webviews/*' run build" + "build:webviews": "cd webviews/codex-webviews && pnpm run build:all && cd ../usfm-viewer && pnpm run build && cd ../obs && pnpm run build && cd ../..", + "build:ci": "pnpm -r --filter='./webviews/*' run build", + "build": "npm run compile" }, "devDependencies": { "@babel/plugin-proposal-private-property-in-object": "^7.16.7", diff --git a/pnpm-workspaces.yaml b/pnpm-workspaces.yaml deleted file mode 100644 index f7fb215f..00000000 --- a/pnpm-workspaces.yaml +++ /dev/null @@ -1,2 +0,0 @@ -packages: -- 'webviews/*' \ No newline at end of file diff --git a/types/index.d.ts b/types/index.d.ts index 2e4a8d25..018733de 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -115,6 +115,9 @@ type DictionaryPostMessages = wordFrequencies: { [key: string]: number }; } | { command: "updateDictionary"; content: Dictionary } + | { command: "updateData"; data: Dictionary } + | { command: "confirmRemove"; count: number } + | { command: "removeConfirmed" } type DictionaryReceiveMessages = | { command: "providerTellsWebviewRemoveConfirmed" } diff --git a/webviews/obs/package.json b/webviews/obs/package.json index fd719451..cd6ba531 100644 --- a/webviews/obs/package.json +++ b/webviews/obs/package.json @@ -1,5 +1,5 @@ { - "name": "webview-ui", + "name": "obs-webview-ui", "private": true, "version": "0.0.0", "type": "module", diff --git a/webviews/usfm-viewer/build/assets/index.css b/webviews/usfm-viewer/build/assets/index.css index b4b94e36..dedc30aa 100644 --- a/webviews/usfm-viewer/build/assets/index.css +++ b/webviews/usfm-viewer/build/assets/index.css @@ -1 +1 @@ -*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter var,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.m-3{margin:.75rem}.block{display:block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-full{height:100%}.w-10{width:2.5rem}.w-full{width:100%}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.gap-4{gap:1rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.rounded{border-radius:.25rem}.border{border-width:1px}.border-l-2{border-left-width:2px}.border-r-2{border-right-width:2px}.border-secondary{--tw-border-opacity: 1;border-color:rgb(21 21 21 / var(--tw-border-opacity))}.p-2{padding:.5rem}.p-4{padding:1rem}.pb-16{padding-bottom:4rem}.text-left{text-align:left}.leading-8{line-height:2rem}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}#root{max-width:1280px;margin:0 auto;text-align:left}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.perf .title .section,.perf .heading .section,.sectionBody .paragraph{margin-left:.75rem;margin-right:.75rem}.perf .title .section,.perf .heading .section{display:flex;align-items:center}.editor{margin-top:.5rem;margin-bottom:.5rem}.heading .ms{font-size:1.125rem;line-height:1.75rem;text-transform:uppercase;letter-spacing:.05em;--tw-text-opacity: 1;color:rgb(255 85 0 / var(--tw-text-opacity))}.mark.chapter{margin-bottom:.5rem;display:block;-moz-column-break-before:column;break-before:column;border-bottom-width:1px;padding-bottom:.25rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.mark.chapter:before{--tw-content: "Chapter : ";content:var(--tw-content)}p.paragraph:has(.chapter){margin-top:.5rem}.mark.verse{margin-right:.25rem;font-size:1.125rem;line-height:1.75rem;font-weight:600}.mark.verse:after{--tw-content: ".";content:var(--tw-content)}.major-title,.major-secondary-heading{--tw-text-opacity: 1;color:rgb(255 85 0 / var(--tw-text-opacity))}.graft{vertical-align:super;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(255 85 0 / var(--tw-text-opacity))}.editor .perf .footnote:before{cursor:pointer;font-weight:600;content:" ‡"}.editor .perf .xref:before{cursor:pointer;font-weight:600;content:" x"}.perf .sectionHeading{display:none}.perf .xq,.perf .fq{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(255 85 0 / var(--tw-text-opacity))}[contenteditable]:focus{outline:0px solid transparent}.ref-editor ::-moz-selection{--tw-bg-opacity: 1;background-color:rgb(228 242 255 / var(--tw-bg-opacity))}.ref-editor ::selection{--tw-bg-opacity: 1;background-color:rgb(228 242 255 / var(--tw-bg-opacity))}@media (max-width: 200px){.max-\[200px\]\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.max-\[200px\]\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width: 400px){.min-\[400px\]\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}} +*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter var,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}.m-3{margin:.75rem}.block{display:block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-full{height:100%}.w-10{width:2.5rem}.w-full{width:100%}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.gap-4{gap:1rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.rounded{border-radius:.25rem}.border{border-width:1px}.border-l-2{border-left-width:2px}.border-r-2{border-right-width:2px}.border-secondary{--tw-border-opacity: 1;border-color:rgb(21 21 21 / var(--tw-border-opacity))}.p-2{padding:.5rem}.p-4{padding:1rem}.pb-16{padding-bottom:4rem}.text-left{text-align:left}.leading-8{line-height:2rem}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}#root{max-width:1280px;margin:0 auto;text-align:left}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.perf .title .section,.perf .heading .section,.sectionBody .paragraph{margin-left:.75rem;margin-right:.75rem}.perf .title .section,.perf .heading .section{display:flex;align-items:center}.editor{margin-top:.5rem;margin-bottom:.5rem}.heading .ms{font-size:1.125rem;line-height:1.75rem;text-transform:uppercase;letter-spacing:.05em;--tw-text-opacity: 1;color:rgb(255 85 0 / var(--tw-text-opacity))}.mark.chapter{margin-bottom:.5rem;display:block;-moz-column-break-before:column;break-before:column;border-bottom-width:1px;padding-bottom:.25rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.mark.chapter:before{--tw-content: "Chapter : ";content:var(--tw-content)}p.paragraph:has(.chapter){margin-top:.5rem}.mark.verse{margin-right:.25rem;font-size:1.125rem;line-height:1.75rem;font-weight:600}.mark.verse:after{--tw-content: ".";content:var(--tw-content)}.major-title,.major-secondary-heading{--tw-text-opacity: 1;color:rgb(255 85 0 / var(--tw-text-opacity))}.graft{vertical-align:super;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(255 85 0 / var(--tw-text-opacity))}.editor .perf .footnote:before{cursor:pointer;font-weight:600;content:" ‡"}.editor .perf .xref:before{cursor:pointer;font-weight:600;content:" x"}.perf .sectionHeading{display:none}.perf .xq,.perf .fq{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(255 85 0 / var(--tw-text-opacity))}[contenteditable]:focus{outline:0px solid transparent}.ref-editor ::-moz-selection{--tw-bg-opacity: 1;background-color:rgb(228 242 255 / var(--tw-bg-opacity))}.ref-editor ::selection{--tw-bg-opacity: 1;background-color:rgb(228 242 255 / var(--tw-bg-opacity))}@media (max-width: 200px){.max-\[200px\]\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.max-\[200px\]\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width: 400px){.min-\[400px\]\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}} diff --git a/webviews/usfm-viewer/build/assets/index.js b/webviews/usfm-viewer/build/assets/index.js index fdd46c13..4679eb57 100644 --- a/webviews/usfm-viewer/build/assets/index.js +++ b/webviews/usfm-viewer/build/assets/index.js @@ -1,54 +1,54 @@ -import{r as ft,j as It,v as Vh,R as Vi,g as L8,c as Ce,M as U8,a as aT,b as iT}from"./App.js";const G8=ft.createContext({state:{},actions:{}}),cT=({children:e,editable:t=!0})=>{const r={sequenceIds:[],sectionable:!1,blockable:!0,editable:t,preview:!1,verbose:!1,graftSequenceId:null},[n,u]=ft.useState(r),s=ft.useCallback(y=>{u(A=>({...A,sectionable:y}))},[]),o=ft.useCallback(y=>{u(A=>({...A,blockable:y}))},[]),a=ft.useCallback(y=>{u(A=>({...A,editable:y}))},[]),i=ft.useCallback(y=>{u(A=>({...A,preview:y}))},[]),c=ft.useCallback(y=>{u(A=>({...A,...y}))},[]),l=ft.useCallback(y=>{u(A=>({...A,sequenceIds:y}))},[]),p=ft.useCallback(y=>{u(A=>({...A,graftSequenceId:y}))},[]),d=ft.useCallback(y=>{l([...n.sequenceIds,y])},[n.sequenceIds,l]),h={state:n,actions:{setSectionable:s,setBlockable:o,setEditable:a,setPreview:i,setToggles:c,setSequenceIds:l,addSequenceId:d,setGraftSequenceId:p}};return It.jsx(G8.Provider,{value:h,children:e})};/*! +import{r as ft,j as It,v as Hh,R as Vi,g as G8,c as Ce,M as V8,a as cT,b as lT}from"./App.js";const H8=ft.createContext({state:{},actions:{}}),pT=({children:e,editable:t=!0})=>{const r={sequenceIds:[],sectionable:!1,blockable:!0,editable:t,preview:!1,verbose:!1,graftSequenceId:null},[n,u]=ft.useState(r),s=ft.useCallback(y=>{u(A=>({...A,sectionable:y}))},[]),o=ft.useCallback(y=>{u(A=>({...A,blockable:y}))},[]),a=ft.useCallback(y=>{u(A=>({...A,editable:y}))},[]),i=ft.useCallback(y=>{u(A=>({...A,preview:y}))},[]),c=ft.useCallback(y=>{u(A=>({...A,...y}))},[]),l=ft.useCallback(y=>{u(A=>({...A,sequenceIds:y}))},[]),p=ft.useCallback(y=>{u(A=>({...A,graftSequenceId:y}))},[]),d=ft.useCallback(y=>{l([...n.sequenceIds,y])},[n.sequenceIds,l]),h={state:n,actions:{setSectionable:s,setBlockable:o,setEditable:a,setPreview:i,setToggles:c,setSequenceIds:l,addSequenceId:d,setGraftSequenceId:p}};return It.jsx(H8.Provider,{value:h,children:e})};/*! * XRegExp 5.1.1 * * Steven Levithan (c) 2007-present MIT License - */const _t="xregexp",Ws={astral:!1,namespacing:!0},Qn={};let ni={},Go={};const S2=[],ta="default",vy="class",lT={default:/\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|\(\?(?:[:=!]|<[=!])|[?*+]\?|{\d+(?:,\d*)?}\??|[\s\S]/,class:/\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|[\s\S]/},pT=/\$(?:\{([^\}]+)\}|<([^>]+)>|(\d\d?|[\s\S]?))/g,dT=/()??/.exec("")[1]===void 0,fT=/x/.flags!==void 0;function Hi(e){let t=!0;try{if(new RegExp("",e),e==="y"){const r="gy";".a".replace(new RegExp("a",r),".")===".."&&(t=!1)}}catch{t=!1}return t}const DT=Hi("d"),Hh=Hi("s"),V8=Hi("u"),Wh=Hi("y"),H8={d:DT,g:!0,i:!0,m:!0,s:Hh,u:V8,y:Wh},hT=Hh?/[^dgimsuy]+/g:/[^dgimuy]+/g;function W8(e,t,r,n,u){if(e[_t]={captureNames:t},u)return e;if(e.__proto__)e.__proto__=Z.prototype;else for(const s in Z.prototype)e[s]=Z.prototype[s];return e[_t].source=r,e[_t].flags=n&&n.split("").sort().join(""),e}function Bi(e){return e.replace(/([\s\S])(?=[\s\S]*\1)/g,"")}function ro(e,t){if(!Z.isRegExp(e))throw new TypeError("Type RegExp expected");const r=e[_t]||{};let n=mT(e),u="",s="",o=null,a=null;return t=t||{},t.removeG&&(s+="g"),t.removeY&&(s+="y"),s&&(n=n.replace(new RegExp(`[${s}]+`,"g"),"")),t.addG&&(u+="g"),t.addY&&(u+="y"),u&&(n=Bi(n+u)),t.isInternalOnly||(r.source!==void 0&&(o=r.source),r.flags!=null&&(a=u?Bi(r.flags+u):r.flags)),e=W8(new RegExp(t.source||e.source,n),ET(e)?r.captureNames.slice(0):null,o,a,t.isInternalOnly),e}function J8(e){return parseInt(e,16)}function z8(e,t,r){const n=e.index+e[0].length,u=e.input[e.index-1],s=e.input[n];return/^[()|]$/.test(u)||/^[()|]$/.test(s)||e.index===0||n===e.input.length||/\(\?(?:[:=!]|<[=!])$/.test(e.input.substring(e.index-4,e.index))||yT(e.input,n,r)?"":"(?:)"}function mT(e){return fT?e.flags:/\/([a-z]*)$/i.exec(RegExp.prototype.toString.call(e))[1]}function ET(e){return!!(e[_t]&&e[_t].captureNames)}function Jh(e){return parseInt(e,10).toString(16)}function yT(e,t,r){const n="\\(\\?#[^)]*\\)",u="#[^#\\n]*",s="[?*+]|{\\d+(?:,\\d*)?}";return(r.includes("x")?new RegExp(`^(?:\\s|${u}|${n})*(?:${s})`):new RegExp(`^(?:${n})*(?:${s})`)).test(e.slice(t))}function Ul(e,t){return Object.prototype.toString.call(e)===`[object ${t}]`}function Ca(e){if(e==null)throw new TypeError("Cannot convert null or undefined to object");return e}function zh(e){for(;e.length<4;)e=`0${e}`;return e}function vT(e,t){if(Bi(t)!==t)throw new SyntaxError(`Invalid duplicate regex flag ${t}`);e=e.replace(/^\(\?([\w$]+)\)/,(r,n)=>{if(/[dgy]/.test(n))throw new SyntaxError(`Cannot use flags dgy in mode modifier ${r}`);return t=Bi(t+n),""});for(const r of t)if(!H8[r])throw new SyntaxError(`Unknown regex flag ${r}`);return{pattern:e,flags:t}}function K8(e){const t={};return Ul(e,"String")?(Z.forEach(e,/[^\s,]+/,r=>{t[r]=!0}),t):e}function gy(e){if(!/^[\w$]$/.test(e))throw new Error("Flag must be a single character A-Za-z0-9_$");H8[e]=!0}function gT(e,t,r,n,u){let s=S2.length;const o=e[r];let a=null,i,c;for(;s--;)if(c=S2[s],!(c.leadChar&&c.leadChar!==o||c.scope!==n&&c.scope!=="all"||c.flag&&!t.includes(c.flag))&&(i=Z.exec(e,c.regex,r,"sticky"),i)){a={matchLength:i[0].length,output:c.handler.call(u,i,n,t),reparse:c.reparse};break}return a}function X8(e){Ws.astral=e}function Y8(e){Ws.namespacing=e}function Z(e,t){if(Z.isRegExp(e)){if(t!==void 0)throw new TypeError("Cannot supply flags when copying a RegExp");return ro(e)}if(e=e===void 0?"":String(e),t=t===void 0?"":String(t),Z.isInstalled("astral")&&!t.includes("A")&&(t+="A"),Go[e]||(Go[e]={}),!Go[e][t]){const n={hasNamedCapture:!1,captureNames:[]};let u=ta,s="",o=0,a;const i=vT(e,t);let c=i.pattern;const l=i.flags;for(;o{r=r||{};let{optionalFlags:n}=r;if(r.flag&&gy(r.flag),n){n=n.split("");for(const u of n)gy(u)}S2.push({regex:ro(e,{addG:!0,addY:Wh,isInternalOnly:!0}),handler:t,scope:r.scope||ta,flag:r.flag,reparse:r.reparse,leadChar:r.leadChar}),Z.cache.flush("patterns")};Z.cache=(e,t)=>(ni[e]||(ni[e]={}),ni[e][t]||(ni[e][t]=Z(e,t)));Z.cache.flush=e=>{e==="patterns"?Go={}:ni={}};Z.escape=e=>String(Ca(e)).replace(/[\\\[\]{}()*+?.^$|]/g,"\\$&").replace(/[\s#\-,]/g,t=>`\\u${zh(Jh(t.charCodeAt(0)))}`);Z.exec=(e,t,r,n)=>{let u="g",s=!1,o=!1,a;s=Wh&&!!(n||t.sticky&&n!==!1),s?u+="y":n&&(o=!0,u+="FakeY"),t[_t]=t[_t]||{};const i=t[_t][u]||(t[_t][u]=ro(t,{addG:!0,addY:s,source:o?`${t.source}|()`:void 0,removeY:n===!1,isInternalOnly:!0}));return r=r||0,i.lastIndex=r,a=Qn.exec.call(i,e),o&&a&&a.pop()===""&&(a=null),t.global&&(t.lastIndex=a?i.lastIndex:0),a};Z.forEach=(e,t,r)=>{let n=0,u=-1,s;for(;s=Z.exec(e,t,n);)r(s,++u,e,t),n=s.index+(s[0].length||1)};Z.globalize=e=>ro(e,{addG:!0});Z.install=e=>{e=K8(e),!Ws.astral&&e.astral&&X8(!0),!Ws.namespacing&&e.namespacing&&Y8(!0)};Z.isInstalled=e=>!!Ws[e];Z.isRegExp=e=>Object.prototype.toString.call(e)==="[object RegExp]";Z.match=(e,t,r)=>{const n=t.global&&r!=="one"||r==="all",u=(n?"g":"")+(t.sticky?"y":"")||"noGY";t[_t]=t[_t]||{};const s=t[_t][u]||(t[_t][u]=ro(t,{addG:!!n,removeG:r==="one",isInternalOnly:!0})),o=String(Ca(e)).match(s);return t.global&&(t.lastIndex=r==="one"&&o?o.index+o[0].length:0),n?o||[]:o&&o[0]};Z.matchChain=(e,t)=>function r(n,u){const s=t[u].regex?t[u]:{regex:t[u]},o=[];function a(i){if(s.backref){const c=`Backreference to undefined group: ${s.backref}`,l=isNaN(s.backref);if(l&&Z.isInstalled("namespacing")){if(!(i.groups&&s.backref in i.groups))throw new ReferenceError(c)}else if(!i.hasOwnProperty(s.backref))throw new ReferenceError(c);const p=l&&Z.isInstalled("namespacing")?i.groups[s.backref]:i[s.backref];o.push(p||"")}else o.push(i[0])}for(const i of n)Z.forEach(i,s.regex,a);return u===t.length-1||!o.length?o:r(o,u+1)}([e],0);Z.replace=(e,t,r,n)=>{const u=Z.isRegExp(t),s=t.global&&n!=="one"||n==="all",o=(s?"g":"")+(t.sticky?"y":"")||"noGY";let a=t;u?(t[_t]=t[_t]||{},a=t[_t][o]||(t[_t][o]=ro(t,{addG:!!s,removeG:n==="one",isInternalOnly:!0}))):s&&(a=new RegExp(Z.escape(String(t)),"g"));const i=Qn.replace.call(Ca(e),a,r);return u&&t.global&&(t.lastIndex=0),i};Z.replaceEach=(e,t)=>{for(const r of t)e=Z.replace(e,r[0],r[1],r[2]);return e};Z.split=(e,t,r)=>Qn.split.call(Ca(e),t,r);Z.test=(e,t,r,n)=>!!Z.exec(e,t,r,n);Z.uninstall=e=>{e=K8(e),Ws.astral&&e.astral&&X8(!1),Ws.namespacing&&e.namespacing&&Y8(!1)};Z.union=(e,t,r)=>{r=r||{};const n=r.conjunction||"or";let u=0,s,o;function a(p,d,f){const h=o[u-s];if(d){if(++u,h)return`(?<${h}>`}else if(f)return`\\${+f+s}`;return p}if(!(Ul(e,"Array")&&e.length))throw new TypeError("Must provide a nonempty array of patterns to merge");const i=/(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*\]/g,c=[];for(const p of e)Z.isRegExp(p)?(s=u,o=p[_t]&&p[_t].captureNames||[],c.push(Z(p.source).source.replace(i,a))):c.push(Z.escape(p));const l=n==="none"?"":"|";return Z(c.join(l),t)};Qn.exec=function(e){const t=this.lastIndex,r=RegExp.prototype.exec.apply(this,arguments);if(r){if(!dT&&r.length>1&&r.includes("")){const n=ro(this,{removeG:!0,isInternalOnly:!0});String(e).slice(r.index).replace(n,(...u)=>{const s=u.length;for(let o=1;or.index&&(this.lastIndex=r.index)}return this.global||(this.lastIndex=t),r};Qn.test=function(e){return!!Qn.exec.call(this,e)};Qn.match=function(e){if(!Z.isRegExp(e))e=new RegExp(e);else if(e.global){const t=String.prototype.match.apply(this,arguments);return e.lastIndex=0,t}return Qn.exec.call(e,Ca(this))};Qn.replace=function(e,t){const r=Z.isRegExp(e);let n,u,s;return r?(e[_t]&&({captureNames:u}=e[_t]),n=e.lastIndex):e+="",Ul(t,"Function")?s=String(this).replace(e,(...o)=>{if(u){let a;Z.isInstalled("namespacing")?(a=Object.create(null),o.push(a)):(o[0]=new String(o[0]),[a]=o);for(let i=0;i{return String(t).replace(pT,a);function a(i,c,l,p){c=c||l;const d=Ul(o[o.length-1],"Object")?4:3,f=o.length-d;if(c){if(/^\d+$/.test(c)){const y=+c;if(y<=f)return o[y]||""}const h=u?u.indexOf(c):-1;if(h<0)throw new SyntaxError(`Backreference to undefined group ${i}`);return o[h+1]||""}if(p===""||p===" ")throw new SyntaxError(`Invalid token ${i}`);if(p==="&"||+p==0)return o[0];if(p==="$")return"$";if(p==="`")return o[o.length-1].slice(0,o[o.length-2]);if(p==="'")return o[o.length-1].slice(o[o.length-2]+o[0].length);if(p=+p,!isNaN(p)){if(p>f)throw new SyntaxError(`Backreference to undefined group ${i}`);return o[p]||""}throw new SyntaxError(`Invalid token ${i}`)}}),r&&(e.global?e.lastIndex=0:e.lastIndex=n),s};Qn.split=function(e,t){if(!Z.isRegExp(e))return String.prototype.split.apply(this,arguments);const r=String(this),n=[],u=e.lastIndex;let s=0,o;return t=(t===void 0?-1:t)>>>0,Z.forEach(r,e,a=>{a.index+a[0].length>s&&(n.push(r.slice(s,a.index)),a.length>1&&a.indext?n.slice(0,t):n};Z.addToken(/\\([ABCE-RTUVXYZaeg-mopqyz]|c(?![A-Za-z])|u(?![\dA-Fa-f]{4}|{[\dA-Fa-f]+})|x(?![\dA-Fa-f]{2}))/,(e,t)=>{if(e[1]==="B"&&t===ta)return e[0];throw new SyntaxError(`Invalid escape ${e[0]}`)},{scope:"all",leadChar:"\\"});Z.addToken(/\\u{([\dA-Fa-f]+)}/,(e,t,r)=>{const n=J8(e[1]);if(n>1114111)throw new SyntaxError(`Invalid Unicode code point ${e[0]}`);if(n<=65535)return`\\u${zh(Jh(n))}`;if(V8&&r.includes("u"))return e[0];throw new SyntaxError("Cannot use Unicode code point above \\u{FFFF} without flag u")},{scope:"all",leadChar:"\\"});Z.addToken(/\(\?#[^)]*\)/,z8,{leadChar:"("});Z.addToken(/\s+|#[^\n]*\n?/,z8,{flag:"x"});Hh||Z.addToken(/\./,()=>"[\\s\\S]",{flag:"s",leadChar:"."});Z.addToken(/\\k<([^>]+)>/,function(e){const t=isNaN(e[1])?this.captureNames.indexOf(e[1])+1:+e[1],r=e.index+e[0].length;if(!t||t>this.captureNames.length)throw new SyntaxError(`Backreference to undefined group ${e[0]}`);return`\\${t}${r===e.input.length||isNaN(e.input[r])?"":"(?:)"}`},{leadChar:"\\"});Z.addToken(/\\(\d+)/,function(e,t){if(!(t===ta&&/^[1-9]/.test(e[1])&&+e[1]<=this.captureNames.length)&&e[1]!=="0")throw new SyntaxError(`Cannot use octal escape or backreference to undefined group ${e[0]}`);return e[0]},{scope:"all",leadChar:"\\"});Z.addToken(/\(\?P?<([\p{ID_Start}$_][\p{ID_Continue}$_\u200C\u200D]*)>/u,function(e){if(!Z.isInstalled("namespacing")&&(e[1]==="length"||e[1]==="__proto__"))throw new SyntaxError(`Cannot use reserved word as capture name ${e[0]}`);if(this.captureNames.includes(e[1]))throw new SyntaxError(`Cannot use same name for multiple groups ${e[0]}`);return this.captureNames.push(e[1]),this.hasNamedCapture=!0,"("},{leadChar:"("});Z.addToken(/\((?!\?)/,function(e,t,r){return r.includes("n")?"(?:":(this.captureNames.push(null),"(")},{optionalFlags:"n",leadChar:"("});/*! + */const _t="xregexp",Ws={astral:!1,namespacing:!0},Qn={};let ni={},Go={};const w2=[],ta="default",gy="class",dT={default:/\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|\(\?(?:[:=!]|<[=!])|[?*+]\?|{\d+(?:,\d*)?}\??|[\s\S]/,class:/\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|[\s\S]/},fT=/\$(?:\{([^\}]+)\}|<([^>]+)>|(\d\d?|[\s\S]?))/g,DT=/()??/.exec("")[1]===void 0,hT=/x/.flags!==void 0;function Hi(e){let t=!0;try{if(new RegExp("",e),e==="y"){const r="gy";".a".replace(new RegExp("a",r),".")===".."&&(t=!1)}}catch{t=!1}return t}const mT=Hi("d"),Wh=Hi("s"),W8=Hi("u"),Jh=Hi("y"),J8={d:mT,g:!0,i:!0,m:!0,s:Wh,u:W8,y:Jh},ET=Wh?/[^dgimsuy]+/g:/[^dgimuy]+/g;function z8(e,t,r,n,u){if(e[_t]={captureNames:t},u)return e;if(e.__proto__)e.__proto__=Z.prototype;else for(const s in Z.prototype)e[s]=Z.prototype[s];return e[_t].source=r,e[_t].flags=n&&n.split("").sort().join(""),e}function Bi(e){return e.replace(/([\s\S])(?=[\s\S]*\1)/g,"")}function ro(e,t){if(!Z.isRegExp(e))throw new TypeError("Type RegExp expected");const r=e[_t]||{};let n=yT(e),u="",s="",o=null,a=null;return t=t||{},t.removeG&&(s+="g"),t.removeY&&(s+="y"),s&&(n=n.replace(new RegExp(`[${s}]+`,"g"),"")),t.addG&&(u+="g"),t.addY&&(u+="y"),u&&(n=Bi(n+u)),t.isInternalOnly||(r.source!==void 0&&(o=r.source),r.flags!=null&&(a=u?Bi(r.flags+u):r.flags)),e=z8(new RegExp(t.source||e.source,n),vT(e)?r.captureNames.slice(0):null,o,a,t.isInternalOnly),e}function K8(e){return parseInt(e,16)}function X8(e,t,r){const n=e.index+e[0].length,u=e.input[e.index-1],s=e.input[n];return/^[()|]$/.test(u)||/^[()|]$/.test(s)||e.index===0||n===e.input.length||/\(\?(?:[:=!]|<[=!])$/.test(e.input.substring(e.index-4,e.index))||gT(e.input,n,r)?"":"(?:)"}function yT(e){return hT?e.flags:/\/([a-z]*)$/i.exec(RegExp.prototype.toString.call(e))[1]}function vT(e){return!!(e[_t]&&e[_t].captureNames)}function zh(e){return parseInt(e,10).toString(16)}function gT(e,t,r){const n="\\(\\?#[^)]*\\)",u="#[^#\\n]*",s="[?*+]|{\\d+(?:,\\d*)?}";return(r.includes("x")?new RegExp(`^(?:\\s|${u}|${n})*(?:${s})`):new RegExp(`^(?:${n})*(?:${s})`)).test(e.slice(t))}function Ul(e,t){return Object.prototype.toString.call(e)===`[object ${t}]`}function Ca(e){if(e==null)throw new TypeError("Cannot convert null or undefined to object");return e}function Kh(e){for(;e.length<4;)e=`0${e}`;return e}function AT(e,t){if(Bi(t)!==t)throw new SyntaxError(`Invalid duplicate regex flag ${t}`);e=e.replace(/^\(\?([\w$]+)\)/,(r,n)=>{if(/[dgy]/.test(n))throw new SyntaxError(`Cannot use flags dgy in mode modifier ${r}`);return t=Bi(t+n),""});for(const r of t)if(!J8[r])throw new SyntaxError(`Unknown regex flag ${r}`);return{pattern:e,flags:t}}function Y8(e){const t={};return Ul(e,"String")?(Z.forEach(e,/[^\s,]+/,r=>{t[r]=!0}),t):e}function Ay(e){if(!/^[\w$]$/.test(e))throw new Error("Flag must be a single character A-Za-z0-9_$");J8[e]=!0}function FT(e,t,r,n,u){let s=w2.length;const o=e[r];let a=null,i,c;for(;s--;)if(c=w2[s],!(c.leadChar&&c.leadChar!==o||c.scope!==n&&c.scope!=="all"||c.flag&&!t.includes(c.flag))&&(i=Z.exec(e,c.regex,r,"sticky"),i)){a={matchLength:i[0].length,output:c.handler.call(u,i,n,t),reparse:c.reparse};break}return a}function Z8(e){Ws.astral=e}function Q8(e){Ws.namespacing=e}function Z(e,t){if(Z.isRegExp(e)){if(t!==void 0)throw new TypeError("Cannot supply flags when copying a RegExp");return ro(e)}if(e=e===void 0?"":String(e),t=t===void 0?"":String(t),Z.isInstalled("astral")&&!t.includes("A")&&(t+="A"),Go[e]||(Go[e]={}),!Go[e][t]){const n={hasNamedCapture:!1,captureNames:[]};let u=ta,s="",o=0,a;const i=AT(e,t);let c=i.pattern;const l=i.flags;for(;o{r=r||{};let{optionalFlags:n}=r;if(r.flag&&Ay(r.flag),n){n=n.split("");for(const u of n)Ay(u)}w2.push({regex:ro(e,{addG:!0,addY:Jh,isInternalOnly:!0}),handler:t,scope:r.scope||ta,flag:r.flag,reparse:r.reparse,leadChar:r.leadChar}),Z.cache.flush("patterns")};Z.cache=(e,t)=>(ni[e]||(ni[e]={}),ni[e][t]||(ni[e][t]=Z(e,t)));Z.cache.flush=e=>{e==="patterns"?Go={}:ni={}};Z.escape=e=>String(Ca(e)).replace(/[\\\[\]{}()*+?.^$|]/g,"\\$&").replace(/[\s#\-,]/g,t=>`\\u${Kh(zh(t.charCodeAt(0)))}`);Z.exec=(e,t,r,n)=>{let u="g",s=!1,o=!1,a;s=Jh&&!!(n||t.sticky&&n!==!1),s?u+="y":n&&(o=!0,u+="FakeY"),t[_t]=t[_t]||{};const i=t[_t][u]||(t[_t][u]=ro(t,{addG:!0,addY:s,source:o?`${t.source}|()`:void 0,removeY:n===!1,isInternalOnly:!0}));return r=r||0,i.lastIndex=r,a=Qn.exec.call(i,e),o&&a&&a.pop()===""&&(a=null),t.global&&(t.lastIndex=a?i.lastIndex:0),a};Z.forEach=(e,t,r)=>{let n=0,u=-1,s;for(;s=Z.exec(e,t,n);)r(s,++u,e,t),n=s.index+(s[0].length||1)};Z.globalize=e=>ro(e,{addG:!0});Z.install=e=>{e=Y8(e),!Ws.astral&&e.astral&&Z8(!0),!Ws.namespacing&&e.namespacing&&Q8(!0)};Z.isInstalled=e=>!!Ws[e];Z.isRegExp=e=>Object.prototype.toString.call(e)==="[object RegExp]";Z.match=(e,t,r)=>{const n=t.global&&r!=="one"||r==="all",u=(n?"g":"")+(t.sticky?"y":"")||"noGY";t[_t]=t[_t]||{};const s=t[_t][u]||(t[_t][u]=ro(t,{addG:!!n,removeG:r==="one",isInternalOnly:!0})),o=String(Ca(e)).match(s);return t.global&&(t.lastIndex=r==="one"&&o?o.index+o[0].length:0),n?o||[]:o&&o[0]};Z.matchChain=(e,t)=>function r(n,u){const s=t[u].regex?t[u]:{regex:t[u]},o=[];function a(i){if(s.backref){const c=`Backreference to undefined group: ${s.backref}`,l=isNaN(s.backref);if(l&&Z.isInstalled("namespacing")){if(!(i.groups&&s.backref in i.groups))throw new ReferenceError(c)}else if(!i.hasOwnProperty(s.backref))throw new ReferenceError(c);const p=l&&Z.isInstalled("namespacing")?i.groups[s.backref]:i[s.backref];o.push(p||"")}else o.push(i[0])}for(const i of n)Z.forEach(i,s.regex,a);return u===t.length-1||!o.length?o:r(o,u+1)}([e],0);Z.replace=(e,t,r,n)=>{const u=Z.isRegExp(t),s=t.global&&n!=="one"||n==="all",o=(s?"g":"")+(t.sticky?"y":"")||"noGY";let a=t;u?(t[_t]=t[_t]||{},a=t[_t][o]||(t[_t][o]=ro(t,{addG:!!s,removeG:n==="one",isInternalOnly:!0}))):s&&(a=new RegExp(Z.escape(String(t)),"g"));const i=Qn.replace.call(Ca(e),a,r);return u&&t.global&&(t.lastIndex=0),i};Z.replaceEach=(e,t)=>{for(const r of t)e=Z.replace(e,r[0],r[1],r[2]);return e};Z.split=(e,t,r)=>Qn.split.call(Ca(e),t,r);Z.test=(e,t,r,n)=>!!Z.exec(e,t,r,n);Z.uninstall=e=>{e=Y8(e),Ws.astral&&e.astral&&Z8(!1),Ws.namespacing&&e.namespacing&&Q8(!1)};Z.union=(e,t,r)=>{r=r||{};const n=r.conjunction||"or";let u=0,s,o;function a(p,d,f){const h=o[u-s];if(d){if(++u,h)return`(?<${h}>`}else if(f)return`\\${+f+s}`;return p}if(!(Ul(e,"Array")&&e.length))throw new TypeError("Must provide a nonempty array of patterns to merge");const i=/(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*\]/g,c=[];for(const p of e)Z.isRegExp(p)?(s=u,o=p[_t]&&p[_t].captureNames||[],c.push(Z(p.source).source.replace(i,a))):c.push(Z.escape(p));const l=n==="none"?"":"|";return Z(c.join(l),t)};Qn.exec=function(e){const t=this.lastIndex,r=RegExp.prototype.exec.apply(this,arguments);if(r){if(!DT&&r.length>1&&r.includes("")){const n=ro(this,{removeG:!0,isInternalOnly:!0});String(e).slice(r.index).replace(n,(...u)=>{const s=u.length;for(let o=1;or.index&&(this.lastIndex=r.index)}return this.global||(this.lastIndex=t),r};Qn.test=function(e){return!!Qn.exec.call(this,e)};Qn.match=function(e){if(!Z.isRegExp(e))e=new RegExp(e);else if(e.global){const t=String.prototype.match.apply(this,arguments);return e.lastIndex=0,t}return Qn.exec.call(e,Ca(this))};Qn.replace=function(e,t){const r=Z.isRegExp(e);let n,u,s;return r?(e[_t]&&({captureNames:u}=e[_t]),n=e.lastIndex):e+="",Ul(t,"Function")?s=String(this).replace(e,(...o)=>{if(u){let a;Z.isInstalled("namespacing")?(a=Object.create(null),o.push(a)):(o[0]=new String(o[0]),[a]=o);for(let i=0;i{return String(t).replace(fT,a);function a(i,c,l,p){c=c||l;const d=Ul(o[o.length-1],"Object")?4:3,f=o.length-d;if(c){if(/^\d+$/.test(c)){const y=+c;if(y<=f)return o[y]||""}const h=u?u.indexOf(c):-1;if(h<0)throw new SyntaxError(`Backreference to undefined group ${i}`);return o[h+1]||""}if(p===""||p===" ")throw new SyntaxError(`Invalid token ${i}`);if(p==="&"||+p==0)return o[0];if(p==="$")return"$";if(p==="`")return o[o.length-1].slice(0,o[o.length-2]);if(p==="'")return o[o.length-1].slice(o[o.length-2]+o[0].length);if(p=+p,!isNaN(p)){if(p>f)throw new SyntaxError(`Backreference to undefined group ${i}`);return o[p]||""}throw new SyntaxError(`Invalid token ${i}`)}}),r&&(e.global?e.lastIndex=0:e.lastIndex=n),s};Qn.split=function(e,t){if(!Z.isRegExp(e))return String.prototype.split.apply(this,arguments);const r=String(this),n=[],u=e.lastIndex;let s=0,o;return t=(t===void 0?-1:t)>>>0,Z.forEach(r,e,a=>{a.index+a[0].length>s&&(n.push(r.slice(s,a.index)),a.length>1&&a.indext?n.slice(0,t):n};Z.addToken(/\\([ABCE-RTUVXYZaeg-mopqyz]|c(?![A-Za-z])|u(?![\dA-Fa-f]{4}|{[\dA-Fa-f]+})|x(?![\dA-Fa-f]{2}))/,(e,t)=>{if(e[1]==="B"&&t===ta)return e[0];throw new SyntaxError(`Invalid escape ${e[0]}`)},{scope:"all",leadChar:"\\"});Z.addToken(/\\u{([\dA-Fa-f]+)}/,(e,t,r)=>{const n=K8(e[1]);if(n>1114111)throw new SyntaxError(`Invalid Unicode code point ${e[0]}`);if(n<=65535)return`\\u${Kh(zh(n))}`;if(W8&&r.includes("u"))return e[0];throw new SyntaxError("Cannot use Unicode code point above \\u{FFFF} without flag u")},{scope:"all",leadChar:"\\"});Z.addToken(/\(\?#[^)]*\)/,X8,{leadChar:"("});Z.addToken(/\s+|#[^\n]*\n?/,X8,{flag:"x"});Wh||Z.addToken(/\./,()=>"[\\s\\S]",{flag:"s",leadChar:"."});Z.addToken(/\\k<([^>]+)>/,function(e){const t=isNaN(e[1])?this.captureNames.indexOf(e[1])+1:+e[1],r=e.index+e[0].length;if(!t||t>this.captureNames.length)throw new SyntaxError(`Backreference to undefined group ${e[0]}`);return`\\${t}${r===e.input.length||isNaN(e.input[r])?"":"(?:)"}`},{leadChar:"\\"});Z.addToken(/\\(\d+)/,function(e,t){if(!(t===ta&&/^[1-9]/.test(e[1])&&+e[1]<=this.captureNames.length)&&e[1]!=="0")throw new SyntaxError(`Cannot use octal escape or backreference to undefined group ${e[0]}`);return e[0]},{scope:"all",leadChar:"\\"});Z.addToken(/\(\?P?<([\p{ID_Start}$_][\p{ID_Continue}$_\u200C\u200D]*)>/u,function(e){if(!Z.isInstalled("namespacing")&&(e[1]==="length"||e[1]==="__proto__"))throw new SyntaxError(`Cannot use reserved word as capture name ${e[0]}`);if(this.captureNames.includes(e[1]))throw new SyntaxError(`Cannot use same name for multiple groups ${e[0]}`);return this.captureNames.push(e[1]),this.hasNamedCapture=!0,"("},{leadChar:"("});Z.addToken(/\((?!\?)/,function(e,t,r){return r.includes("n")?"(?:":(this.captureNames.push(null),"(")},{optionalFlags:"n",leadChar:"("});/*! * XRegExp.build 5.1.1 * * Steven Levithan (c) 2012-present MIT License - */const AT=e=>{const t="xregexp",r=/(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*\]/g,n=e.union([/\({{([\w$]+)}}\)|{{([\w$]+)}}/,r],"g",{conjunction:"or"});function u(c){const l=/^(?:\(\?:\))*\^/,p=/\$(?:\(\?:\))*$/;return l.test(c)&&p.test(c)&&p.test(c.replace(/\\[\s\S]/g,""))?c.replace(l,"").replace(p,""):c}function s(c,l){const p=l?"x":"";return e.isRegExp(c)?c[t]&&c[t].captureNames?c:e(c.source,p):e(c,p)}function o(c){return c instanceof RegExp?c:e.escape(c)}function a(c,l,p){return c[`subpattern${p}`]=l,c}function i(c,l,p){const d=l(l,...p)=>{const d=p.map(o).reduce(a,{}),f=l.raw.map(i).join("");return e.build(f,d,c)},e.build=(c,l,p)=>{p=p||"";const d=p.includes("x"),f=/^\(\?([\w$]+)\)/.exec(c);f&&(p=e._clipDuplicates(p+f[1]));const h={};for(const N in l)if(l.hasOwnProperty(N)){const R=s(l[N],d);h[N]={pattern:u(R.source),names:R[t].captureNames||[]}}const y=s(c,d);let A=0,m,v=0;const C=[0],B=y[t].captureNames||[],T=y.source.replace(n,(N,R,J,q,G)=>{const ee=R||J;let K,ue,oe;if(ee){if(!h.hasOwnProperty(ee))throw new ReferenceError(`Undefined property ${N}`);R?(K=B[v],C[++v]=++A,ue=`(?<${K||ee}>`):ue="(?:",m=A;const de=h[ee].pattern.replace(r,(he,fe,ge)=>{if(fe){if(K=h[ee].names[A-m],++A,K)return`(?<${K}>`}else if(ge)return oe=+ge-1,h[ee].names[oe]?`\\k<${h[ee].names[oe]}>`:`\\${+ge+m}`;return he});return`${ue}${de})`}if(q){if(K=B[v],C[++v]=++A,K)return`(?<${K}>`}else if(G)return oe=+G-1,B[oe]?`\\k<${B[oe]}>`:`\\${C[+G]}`;return N});return e(T,p)}};/*! + */const CT=e=>{const t="xregexp",r=/(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*\]/g,n=e.union([/\({{([\w$]+)}}\)|{{([\w$]+)}}/,r],"g",{conjunction:"or"});function u(c){const l=/^(?:\(\?:\))*\^/,p=/\$(?:\(\?:\))*$/;return l.test(c)&&p.test(c)&&p.test(c.replace(/\\[\s\S]/g,""))?c.replace(l,"").replace(p,""):c}function s(c,l){const p=l?"x":"";return e.isRegExp(c)?c[t]&&c[t].captureNames?c:e(c.source,p):e(c,p)}function o(c){return c instanceof RegExp?c:e.escape(c)}function a(c,l,p){return c[`subpattern${p}`]=l,c}function i(c,l,p){const d=l(l,...p)=>{const d=p.map(o).reduce(a,{}),f=l.raw.map(i).join("");return e.build(f,d,c)},e.build=(c,l,p)=>{p=p||"";const d=p.includes("x"),f=/^\(\?([\w$]+)\)/.exec(c);f&&(p=e._clipDuplicates(p+f[1]));const h={};for(const N in l)if(l.hasOwnProperty(N)){const R=s(l[N],d);h[N]={pattern:u(R.source),names:R[t].captureNames||[]}}const y=s(c,d);let A=0,m,v=0;const C=[0],B=y[t].captureNames||[],T=y.source.replace(n,(N,R,J,q,G)=>{const ee=R||J;let K,ue,oe;if(ee){if(!h.hasOwnProperty(ee))throw new ReferenceError(`Undefined property ${N}`);R?(K=B[v],C[++v]=++A,ue=`(?<${K||ee}>`):ue="(?:",m=A;const de=h[ee].pattern.replace(r,(he,fe,ge)=>{if(fe){if(K=h[ee].names[A-m],++A,K)return`(?<${K}>`}else if(ge)return oe=+ge-1,h[ee].names[oe]?`\\k<${h[ee].names[oe]}>`:`\\${+ge+m}`;return he});return`${ue}${de})`}if(q){if(K=B[v],C[++v]=++A,K)return`(?<${K}>`}else if(G)return oe=+G-1,B[oe]?`\\k<${B[oe]}>`:`\\${C[+G]}`;return N});return e(T,p)}};/*! * XRegExp.matchRecursive 5.1.1 * * Steven Levithan (c) 2009-present MIT License - */const FT=e=>{function t(r,n,u,s){return{name:r,value:n,start:u,end:s}}e.matchRecursive=(r,n,u,s,o)=>{s=s||"",o=o||{};const a=s.includes("g"),i=s.includes("y"),c=s.replace(/y/g,"");n=e(n,c),u=e(u,c);let l,{escapeChar:p}=o;if(p){if(p.length>1)throw new Error("Cannot use more than one escape character");p=e.escape(p),l=new RegExp(`(?:${p}[\\S\\s]|(?:(?!${e.union([n,u],"",{conjunction:"or"}).source})[^${p}])+)+`,s.replace(e._hasNativeFlag("s")?/[^imsu]/g:/[^imu]/g,""))}let d=0,f=0,h=0,y=0,A,m,v,C;const B=o.valueNames,T=[];for(;;){if(p&&(h+=(e.exec(r,l,h,"sticky")||[""])[0].length),v=e.exec(r,n,h),C=e.exec(r,u,h),v&&C&&(v.index<=C.index?C=null:v=null),v||C)f=(v||C).index,h=f+(v||C)[0].length;else if(!d)break;if(i&&!d&&f>y)break;if(v)d||(A=f,m=h),d+=1;else if(C&&d){if(d-=1,!d&&(B?(B[0]&&A>y&&T.push(t(B[0],r.slice(y,A),y,A)),B[1]&&T.push(t(B[1],r.slice(A,m),A,m)),B[2]&&T.push(t(B[2],r.slice(m,f),m,f)),B[3]&&T.push(t(B[3],r.slice(f,h),f,h))):T.push(r.slice(m,f)),y=h,!a))break}else{const N=o.unbalanced||"error";if(N==="skip"||N==="skip-lazy")if(C)C=null;else{if(N==="skip"){const R=e.exec(r,n,A,"sticky")[0].length;h=A+(R||1)}else h=A+1;d=0}else if(N==="error"){const R=C?"right":"left",J=C?f:A;throw new Error(`Unbalanced ${R} delimiter found in string at position ${J}`)}else throw new Error(`Unsupported value for unbalanced: ${N}`)}f===h&&(h+=1)}return a&&T.length>0&&!i&&B&&B[0]&&r.length>y&&T.push(t(B[0],r.slice(y),y,r.length)),T}};/*! + */const bT=e=>{function t(r,n,u,s){return{name:r,value:n,start:u,end:s}}e.matchRecursive=(r,n,u,s,o)=>{s=s||"",o=o||{};const a=s.includes("g"),i=s.includes("y"),c=s.replace(/y/g,"");n=e(n,c),u=e(u,c);let l,{escapeChar:p}=o;if(p){if(p.length>1)throw new Error("Cannot use more than one escape character");p=e.escape(p),l=new RegExp(`(?:${p}[\\S\\s]|(?:(?!${e.union([n,u],"",{conjunction:"or"}).source})[^${p}])+)+`,s.replace(e._hasNativeFlag("s")?/[^imsu]/g:/[^imu]/g,""))}let d=0,f=0,h=0,y=0,A,m,v,C;const B=o.valueNames,T=[];for(;;){if(p&&(h+=(e.exec(r,l,h,"sticky")||[""])[0].length),v=e.exec(r,n,h),C=e.exec(r,u,h),v&&C&&(v.index<=C.index?C=null:v=null),v||C)f=(v||C).index,h=f+(v||C)[0].length;else if(!d)break;if(i&&!d&&f>y)break;if(v)d||(A=f,m=h),d+=1;else if(C&&d){if(d-=1,!d&&(B?(B[0]&&A>y&&T.push(t(B[0],r.slice(y,A),y,A)),B[1]&&T.push(t(B[1],r.slice(A,m),A,m)),B[2]&&T.push(t(B[2],r.slice(m,f),m,f)),B[3]&&T.push(t(B[3],r.slice(f,h),f,h))):T.push(r.slice(m,f)),y=h,!a))break}else{const N=o.unbalanced||"error";if(N==="skip"||N==="skip-lazy")if(C)C=null;else{if(N==="skip"){const R=e.exec(r,n,A,"sticky")[0].length;h=A+(R||1)}else h=A+1;d=0}else if(N==="error"){const R=C?"right":"left",J=C?f:A;throw new Error(`Unbalanced ${R} delimiter found in string at position ${J}`)}else throw new Error(`Unsupported value for unbalanced: ${N}`)}f===h&&(h+=1)}return a&&T.length>0&&!i&&B&&B[0]&&r.length>y&&T.push(t(B[0],r.slice(y),y,r.length)),T}};/*! * XRegExp Unicode Base 5.1.1 * * Steven Levithan (c) 2008-present MIT License - */const CT=e=>{const t={},r={},n=e._dec,u=e._hex,s=e._pad4;function o(d){return d.replace(/[- _]+/g,"").toLowerCase()}function a(d){const f=/^\\[xu](.+)/.exec(d);return f?n(f[1]):d.charCodeAt(d[0]==="\\"?1:0)}function i(d){let f="",h=-1;return e.forEach(d,/(\\x..|\\u....|\\?[\s\S])(?:-(\\x..|\\u....|\\?[\s\S]))?/,y=>{const A=a(y[1]);A>h+1&&(f+=`\\u${s(u(h+1))}`,A>h+2&&(f+=`-\\u${s(u(A-1))}`)),h=a(y[2]||y[1])}),h<65535&&(f+=`\\u${s(u(h+1))}`,h<65534&&(f+="-\\uFFFF")),f}function c(d){const f="b!";return t[d][f]||(t[d][f]=i(t[d].bmp))}function l(d,f){const h=t[d];let y="";return h.bmp&&!h.isBmpLast&&(y=`[${h.bmp}]${h.astral?"|":""}`),h.astral&&(y+=h.astral),h.isBmpLast&&h.bmp&&(y+=`${h.astral?"|":""}[${h.bmp}]`),f?`(?:(?!${y})(?:[\uD800-\uDBFF][\uDC00-\uDFFF]|[\0-￿]))`:`(?:${y})`}function p(d,f){const h=f?"a!":"a=";return t[d][h]||(t[d][h]=l(d,f))}e.addToken(/\\([pP])(?:{(\^?)(?:(\w+)=)?([^}]*)}|([A-Za-z]))/,(d,f,h)=>{const y="Invalid double negation ",A="Unknown Unicode token ",m="Unicode token missing data ",v="Astral mode required for Unicode token ",C="Astral mode does not support Unicode tokens within character classes",[B,T,N,R,J,q]=d;let G=T==="P"||!!N;const ee=h.includes("A");let K=o(q||J),ue=t[K];if(T==="P"&&N)throw new SyntaxError(y+B);if(!t.hasOwnProperty(K))throw new SyntaxError(A+B);if(R&&!(r[R]&&r[R][K]))throw new SyntaxError(A+B);if(ue.inverseOf){if(K=o(ue.inverseOf),!t.hasOwnProperty(K))throw new ReferenceError(`${m+B} -> ${ue.inverseOf}`);ue=t[K],G=!G}if(!(ue.bmp||ee))throw new SyntaxError(v+B);if(ee){if(f==="class")throw new SyntaxError(C);return p(K,G)}return f==="class"?G?c(K):ue.bmp:`${(G?"[^":"[")+ue.bmp}]`},{scope:"all",optionalFlags:"A",leadChar:"\\"}),e.addUnicodeData=(d,f)=>{const h="Unicode token requires name",y="Unicode token has no character data ";f&&(r[f]={});for(const A of d){if(!A.name)throw new Error(h);if(!(A.inverseOf||A.bmp||A.astral))throw new Error(y+A.name);const m=o(A.name);if(t[m]=A,f&&(r[f][m]=!0),A.alias){const v=o(A.alias);t[v]=A,f&&(r[f][v]=!0)}}e.cache.flush("patterns")},e._getUnicodeProperty=d=>{const f=o(d);return t[f]}};var Vs=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Z8(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function bT(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function n(){if(this instanceof n){var u=[null];u.push.apply(u,arguments);var s=Function.bind.apply(t,u);return new s}return t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(n){var u=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,u.get?u:{enumerable:!0,get:function(){return e[n]}})}),r}var ST=[{name:"C",alias:"Other",isBmpLast:!0,bmp:"\0--Ÿ­͸͹΀-΃΋΍΢԰՗՘֋֌֐׈-׏׫-׮׵-؅؜۝܎܏݋݌޲-޿߻߼࠮࠯࠿࡜࡝࡟࡫-࡯࢏-ࢗ࣢঄঍঎঑঒঩঱঳-঵঺঻৅৆৉৊৏-৖৘-৛৞৤৥৿਀਄਋-਎਑਒਩਱਴਷਺਻਽੃-੆੉੊੎-੐੒-੘੝੟-੥੷-઀઄઎઒઩઱઴઺઻૆૊૎૏૑-૟૤૥૲-૸଀଄଍଎଑଒଩଱଴଺଻୅୆୉୊୎-୔୘-୛୞୤୥୸-஁஄஋-஍஑஖-஘஛஝஠-஢஥-஧஫-஭஺-஽௃-௅௉௎௏௑-௖௘-௥௻-௿఍఑఩఺఻౅౉౎-౔౗౛౜౞౟౤౥౰-౶಍಑಩಴಺಻೅೉೎-೔೗-೜೟೤೥೰ೳ-೿഍഑൅൉൐-൓൤൥඀඄඗-඙඲඼඾඿෇-෉෋-෎෕෗෠-෥෰෱෵-฀฻-฾๜-຀຃຅຋຤຦຾຿໅໇໎໏໚໛໠-໿཈཭-཰྘྽࿍࿛-࿿჆჈-჌჎჏቉቎቏቗቙቞቟኉኎኏኱኶኷኿዁዆዇዗጑጖጗፛፜፽-፿᎚-᎟᏶᏷᏾᏿᚝-᚟᛹-᛿᜖-᜞᜷-᜿᝔-᝟᝭᝱᝴-᝿៞៟៪-៯៺-៿᠎᠚-᠟᡹-᡿᢫-᢯᣶-᣿᤟᤬-᤯᤼-᤿᥁-᥃᥮᥯᥵-᥿᦬-᦯᧊-᧏᧛-᧝᨜᨝᩟᩽᩾᪊-᪏᪚-᪟᪮᪯᫏-᫿᭍-᭏᭿᯴-᯻᰸-᰺᱊-᱌Ᲊ-᲏᲻᲼᳈-᳏᳻-᳿἖἗἞἟὆὇὎὏὘὚὜὞὾὿᾵῅῔῕῜῰῱῵῿​-‏‪-‮⁠-⁲⁳₏₝-₟⃁-⃏⃱-⃿↌-↏␧-␿⑋-⑟⭴⭵⮖⳴-⳸⴦⴨-⴬⴮⴯⵨-⵮⵱-⵾⶗-⶟⶧⶯⶷⶿⷇⷏⷗⷟⹞-⹿⺚⻴-⻿⿖-⿯⿼-⿿぀゗゘㄀-㄄㄰㆏㇤-㇯㈟꒍-꒏꓇-꓏꘬-꘿꛸-꛿Ɤ-꟏꟒꟔Ꟛ-꟱꠭-꠯꠺-꠿꡸-꡿꣆-꣍꣚-꣟꥔-꥞꥽-꥿꧎꧚-꧝꧿꨷-꨿꩎꩏꩚꩛꫃-꫚꫷-꬀꬇꬈꬏꬐꬗-꬟꬧꬯꭬-꭯꯮꯯꯺-꯿힤-힯퟇-퟊퟼-﩮﩯﫚-﫿﬇-﬒﬘-﬜﬷﬽﬿﭂﭅﯃-﯒﶐﶑﷈-﷎﷐-﷯︚-︟﹓﹧﹬-﹯﹵﻽-＀﾿-￁￈￉￐￑￘￙￝-￟￧￯-￾￿",astral:"\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDCFF\uDD03-\uDD06\uDD34-\uDD36\uDD8F\uDD9D-\uDD9F\uDDA1-\uDDCF\uDDFE-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEDF\uDEFC-\uDEFF\uDF24-\uDF2C\uDF4B-\uDF4F\uDF7B-\uDF7F\uDF9E\uDFC4-\uDFC7\uDFD6-\uDFFF]|\uD801[\uDC9E\uDC9F\uDCAA-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDD6E\uDD7B\uDD8B\uDD93\uDD96\uDDA2\uDDB2\uDDBA\uDDBD-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDF7F\uDF86\uDFB1\uDFBB-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56\uDC9F-\uDCA6\uDCB0-\uDCDF\uDCF3\uDCF6-\uDCFA\uDD1C-\uDD1E\uDD3A-\uDD3E\uDD40-\uDD7F\uDDB8-\uDDBB\uDDD0\uDDD1\uDE04\uDE07-\uDE0B\uDE14\uDE18\uDE36\uDE37\uDE3B-\uDE3E\uDE49-\uDE4F\uDE59-\uDE5F\uDEA0-\uDEBF\uDEE7-\uDEEA\uDEF7-\uDEFF\uDF36-\uDF38\uDF56\uDF57\uDF73-\uDF77\uDF92-\uDF98\uDF9D-\uDFA8\uDFB0-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCF9\uDD28-\uDD2F\uDD3A-\uDE5F\uDE7F\uDEAA\uDEAE\uDEAF\uDEB2-\uDEFF\uDF28-\uDF2F\uDF5A-\uDF6F\uDF8A-\uDFAF\uDFCC-\uDFDF\uDFF7-\uDFFF]|\uD804[\uDC4E-\uDC51\uDC76-\uDC7E\uDCBD\uDCC3-\uDCCF\uDCE9-\uDCEF\uDCFA-\uDCFF\uDD35\uDD48-\uDD4F\uDD77-\uDD7F\uDDE0\uDDF5-\uDDFF\uDE12\uDE3F-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEAA-\uDEAF\uDEEB-\uDEEF\uDEFA-\uDEFF\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A\uDF45\uDF46\uDF49\uDF4A\uDF4E\uDF4F\uDF51-\uDF56\uDF58-\uDF5C\uDF64\uDF65\uDF6D-\uDF6F\uDF75-\uDFFF]|\uD805[\uDC5C\uDC62-\uDC7F\uDCC8-\uDCCF\uDCDA-\uDD7F\uDDB6\uDDB7\uDDDE-\uDDFF\uDE45-\uDE4F\uDE5A-\uDE5F\uDE6D-\uDE7F\uDEBA-\uDEBF\uDECA-\uDEFF\uDF1B\uDF1C\uDF2C-\uDF2F\uDF47-\uDFFF]|\uD806[\uDC3C-\uDC9F\uDCF3-\uDCFE\uDD07\uDD08\uDD0A\uDD0B\uDD14\uDD17\uDD36\uDD39\uDD3A\uDD47-\uDD4F\uDD5A-\uDD9F\uDDA8\uDDA9\uDDD8\uDDD9\uDDE5-\uDDFF\uDE48-\uDE4F\uDEA3-\uDEAF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC37\uDC46-\uDC4F\uDC6D-\uDC6F\uDC90\uDC91\uDCA8\uDCB7-\uDCFF\uDD07\uDD0A\uDD37-\uDD39\uDD3B\uDD3E\uDD48-\uDD4F\uDD5A-\uDD5F\uDD66\uDD69\uDD8F\uDD92\uDD99-\uDD9F\uDDAA-\uDEDF\uDEF9-\uDFAF\uDFB1-\uDFBF\uDFF2-\uDFFE]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC6F\uDC75-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80E-\uD810\uD812-\uD819\uD824-\uD82A\uD82D\uD82E\uD830-\uD832\uD83F\uD87B-\uD87D\uD87F\uD885-\uDB3F\uDB41-\uDBFF][\uDC00-\uDFFF]|\uD80B[\uDC00-\uDF8F\uDFF3-\uDFFF]|\uD80D[\uDC2F-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F\uDE6A-\uDE6D\uDEBF\uDECA-\uDECF\uDEEE\uDEEF\uDEF6-\uDEFF\uDF46-\uDF4F\uDF5A\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDE3F\uDE9B-\uDEFF\uDF4B-\uDF4E\uDF88-\uDF8E\uDFA0-\uDFDF\uDFE5-\uDFEF\uDFF2-\uDFFF]|\uD821[\uDFF8-\uDFFF]|\uD823[\uDCD6-\uDCFF\uDD09-\uDFFF]|\uD82B[\uDC00-\uDFEF\uDFF4\uDFFC\uDFFF]|\uD82C[\uDD23-\uDD4F\uDD53-\uDD63\uDD68-\uDD6F\uDEFC-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A\uDC9B\uDCA0-\uDFFF]|\uD833[\uDC00-\uDEFF\uDF2E\uDF2F\uDF47-\uDF4F\uDFC4-\uDFFF]|\uD834[\uDCF6-\uDCFF\uDD27\uDD28\uDD73-\uDD7A\uDDEB-\uDDFF\uDE46-\uDEDF\uDEF4-\uDEFF\uDF57-\uDF5F\uDF79-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDFCC\uDFCD]|\uD836[\uDE8C-\uDE9A\uDEA0\uDEB0-\uDFFF]|\uD837[\uDC00-\uDEFF\uDF1F-\uDFFF]|\uD838[\uDC07\uDC19\uDC1A\uDC22\uDC25\uDC2B-\uDCFF\uDD2D-\uDD2F\uDD3E\uDD3F\uDD4A-\uDD4D\uDD50-\uDE8F\uDEAF-\uDEBF\uDEFA-\uDEFE\uDF00-\uDFFF]|\uD839[\uDC00-\uDFDF\uDFE7\uDFEC\uDFEF\uDFFF]|\uD83A[\uDCC5\uDCC6\uDCD7-\uDCFF\uDD4C-\uDD4F\uDD5A-\uDD5D\uDD60-\uDFFF]|\uD83B[\uDC00-\uDC70\uDCB5-\uDD00\uDD3E-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDEEF\uDEF2-\uDFFF]|\uD83C[\uDC2C-\uDC2F\uDC94-\uDC9F\uDCAF\uDCB0\uDCC0\uDCD0\uDCF6-\uDCFF\uDDAE-\uDDE5\uDE03-\uDE0F\uDE3C-\uDE3F\uDE49-\uDE4F\uDE52-\uDE5F\uDE66-\uDEFF]|\uD83D[\uDED8-\uDEDC\uDEED-\uDEEF\uDEFD-\uDEFF\uDF74-\uDF7F\uDFD9-\uDFDF\uDFEC-\uDFEF\uDFF1-\uDFFF]|\uD83E[\uDC0C-\uDC0F\uDC48-\uDC4F\uDC5A-\uDC5F\uDC88-\uDC8F\uDCAE\uDCAF\uDCB2-\uDCFF\uDE54-\uDE5F\uDE6E\uDE6F\uDE75-\uDE77\uDE7D-\uDE7F\uDE87-\uDE8F\uDEAD-\uDEAF\uDEBB-\uDEBF\uDEC6-\uDECF\uDEDA-\uDEDF\uDEE8-\uDEEF\uDEF7-\uDEFF\uDF93\uDFCB-\uDFEF\uDFFA-\uDFFF]|\uD869[\uDEE0-\uDEFF]|\uD86D[\uDF39-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDEAF]|\uD87A[\uDFE1-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uD884[\uDF4B-\uDFFF]|\uDB40[\uDC00-\uDCFF\uDDF0-\uDFFF]"},{name:"Cc",alias:"Control",bmp:"\0--Ÿ"},{name:"Cf",alias:"Format",bmp:"­؀-؅؜۝܏࢐࢑࣢᠎​-‏‪-‮⁠-⁤⁦-\uFEFF-",astral:"\uD804[\uDCBD\uDCCD]|\uD80D[\uDC30-\uDC38]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]"},{name:"Cn",alias:"Unassigned",bmp:"͸͹΀-΃΋΍΢԰՗՘֋֌֐׈-׏׫-׮׵-׿܎݋݌޲-޿߻߼࠮࠯࠿࡜࡝࡟࡫-࡯࢏࢒-ࢗ঄঍঎঑঒঩঱঳-঵঺঻৅৆৉৊৏-৖৘-৛৞৤৥৿਀਄਋-਎਑਒਩਱਴਷਺਻਽੃-੆੉੊੎-੐੒-੘੝੟-੥੷-઀઄઎઒઩઱઴઺઻૆૊૎૏૑-૟૤૥૲-૸଀଄଍଎଑଒଩଱଴଺଻୅୆୉୊୎-୔୘-୛୞୤୥୸-஁஄஋-஍஑஖-஘஛஝஠-஢஥-஧஫-஭஺-஽௃-௅௉௎௏௑-௖௘-௥௻-௿఍఑఩఺఻౅౉౎-౔౗౛౜౞౟౤౥౰-౶಍಑಩಴಺಻೅೉೎-೔೗-೜೟೤೥೰ೳ-೿഍഑൅൉൐-൓൤൥඀඄඗-඙඲඼඾඿෇-෉෋-෎෕෗෠-෥෰෱෵-฀฻-฾๜-຀຃຅຋຤຦຾຿໅໇໎໏໚໛໠-໿཈཭-཰྘྽࿍࿛-࿿჆჈-჌჎჏቉቎቏቗቙቞቟኉኎኏኱኶኷኿዁዆዇዗጑጖጗፛፜፽-፿᎚-᎟᏶᏷᏾᏿᚝-᚟᛹-᛿᜖-᜞᜷-᜿᝔-᝟᝭᝱᝴-᝿៞៟៪-៯៺-៿᠚-᠟᡹-᡿᢫-᢯᣶-᣿᤟᤬-᤯᤼-᤿᥁-᥃᥮᥯᥵-᥿᦬-᦯᧊-᧏᧛-᧝᨜᨝᩟᩽᩾᪊-᪏᪚-᪟᪮᪯᫏-᫿᭍-᭏᭿᯴-᯻᰸-᰺᱊-᱌Ᲊ-᲏᲻᲼᳈-᳏᳻-᳿἖἗἞἟὆὇὎὏὘὚὜὞὾὿᾵῅῔῕῜῰῱῵῿⁥⁲⁳₏₝-₟⃁-⃏⃱-⃿↌-↏␧-␿⑋-⑟⭴⭵⮖⳴-⳸⴦⴨-⴬⴮⴯⵨-⵮⵱-⵾⶗-⶟⶧⶯⶷⶿⷇⷏⷗⷟⹞-⹿⺚⻴-⻿⿖-⿯⿼-⿿぀゗゘㄀-㄄㄰㆏㇤-㇯㈟꒍-꒏꓇-꓏꘬-꘿꛸-꛿Ɤ-꟏꟒꟔Ꟛ-꟱꠭-꠯꠺-꠿꡸-꡿꣆-꣍꣚-꣟꥔-꥞꥽-꥿꧎꧚-꧝꧿꨷-꨿꩎꩏꩚꩛꫃-꫚꫷-꬀꬇꬈꬏꬐꬗-꬟꬧꬯꭬-꭯꯮꯯꯺-꯿힤-힯퟇-퟊퟼-퟿﩮﩯﫚-﫿﬇-﬒﬘-﬜﬷﬽﬿﭂﭅﯃-﯒﶐﶑﷈-﷎﷐-﷯︚-︟﹓﹧﹬-﹯﹵﻽﻾＀﾿-￁￈￉￐￑￘￙￝-￟￧￯-￸￾￿",astral:"\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDCFF\uDD03-\uDD06\uDD34-\uDD36\uDD8F\uDD9D-\uDD9F\uDDA1-\uDDCF\uDDFE-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEDF\uDEFC-\uDEFF\uDF24-\uDF2C\uDF4B-\uDF4F\uDF7B-\uDF7F\uDF9E\uDFC4-\uDFC7\uDFD6-\uDFFF]|\uD801[\uDC9E\uDC9F\uDCAA-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDD6E\uDD7B\uDD8B\uDD93\uDD96\uDDA2\uDDB2\uDDBA\uDDBD-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDF7F\uDF86\uDFB1\uDFBB-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56\uDC9F-\uDCA6\uDCB0-\uDCDF\uDCF3\uDCF6-\uDCFA\uDD1C-\uDD1E\uDD3A-\uDD3E\uDD40-\uDD7F\uDDB8-\uDDBB\uDDD0\uDDD1\uDE04\uDE07-\uDE0B\uDE14\uDE18\uDE36\uDE37\uDE3B-\uDE3E\uDE49-\uDE4F\uDE59-\uDE5F\uDEA0-\uDEBF\uDEE7-\uDEEA\uDEF7-\uDEFF\uDF36-\uDF38\uDF56\uDF57\uDF73-\uDF77\uDF92-\uDF98\uDF9D-\uDFA8\uDFB0-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCF9\uDD28-\uDD2F\uDD3A-\uDE5F\uDE7F\uDEAA\uDEAE\uDEAF\uDEB2-\uDEFF\uDF28-\uDF2F\uDF5A-\uDF6F\uDF8A-\uDFAF\uDFCC-\uDFDF\uDFF7-\uDFFF]|\uD804[\uDC4E-\uDC51\uDC76-\uDC7E\uDCC3-\uDCCC\uDCCE\uDCCF\uDCE9-\uDCEF\uDCFA-\uDCFF\uDD35\uDD48-\uDD4F\uDD77-\uDD7F\uDDE0\uDDF5-\uDDFF\uDE12\uDE3F-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEAA-\uDEAF\uDEEB-\uDEEF\uDEFA-\uDEFF\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A\uDF45\uDF46\uDF49\uDF4A\uDF4E\uDF4F\uDF51-\uDF56\uDF58-\uDF5C\uDF64\uDF65\uDF6D-\uDF6F\uDF75-\uDFFF]|\uD805[\uDC5C\uDC62-\uDC7F\uDCC8-\uDCCF\uDCDA-\uDD7F\uDDB6\uDDB7\uDDDE-\uDDFF\uDE45-\uDE4F\uDE5A-\uDE5F\uDE6D-\uDE7F\uDEBA-\uDEBF\uDECA-\uDEFF\uDF1B\uDF1C\uDF2C-\uDF2F\uDF47-\uDFFF]|\uD806[\uDC3C-\uDC9F\uDCF3-\uDCFE\uDD07\uDD08\uDD0A\uDD0B\uDD14\uDD17\uDD36\uDD39\uDD3A\uDD47-\uDD4F\uDD5A-\uDD9F\uDDA8\uDDA9\uDDD8\uDDD9\uDDE5-\uDDFF\uDE48-\uDE4F\uDEA3-\uDEAF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC37\uDC46-\uDC4F\uDC6D-\uDC6F\uDC90\uDC91\uDCA8\uDCB7-\uDCFF\uDD07\uDD0A\uDD37-\uDD39\uDD3B\uDD3E\uDD48-\uDD4F\uDD5A-\uDD5F\uDD66\uDD69\uDD8F\uDD92\uDD99-\uDD9F\uDDAA-\uDEDF\uDEF9-\uDFAF\uDFB1-\uDFBF\uDFF2-\uDFFE]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC6F\uDC75-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80E-\uD810\uD812-\uD819\uD824-\uD82A\uD82D\uD82E\uD830-\uD832\uD83F\uD87B-\uD87D\uD87F\uD885-\uDB3F\uDB41-\uDB7F][\uDC00-\uDFFF]|\uD80B[\uDC00-\uDF8F\uDFF3-\uDFFF]|\uD80D[\uDC2F\uDC39-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F\uDE6A-\uDE6D\uDEBF\uDECA-\uDECF\uDEEE\uDEEF\uDEF6-\uDEFF\uDF46-\uDF4F\uDF5A\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDE3F\uDE9B-\uDEFF\uDF4B-\uDF4E\uDF88-\uDF8E\uDFA0-\uDFDF\uDFE5-\uDFEF\uDFF2-\uDFFF]|\uD821[\uDFF8-\uDFFF]|\uD823[\uDCD6-\uDCFF\uDD09-\uDFFF]|\uD82B[\uDC00-\uDFEF\uDFF4\uDFFC\uDFFF]|\uD82C[\uDD23-\uDD4F\uDD53-\uDD63\uDD68-\uDD6F\uDEFC-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A\uDC9B\uDCA4-\uDFFF]|\uD833[\uDC00-\uDEFF\uDF2E\uDF2F\uDF47-\uDF4F\uDFC4-\uDFFF]|\uD834[\uDCF6-\uDCFF\uDD27\uDD28\uDDEB-\uDDFF\uDE46-\uDEDF\uDEF4-\uDEFF\uDF57-\uDF5F\uDF79-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDFCC\uDFCD]|\uD836[\uDE8C-\uDE9A\uDEA0\uDEB0-\uDFFF]|\uD837[\uDC00-\uDEFF\uDF1F-\uDFFF]|\uD838[\uDC07\uDC19\uDC1A\uDC22\uDC25\uDC2B-\uDCFF\uDD2D-\uDD2F\uDD3E\uDD3F\uDD4A-\uDD4D\uDD50-\uDE8F\uDEAF-\uDEBF\uDEFA-\uDEFE\uDF00-\uDFFF]|\uD839[\uDC00-\uDFDF\uDFE7\uDFEC\uDFEF\uDFFF]|\uD83A[\uDCC5\uDCC6\uDCD7-\uDCFF\uDD4C-\uDD4F\uDD5A-\uDD5D\uDD60-\uDFFF]|\uD83B[\uDC00-\uDC70\uDCB5-\uDD00\uDD3E-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDEEF\uDEF2-\uDFFF]|\uD83C[\uDC2C-\uDC2F\uDC94-\uDC9F\uDCAF\uDCB0\uDCC0\uDCD0\uDCF6-\uDCFF\uDDAE-\uDDE5\uDE03-\uDE0F\uDE3C-\uDE3F\uDE49-\uDE4F\uDE52-\uDE5F\uDE66-\uDEFF]|\uD83D[\uDED8-\uDEDC\uDEED-\uDEEF\uDEFD-\uDEFF\uDF74-\uDF7F\uDFD9-\uDFDF\uDFEC-\uDFEF\uDFF1-\uDFFF]|\uD83E[\uDC0C-\uDC0F\uDC48-\uDC4F\uDC5A-\uDC5F\uDC88-\uDC8F\uDCAE\uDCAF\uDCB2-\uDCFF\uDE54-\uDE5F\uDE6E\uDE6F\uDE75-\uDE77\uDE7D-\uDE7F\uDE87-\uDE8F\uDEAD-\uDEAF\uDEBB-\uDEBF\uDEC6-\uDECF\uDEDA-\uDEDF\uDEE8-\uDEEF\uDEF7-\uDEFF\uDF93\uDFCB-\uDFEF\uDFFA-\uDFFF]|\uD869[\uDEE0-\uDEFF]|\uD86D[\uDF39-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDEAF]|\uD87A[\uDFE1-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uD884[\uDF4B-\uDFFF]|\uDB40[\uDC00\uDC02-\uDC1F\uDC80-\uDCFF\uDDF0-\uDFFF]|[\uDBBF\uDBFF][\uDFFE\uDFFF]"},{name:"Co",alias:"Private_Use",bmp:"-",astral:"[\uDB80-\uDBBE\uDBC0-\uDBFE][\uDC00-\uDFFF]|[\uDBBF\uDBFF][\uDC00-\uDFFD]"},{name:"Cs",alias:"Surrogate",bmp:"\uD800-\uDFFF"},{name:"L",alias:"Letter",bmp:"A-Za-zªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛱ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢄᢇ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎↃↄⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々〆〱-〵〻〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛥꜗ-ꜟꜢ-ꞈꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",astral:"\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A]"},{name:"LC",alias:"Cased_Letter",bmp:"A-Za-zµÀ-ÖØ-öø-ƺƼ-ƿDŽ-ʓʕ-ʯͰ-ͳͶͷͻ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՠ-ֈႠ-ჅჇჍა-ჺჽ-ჿᎠ-Ᏽᏸ-ᏽᲀ-ᲈᲐ-ᲺᲽ-Ჿᴀ-ᴫᵫ-ᵷᵹ-ᶚḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℴℹℼ-ℿⅅ-ⅉⅎↃↄⰀ-ⱻⱾ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭꙀ-ꙭꚀ-ꚛꜢ-ꝯꝱ-ꞇꞋ-ꞎꞐ-ꟊꟐꟑꟓꟕ-ꟙꟵꟶꟺꬰ-ꭚꭠ-ꭨꭰ-ꮿff-stﬓ-ﬗA-Za-z",astral:"\uD801[\uDC00-\uDC4F\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC]|\uD803[\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD806[\uDCA0-\uDCDF]|\uD81B[\uDE40-\uDE7F]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF09\uDF0B-\uDF1E]|\uD83A[\uDD00-\uDD43]"},{name:"Ll",alias:"Lowercase_Letter",bmp:"a-zµß-öø-ÿāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįıijĵķĸĺļľŀłńņňʼnŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷźżž-ƀƃƅƈƌƍƒƕƙ-ƛƞơƣƥƨƪƫƭưƴƶƹƺƽ-ƿdžljnjǎǐǒǔǖǘǚǜǝǟǡǣǥǧǩǫǭǯǰdzǵǹǻǽǿȁȃȅȇȉȋȍȏȑȓȕȗșțȝȟȡȣȥȧȩȫȭȯȱȳ-ȹȼȿɀɂɇɉɋɍɏ-ʓʕ-ʯͱͳͷͻ-ͽΐά-ώϐϑϕ-ϗϙϛϝϟϡϣϥϧϩϫϭϯ-ϳϵϸϻϼа-џѡѣѥѧѩѫѭѯѱѳѵѷѹѻѽѿҁҋҍҏґғҕҗҙқҝҟҡңҥҧҩҫҭүұҳҵҷҹһҽҿӂӄӆӈӊӌӎӏӑӓӕӗәӛӝӟӡӣӥӧөӫӭӯӱӳӵӷӹӻӽӿԁԃԅԇԉԋԍԏԑԓԕԗԙԛԝԟԡԣԥԧԩԫԭԯՠ-ֈა-ჺჽ-ჿᏸ-ᏽᲀ-ᲈᴀ-ᴫᵫ-ᵷᵹ-ᶚḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕ-ẝẟạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹỻỽỿ-ἇἐ-ἕἠ-ἧἰ-ἷὀ-ὅὐ-ὗὠ-ὧὰ-ώᾀ-ᾇᾐ-ᾗᾠ-ᾧᾰ-ᾴᾶᾷιῂ-ῄῆῇῐ-ΐῖῗῠ-ῧῲ-ῴῶῷℊℎℏℓℯℴℹℼℽⅆ-ⅉⅎↄⰰ-ⱟⱡⱥⱦⱨⱪⱬⱱⱳⱴⱶ-ⱻⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣⳤⳬⳮⳳⴀ-ⴥⴧⴭꙁꙃꙅꙇꙉꙋꙍꙏꙑꙓꙕꙗꙙꙛꙝꙟꙡꙣꙥꙧꙩꙫꙭꚁꚃꚅꚇꚉꚋꚍꚏꚑꚓꚕꚗꚙꚛꜣꜥꜧꜩꜫꜭꜯ-ꜱꜳꜵꜷꜹꜻꜽꜿꝁꝃꝅꝇꝉꝋꝍꝏꝑꝓꝕꝗꝙꝛꝝꝟꝡꝣꝥꝧꝩꝫꝭꝯꝱ-ꝸꝺꝼꝿꞁꞃꞅꞇꞌꞎꞑꞓ-ꞕꞗꞙꞛꞝꞟꞡꞣꞥꞧꞩꞯꞵꞷꞹꞻꞽꞿꟁꟃꟈꟊꟑꟓꟕꟗꟙꟶꟺꬰ-ꭚꭠ-ꭨꭰ-ꮿff-stﬓ-ﬗa-z",astral:"\uD801[\uDC28-\uDC4F\uDCD8-\uDCFB\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC]|\uD803[\uDCC0-\uDCF2]|\uD806[\uDCC0-\uDCDF]|\uD81B[\uDE60-\uDE7F]|\uD835[\uDC1A-\uDC33\uDC4E-\uDC54\uDC56-\uDC67\uDC82-\uDC9B\uDCB6-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDCEA-\uDD03\uDD1E-\uDD37\uDD52-\uDD6B\uDD86-\uDD9F\uDDBA-\uDDD3\uDDEE-\uDE07\uDE22-\uDE3B\uDE56-\uDE6F\uDE8A-\uDEA5\uDEC2-\uDEDA\uDEDC-\uDEE1\uDEFC-\uDF14\uDF16-\uDF1B\uDF36-\uDF4E\uDF50-\uDF55\uDF70-\uDF88\uDF8A-\uDF8F\uDFAA-\uDFC2\uDFC4-\uDFC9\uDFCB]|\uD837[\uDF00-\uDF09\uDF0B-\uDF1E]|\uD83A[\uDD22-\uDD43]"},{name:"Lm",alias:"Modifier_Letter",bmp:"ʰ-ˁˆ-ˑˠ-ˤˬˮʹͺՙـۥۦߴߵߺࠚࠤࠨࣉॱๆໆჼៗᡃᪧᱸ-ᱽᴬ-ᵪᵸᶛ-ᶿⁱⁿₐ-ₜⱼⱽⵯⸯ々〱-〵〻ゝゞー-ヾꀕꓸ-ꓽꘌꙿꚜꚝꜗ-ꜟꝰꞈꟲ-ꟴꟸꟹꧏꧦꩰꫝꫳꫴꭜ-ꭟꭩー゙゚",astral:"\uD801[\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD81A[\uDF40-\uDF43]|\uD81B[\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD838[\uDD37-\uDD3D]|𞥋"},{name:"Lo",alias:"Other_Letter",bmp:"ªºƻǀ-ǃʔא-תׯ-ײؠ-ؿف-يٮٯٱ-ۓەۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪࠀ-ࠕࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣈऄ-हऽॐक़-ॡॲ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๅກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎᄀ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛱ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៜᠠ-ᡂᡄ-ᡸᢀ-ᢄᢇ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱷᳩ-ᳬᳮ-ᳳᳵᳶᳺℵ-ℸⴰ-ⵧⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ〆〼ぁ-ゖゟァ-ヺヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꀔꀖ-ꒌꓐ-ꓷꔀ-ꘋꘐ-ꘟꘪꘫꙮꚠ-ꛥꞏꟷꟻ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧠ-ꧤꧧ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩯꩱ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛꫜꫠ-ꫪꫲꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎יִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼヲ-ッア-ンᅠ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",astral:"\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC50-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF4A\uDF50]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|𝼊|\uD838[\uDD00-\uDD2C\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A]"},{name:"Lt",alias:"Titlecase_Letter",bmp:"DžLjNjDzᾈ-ᾏᾘ-ᾟᾨ-ᾯᾼῌῼ"},{name:"Lu",alias:"Uppercase_Letter",bmp:"A-ZÀ-ÖØ-ÞĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮİIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŸŹŻŽƁƂƄƆƇƉ-ƋƎ-ƑƓƔƖ-ƘƜƝƟƠƢƤƦƧƩƬƮƯƱ-ƳƵƷƸƼDŽLJNJǍǏǑǓǕǗǙǛǞǠǢǤǦǨǪǬǮDZǴǶ-ǸǺǼǾȀȂȄȆȈȊȌȎȐȒȔȖȘȚȜȞȠȢȤȦȨȪȬȮȰȲȺȻȽȾɁɃ-ɆɈɊɌɎͰͲͶͿΆΈ-ΊΌΎΏΑ-ΡΣ-ΫϏϒ-ϔϘϚϜϞϠϢϤϦϨϪϬϮϴϷϹϺϽ-ЯѠѢѤѦѨѪѬѮѰѲѴѶѸѺѼѾҀҊҌҎҐҒҔҖҘҚҜҞҠҢҤҦҨҪҬҮҰҲҴҶҸҺҼҾӀӁӃӅӇӉӋӍӐӒӔӖӘӚӜӞӠӢӤӦӨӪӬӮӰӲӴӶӸӺӼӾԀԂԄԆԈԊԌԎԐԒԔԖԘԚԜԞԠԢԤԦԨԪԬԮԱ-ՖႠ-ჅჇჍᎠ-ᏵᲐ-ᲺᲽ-ᲿḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẞẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸỺỼỾἈ-ἏἘ-ἝἨ-ἯἸ-ἿὈ-ὍὙὛὝὟὨ-ὯᾸ-ΆῈ-ΉῘ-ΊῨ-ῬῸ-Ώℂℇℋ-ℍℐ-ℒℕℙ-ℝℤΩℨK-ℭℰ-ℳℾℿⅅↃⰀ-ⰯⱠⱢ-ⱤⱧⱩⱫⱭ-ⱰⱲⱵⱾ-ⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚⳜⳞⳠⳢⳫⳭⳲꙀꙂꙄꙆꙈꙊꙌꙎꙐꙒꙔꙖꙘꙚꙜꙞꙠꙢꙤꙦꙨꙪꙬꚀꚂꚄꚆꚈꚊꚌꚎꚐꚒꚔꚖꚘꚚꜢꜤꜦꜨꜪꜬꜮꜲꜴꜶꜸꜺꜼꜾꝀꝂꝄꝆꝈꝊꝌꝎꝐꝒꝔꝖꝘꝚꝜꝞꝠꝢꝤꝦꝨꝪꝬꝮꝹꝻꝽꝾꞀꞂꞄꞆꞋꞍꞐꞒꞖꞘꞚꞜꞞꞠꞢꞤꞦꞨꞪ-ꞮꞰ-ꞴꞶꞸꞺꞼꞾꟀꟂꟄ-ꟇꟉꟐꟖꟘꟵA-Z",astral:"\uD801[\uDC00-\uDC27\uDCB0-\uDCD3\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95]|\uD803[\uDC80-\uDCB2]|\uD806[\uDCA0-\uDCBF]|\uD81B[\uDE40-\uDE5F]|\uD835[\uDC00-\uDC19\uDC34-\uDC4D\uDC68-\uDC81\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB5\uDCD0-\uDCE9\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD38\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD6C-\uDD85\uDDA0-\uDDB9\uDDD4-\uDDED\uDE08-\uDE21\uDE3C-\uDE55\uDE70-\uDE89\uDEA8-\uDEC0\uDEE2-\uDEFA\uDF1C-\uDF34\uDF56-\uDF6E\uDF90-\uDFA8\uDFCA]|\uD83A[\uDD00-\uDD21]"},{name:"M",alias:"Mark",bmp:"̀-ͯ҃-҉֑-ׇֽֿׁׂׅׄؐ-ًؚ-ٰٟۖ-ۜ۟-۪ۤۧۨ-ܑۭܰ-݊ަ-ް߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࢘-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣঁ-ঃ়া-ৄেৈো-্ৗৢৣ৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑੰੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣஂா-ூெ-ைொ-்ௗఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣඁ-ඃ්ා-ුූෘ-ෟෲෳัิ-ฺ็-๎ັິ-ຼ່-ໍ༹༘༙༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏႚ-ႝ፝-፟ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝᠋-᠍᠏ᢅᢆᢩᤠ-ᤫᤰ-᤻ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼᪰-ᫎᬀ-ᬄ᬴-᭄᭫-᭳ᮀ-ᮂᮡ-ᮭ᯦-᯳ᰤ-᰷᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿⃐-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꙯-꙲ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣠-꣱ꣿꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀ꧥꨩ-ꨶꩃꩌꩍꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭ﬞ︀-️︠-︯",astral:"\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDEAB\uDEAC\uDF46-\uDF50\uDF82-\uDF85]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC70\uDC73\uDC74\uDC7F-\uDC82\uDCB0-\uDCBA\uDCC2\uDD00-\uDD02\uDD27-\uDD34\uDD45\uDD46\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDDC9-\uDDCC\uDDCE\uDDCF\uDE2C-\uDE37\uDE3E\uDEDF-\uDEEA\uDF00-\uDF03\uDF3B\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC35-\uDC46\uDC5E\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDDDC\uDDDD\uDE30-\uDE40\uDEAB-\uDEB7\uDF1D-\uDF2B]|\uD806[\uDC2C-\uDC3A\uDD30-\uDD35\uDD37\uDD38\uDD3B-\uDD3E\uDD40\uDD42\uDD43\uDDD1-\uDDD7\uDDDA-\uDDE0\uDDE4\uDE01-\uDE0A\uDE33-\uDE39\uDE3B-\uDE3E\uDE47\uDE51-\uDE5B\uDE8A-\uDE99]|\uD807[\uDC2F-\uDC36\uDC38-\uDC3F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD8A-\uDD8E\uDD90\uDD91\uDD93-\uDD97\uDEF3-\uDEF6]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF4F\uDF51-\uDF87\uDF8F-\uDF92\uDFE4\uDFF0\uDFF1]|\uD82F[\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD30-\uDD36\uDEAE\uDEEC-\uDEEF]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uDB40[\uDD00-\uDDEF]"},{name:"Mc",alias:"Spacing_Mark",bmp:"ःऻा-ीॉ-ौॎॏংঃা-ীেৈোৌৗਃਾ-ੀઃા-ીૉોૌଂଃାୀେୈୋୌୗாிுூெ-ைொ-ௌௗఁ-ఃు-ౄಂಃಾೀ-ೄೇೈೊೋೕೖംഃാ-ീെ-ൈൊ-ൌൗංඃා-ෑෘ-ෟෲෳ༾༿ཿါာေးျြၖၗၢ-ၤၧ-ၭႃႄႇ-ႌႏႚ-ႜ᜕᜴ាើ-ៅះៈᤣ-ᤦᤩ-ᤫᤰᤱᤳ-ᤸᨙᨚᩕᩗᩡᩣᩤᩭ-ᩲᬄᬵᬻᬽ-ᭁᭃ᭄ᮂᮡᮦᮧ᮪ᯧᯪ-ᯬᯮ᯲᯳ᰤ-ᰫᰴᰵ᳡᳷〮〯ꠣꠤꠧꢀꢁꢴ-ꣃꥒ꥓ꦃꦴꦵꦺꦻꦾ-꧀ꨯꨰꨳꨴꩍꩻꩽꫫꫮꫯꫵꯣꯤꯦꯧꯩꯪ꯬",astral:"\uD804[\uDC00\uDC02\uDC82\uDCB0-\uDCB2\uDCB7\uDCB8\uDD2C\uDD45\uDD46\uDD82\uDDB3-\uDDB5\uDDBF\uDDC0\uDDCE\uDE2C-\uDE2E\uDE32\uDE33\uDE35\uDEE0-\uDEE2\uDF02\uDF03\uDF3E\uDF3F\uDF41-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63]|\uD805[\uDC35-\uDC37\uDC40\uDC41\uDC45\uDCB0-\uDCB2\uDCB9\uDCBB-\uDCBE\uDCC1\uDDAF-\uDDB1\uDDB8-\uDDBB\uDDBE\uDE30-\uDE32\uDE3B\uDE3C\uDE3E\uDEAC\uDEAE\uDEAF\uDEB6\uDF20\uDF21\uDF26]|\uD806[\uDC2C-\uDC2E\uDC38\uDD30-\uDD35\uDD37\uDD38\uDD3D\uDD40\uDD42\uDDD1-\uDDD3\uDDDC-\uDDDF\uDDE4\uDE39\uDE57\uDE58\uDE97]|\uD807[\uDC2F\uDC3E\uDCA9\uDCB1\uDCB4\uDD8A-\uDD8E\uDD93\uDD94\uDD96\uDEF5\uDEF6]|\uD81B[\uDF51-\uDF87\uDFF0\uDFF1]|\uD834[\uDD65\uDD66\uDD6D-\uDD72]"},{name:"Me",alias:"Enclosing_Mark",bmp:"҈҉᪾⃝-⃠⃢-⃤꙰-꙲"},{name:"Mn",alias:"Nonspacing_Mark",bmp:"̀-ͯ҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-ٰٟۖ-ۜ۟-۪ۤۧۨ-ܑۭܰ-݊ަ-ް߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࢘-࢟࣊-ࣣ࣡-ंऺ़ु-ै्॑-ॗॢॣঁ়ু-ৄ্ৢৣ৾ਁਂ਼ੁੂੇੈੋ-੍ੑੰੱੵઁં઼ુ-ૅેૈ્ૢૣૺ-૿ଁ଼ିୁ-ୄ୍୕ୖୢୣஂீ்ఀఄ఼ా-ీె-ైొ-్ౕౖౢౣಁ಼ಿೆೌ್ೢೣഀഁ഻഼ു-ൄ്ൢൣඁ්ි-ුූัิ-ฺ็-๎ັິ-ຼ່-ໍཱ༹༘༙༵༷-ཾྀ-྄྆྇ྍ-ྗྙ-ྼ࿆ိ-ူဲ-့္်ွှၘၙၞ-ၠၱ-ၴႂႅႆႍႝ፝-፟ᜒ-᜔ᜲᜳᝒᝓᝲᝳ឴឵ិ-ួំ៉-៓៝᠋-᠍᠏ᢅᢆᢩᤠ-ᤢᤧᤨᤲ᤹-᤻ᨘᨗᨛᩖᩘ-ᩞ᩠ᩢᩥ-ᩬᩳ-᩿᩼᪰-᪽ᪿ-ᫎᬀ-ᬃ᬴ᬶ-ᬺᬼᭂ᭫-᭳ᮀᮁᮢ-ᮥᮨᮩ᮫-ᮭ᯦ᯨᯩᯭᯯ-ᯱᰬ-ᰳᰶ᰷᳐-᳔᳒-᳢᳠-᳨᳭᳴᳸᳹᷀-᷿⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〭꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠥꠦ꠬꣄ꣅ꣠-꣱ꣿꤦ-꤭ꥇ-ꥑꦀ-ꦂ꦳ꦶ-ꦹꦼꦽꧥꨩ-ꨮꨱꨲꨵꨶꩃꩌꩼꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫬꫭ꫶ꯥꯨ꯭ﬞ︀-️︠-︯",astral:"\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDEAB\uDEAC\uDF46-\uDF50\uDF82-\uDF85]|\uD804[\uDC01\uDC38-\uDC46\uDC70\uDC73\uDC74\uDC7F-\uDC81\uDCB3-\uDCB6\uDCB9\uDCBA\uDCC2\uDD00-\uDD02\uDD27-\uDD2B\uDD2D-\uDD34\uDD73\uDD80\uDD81\uDDB6-\uDDBE\uDDC9-\uDDCC\uDDCF\uDE2F-\uDE31\uDE34\uDE36\uDE37\uDE3E\uDEDF\uDEE3-\uDEEA\uDF00\uDF01\uDF3B\uDF3C\uDF40\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC38-\uDC3F\uDC42-\uDC44\uDC46\uDC5E\uDCB3-\uDCB8\uDCBA\uDCBF\uDCC0\uDCC2\uDCC3\uDDB2-\uDDB5\uDDBC\uDDBD\uDDBF\uDDC0\uDDDC\uDDDD\uDE33-\uDE3A\uDE3D\uDE3F\uDE40\uDEAB\uDEAD\uDEB0-\uDEB5\uDEB7\uDF1D-\uDF1F\uDF22-\uDF25\uDF27-\uDF2B]|\uD806[\uDC2F-\uDC37\uDC39\uDC3A\uDD3B\uDD3C\uDD3E\uDD43\uDDD4-\uDDD7\uDDDA\uDDDB\uDDE0\uDE01-\uDE0A\uDE33-\uDE38\uDE3B-\uDE3E\uDE47\uDE51-\uDE56\uDE59-\uDE5B\uDE8A-\uDE96\uDE98\uDE99]|\uD807[\uDC30-\uDC36\uDC38-\uDC3D\uDC3F\uDC92-\uDCA7\uDCAA-\uDCB0\uDCB2\uDCB3\uDCB5\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD90\uDD91\uDD95\uDD97\uDEF3\uDEF4]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF4F\uDF8F-\uDF92\uDFE4]|\uD82F[\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD67-\uDD69\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD30-\uDD36\uDEAE\uDEEC-\uDEEF]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uDB40[\uDD00-\uDDEF]"},{name:"N",alias:"Number",bmp:"0-9²³¹¼-¾٠-٩۰-۹߀-߉०-९০-৯৴-৹੦-੯૦-૯୦-୯୲-୷௦-௲౦-౯౸-౾೦-೯൘-൞൦-൸෦-෯๐-๙໐-໙༠-༳၀-၉႐-႙፩-፼ᛮ-ᛰ០-៩៰-៹᠐-᠙᥆-᥏᧐-᧚᪀-᪉᪐-᪙᭐-᭙᮰-᮹᱀-᱉᱐-᱙⁰⁴-⁹₀-₉⅐-ↂↅ-↉①-⒛⓪-⓿❶-➓⳽〇〡-〩〸-〺㆒-㆕㈠-㈩㉈-㉏㉑-㉟㊀-㊉㊱-㊿꘠-꘩ꛦ-ꛯ꠰-꠵꣐-꣙꤀-꤉꧐-꧙꧰-꧹꩐-꩙꯰-꯹0-9",astral:"\uD800[\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDEE1-\uDEFB\uDF20-\uDF23\uDF41\uDF4A\uDFD1-\uDFD5]|\uD801[\uDCA0-\uDCA9]|\uD802[\uDC58-\uDC5F\uDC79-\uDC7F\uDCA7-\uDCAF\uDCFB-\uDCFF\uDD16-\uDD1B\uDDBC\uDDBD\uDDC0-\uDDCF\uDDD2-\uDDFF\uDE40-\uDE48\uDE7D\uDE7E\uDE9D-\uDE9F\uDEEB-\uDEEF\uDF58-\uDF5F\uDF78-\uDF7F\uDFA9-\uDFAF]|\uD803[\uDCFA-\uDCFF\uDD30-\uDD39\uDE60-\uDE7E\uDF1D-\uDF26\uDF51-\uDF54\uDFC5-\uDFCB]|\uD804[\uDC52-\uDC6F\uDCF0-\uDCF9\uDD36-\uDD3F\uDDD0-\uDDD9\uDDE1-\uDDF4\uDEF0-\uDEF9]|\uD805[\uDC50-\uDC59\uDCD0-\uDCD9\uDE50-\uDE59\uDEC0-\uDEC9\uDF30-\uDF3B]|\uD806[\uDCE0-\uDCF2\uDD50-\uDD59]|\uD807[\uDC50-\uDC6C\uDD50-\uDD59\uDDA0-\uDDA9\uDFC0-\uDFD4]|\uD809[\uDC00-\uDC6E]|\uD81A[\uDE60-\uDE69\uDEC0-\uDEC9\uDF50-\uDF59\uDF5B-\uDF61]|\uD81B[\uDE80-\uDE96]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDFCE-\uDFFF]|\uD838[\uDD40-\uDD49\uDEF0-\uDEF9]|\uD83A[\uDCC7-\uDCCF\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]"},{name:"Nd",alias:"Decimal_Number",bmp:"0-9٠-٩۰-۹߀-߉०-९০-৯੦-੯૦-૯୦-୯௦-௯౦-౯೦-೯൦-൯෦-෯๐-๙໐-໙༠-༩၀-၉႐-႙០-៩᠐-᠙᥆-᥏᧐-᧙᪀-᪉᪐-᪙᭐-᭙᮰-᮹᱀-᱉᱐-᱙꘠-꘩꣐-꣙꤀-꤉꧐-꧙꧰-꧹꩐-꩙꯰-꯹0-9",astral:"\uD801[\uDCA0-\uDCA9]|\uD803[\uDD30-\uDD39]|\uD804[\uDC66-\uDC6F\uDCF0-\uDCF9\uDD36-\uDD3F\uDDD0-\uDDD9\uDEF0-\uDEF9]|\uD805[\uDC50-\uDC59\uDCD0-\uDCD9\uDE50-\uDE59\uDEC0-\uDEC9\uDF30-\uDF39]|\uD806[\uDCE0-\uDCE9\uDD50-\uDD59]|\uD807[\uDC50-\uDC59\uDD50-\uDD59\uDDA0-\uDDA9]|\uD81A[\uDE60-\uDE69\uDEC0-\uDEC9\uDF50-\uDF59]|\uD835[\uDFCE-\uDFFF]|\uD838[\uDD40-\uDD49\uDEF0-\uDEF9]|\uD83A[\uDD50-\uDD59]|\uD83E[\uDFF0-\uDFF9]"},{name:"Nl",alias:"Letter_Number",bmp:"ᛮ-ᛰⅠ-ↂↅ-ↈ〇〡-〩〸-〺ꛦ-ꛯ",astral:"\uD800[\uDD40-\uDD74\uDF41\uDF4A\uDFD1-\uDFD5]|\uD809[\uDC00-\uDC6E]"},{name:"No",alias:"Other_Number",bmp:"²³¹¼-¾৴-৹୲-୷௰-௲౸-౾൘-൞൰-൸༪-༳፩-፼៰-៹᧚⁰⁴-⁹₀-₉⅐-⅟↉①-⒛⓪-⓿❶-➓⳽㆒-㆕㈠-㈩㉈-㉏㉑-㉟㊀-㊉㊱-㊿꠰-꠵",astral:"\uD800[\uDD07-\uDD33\uDD75-\uDD78\uDD8A\uDD8B\uDEE1-\uDEFB\uDF20-\uDF23]|\uD802[\uDC58-\uDC5F\uDC79-\uDC7F\uDCA7-\uDCAF\uDCFB-\uDCFF\uDD16-\uDD1B\uDDBC\uDDBD\uDDC0-\uDDCF\uDDD2-\uDDFF\uDE40-\uDE48\uDE7D\uDE7E\uDE9D-\uDE9F\uDEEB-\uDEEF\uDF58-\uDF5F\uDF78-\uDF7F\uDFA9-\uDFAF]|\uD803[\uDCFA-\uDCFF\uDE60-\uDE7E\uDF1D-\uDF26\uDF51-\uDF54\uDFC5-\uDFCB]|\uD804[\uDC52-\uDC65\uDDE1-\uDDF4]|\uD805[\uDF3A\uDF3B]|\uD806[\uDCEA-\uDCF2]|\uD807[\uDC5A-\uDC6C\uDFC0-\uDFD4]|\uD81A[\uDF5B-\uDF61]|\uD81B[\uDE80-\uDE96]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD83A[\uDCC7-\uDCCF]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D]|\uD83C[\uDD00-\uDD0C]"},{name:"P",alias:"Punctuation",bmp:"!-#%-\\*,-\\/:;\\?@\\[-\\]_\\{\\}¡§«¶·»¿;·՚-՟։֊־׀׃׆׳״؉؊،؍؛؝-؟٪-٭۔܀-܍߷-߹࠰-࠾࡞।॥॰৽੶૰౷಄෴๏๚๛༄-༒༔༺-༽྅࿐-࿔࿙࿚၊-၏჻፠-፨᐀᙮᚛᚜᛫-᛭᜵᜶។-៖៘-៚᠀-᠊᥄᥅᨞᨟᪠-᪦᪨-᪭᭚-᭠᭽᭾᯼-᯿᰻-᰿᱾᱿᳀-᳇᳓‐-‧‰-⁃⁅-⁑⁓-⁞⁽⁾₍₎⌈-⌋〈〉❨-❵⟅⟆⟦-⟯⦃-⦘⧘-⧛⧼⧽⳹-⳼⳾⳿⵰⸀-⸮⸰-⹏⹒-⹝、-〃〈-】〔-〟〰〽゠・꓾꓿꘍-꘏꙳꙾꛲-꛷꡴-꡷꣎꣏꣸-꣺꣼꤮꤯꥟꧁-꧍꧞꧟꩜-꩟꫞꫟꫰꫱꯫﴾﴿︐-︙︰-﹒﹔-﹡﹣﹨﹪﹫!-#%-*,-/:;?@[-]_{}⦅-・",astral:"\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|𐕯|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDEAD\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A\uDFE2]|𛲟|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]"},{name:"Pc",alias:"Connector_Punctuation",bmp:"_‿⁀⁔︳︴﹍-﹏_"},{name:"Pd",alias:"Dash_Punctuation",bmp:"\\-֊־᐀᠆‐-―⸗⸚⸺⸻⹀⹝〜〰゠︱︲﹘﹣-",astral:"𐺭"},{name:"Pe",alias:"Close_Punctuation",bmp:"\\)\\]\\}༻༽᚜⁆⁾₎⌉⌋〉❩❫❭❯❱❳❵⟆⟧⟩⟫⟭⟯⦄⦆⦈⦊⦌⦎⦐⦒⦔⦖⦘⧙⧛⧽⸣⸥⸧⸩⹖⹘⹚⹜〉》」』】〕〗〙〛〞〟﴾︘︶︸︺︼︾﹀﹂﹄﹈﹚﹜﹞)]}⦆」"},{name:"Pf",alias:"Final_Punctuation",bmp:"»’”›⸃⸅⸊⸍⸝⸡"},{name:"Pi",alias:"Initial_Punctuation",bmp:"«‘‛“‟‹⸂⸄⸉⸌⸜⸠"},{name:"Po",alias:"Other_Punctuation",bmp:"!-#%-'\\*,\\.\\/:;\\?@\\¡§¶·¿;·՚-՟։׀׃׆׳״؉؊،؍؛؝-؟٪-٭۔܀-܍߷-߹࠰-࠾࡞।॥॰৽੶૰౷಄෴๏๚๛༄-༒༔྅࿐-࿔࿙࿚၊-၏჻፠-፨᙮᛫-᛭᜵᜶។-៖៘-៚᠀-᠅᠇-᠊᥄᥅᨞᨟᪠-᪦᪨-᪭᭚-᭠᭽᭾᯼-᯿᰻-᰿᱾᱿᳀-᳇᳓‖‗†-‧‰-‸※-‾⁁-⁃⁇-⁑⁓⁕-⁞⳹-⳼⳾⳿⵰⸀⸁⸆-⸈⸋⸎-⸖⸘⸙⸛⸞⸟⸪-⸮⸰-⸹⸼-⸿⹁⹃-⹏⹒-⹔、-〃〽・꓾꓿꘍-꘏꙳꙾꛲-꛷꡴-꡷꣎꣏꣸-꣺꣼꤮꤯꥟꧁-꧍꧞꧟꩜-꩟꫞꫟꫰꫱꯫︐-︖︙︰﹅﹆﹉-﹌﹐-﹒﹔-﹗﹟-﹡﹨﹪﹫!-#%-'*,./:;?@\。、・",astral:"\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|𐕯|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A\uDFE2]|𛲟|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]"},{name:"Ps",alias:"Open_Punctuation",bmp:"\\(\\[\\{༺༼᚛‚„⁅⁽₍⌈⌊〈❨❪❬❮❰❲❴⟅⟦⟨⟪⟬⟮⦃⦅⦇⦉⦋⦍⦏⦑⦓⦕⦗⧘⧚⧼⸢⸤⸦⸨⹂⹕⹗⹙⹛〈《「『【〔〖〘〚〝﴿︗︵︷︹︻︽︿﹁﹃﹇﹙﹛﹝([{⦅「"},{name:"S",alias:"Symbol",bmp:"\\$\\+<->\\^`\\|~¢-¦¨©¬®-±´¸×÷˂-˅˒-˟˥-˫˭˯-˿͵΄΅϶҂֍-֏؆-؈؋؎؏۞۩۽۾߶߾߿࢈৲৳৺৻૱୰௳-௺౿൏൹฿༁-༃༓༕-༗༚-༟༴༶༸྾-࿅࿇-࿌࿎࿏࿕-࿘႞႟᎐-᎙᙭៛᥀᧞-᧿᭡-᭪᭴-᭼᾽᾿-῁῍-῏῝-῟῭-`´῾⁄⁒⁺-⁼₊-₌₠-⃀℀℁℃-℆℈℉℔№-℘℞-℣℥℧℩℮℺℻⅀-⅄⅊-⅍⅏↊↋←-⌇⌌-⌨⌫-␦⑀-⑊⒜-ⓩ─-❧➔-⟄⟇-⟥⟰-⦂⦙-⧗⧜-⧻⧾-⭳⭶-⮕⮗-⯿⳥-⳪⹐⹑⺀-⺙⺛-⻳⼀-⿕⿰-⿻〄〒〓〠〶〷〾〿゛゜㆐㆑㆖-㆟㇀-㇣㈀-㈞㈪-㉇㉐㉠-㉿㊊-㊰㋀-㏿䷀-䷿꒐-꓆꜀-꜖꜠꜡꞉꞊꠨-꠫꠶-꠹꩷-꩹꭛꭪꭫﬩﮲-﯂﵀-﵏﷏﷼-﷿﹢﹤-﹦﹩$+<->^`|~¢-₩│-○�",astral:"\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|𑜿|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|𛲜|\uD833[\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEDD-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF73\uDF80-\uDFD8\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDE53\uDE60-\uDE6D\uDE70-\uDE74\uDE78-\uDE7C\uDE80-\uDE86\uDE90-\uDEAC\uDEB0-\uDEBA\uDEC0-\uDEC5\uDED0-\uDED9\uDEE0-\uDEE7\uDEF0-\uDEF6\uDF00-\uDF92\uDF94-\uDFCA]"},{name:"Sc",alias:"Currency_Symbol",bmp:"\\$¢-¥֏؋߾߿৲৳৻૱௹฿៛₠-⃀꠸﷼﹩$¢£¥₩",astral:"\uD807[\uDFDD-\uDFE0]|𞋿|𞲰"},{name:"Sk",alias:"Modifier_Symbol",bmp:"\\^`¨¯´¸˂-˅˒-˟˥-˫˭˯-˿͵΄΅࢈᾽᾿-῁῍-῏῝-῟῭-`´῾゛゜꜀-꜖꜠꜡꞉꞊꭛꭪꭫﮲-﯂^` ̄",astral:"\uD83C[\uDFFB-\uDFFF]"},{name:"Sm",alias:"Math_Symbol",bmp:"\\+<->\\|~¬±×÷϶؆-؈⁄⁒⁺-⁼₊-₌℘⅀-⅄⅋←-↔↚↛↠↣↦↮⇎⇏⇒⇔⇴-⋿⌠⌡⍼⎛-⎳⏜-⏡▷◁◸-◿♯⟀-⟄⟇-⟥⟰-⟿⤀-⦂⦙-⧗⧜-⧻⧾-⫿⬰-⭄⭇-⭌﬩﹢﹤-﹦+<->|~¬←-↓",astral:"\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD83B[\uDEF0\uDEF1]"},{name:"So",alias:"Other_Symbol",bmp:"¦©®°҂֍֎؎؏۞۩۽۾߶৺୰௳-௸௺౿൏൹༁-༃༓༕-༗༚-༟༴༶༸྾-࿅࿇-࿌࿎࿏࿕-࿘႞႟᎐-᎙᙭᥀᧞-᧿᭡-᭪᭴-᭼℀℁℃-℆℈℉℔№℗℞-℣℥℧℩℮℺℻⅊⅌⅍⅏↊↋↕-↙↜-↟↡↢↤↥↧-↭↯-⇍⇐⇑⇓⇕-⇳⌀-⌇⌌-⌟⌢-⌨⌫-⍻⍽-⎚⎴-⏛⏢-␦⑀-⑊⒜-ⓩ─-▶▸-◀◂-◷☀-♮♰-❧➔-➿⠀-⣿⬀-⬯⭅⭆⭍-⭳⭶-⮕⮗-⯿⳥-⳪⹐⹑⺀-⺙⺛-⻳⼀-⿕⿰-⿻〄〒〓〠〶〷〾〿㆐㆑㆖-㆟㇀-㇣㈀-㈞㈪-㉇㉐㉠-㉿㊊-㊰㋀-㏿䷀-䷿꒐-꓆꠨-꠫꠶꠷꠹꩷-꩹﵀-﵏﷏﷽-﷿¦│■○�",astral:"\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|𑜿|\uD807[\uDFD5-\uDFDC\uDFE1-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|𛲜|\uD833[\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|𞅏|\uD83B[\uDCAC\uDD2E]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFA]|\uD83D[\uDC00-\uDED7\uDEDD-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF73\uDF80-\uDFD8\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDE53\uDE60-\uDE6D\uDE70-\uDE74\uDE78-\uDE7C\uDE80-\uDE86\uDE90-\uDEAC\uDEB0-\uDEBA\uDEC0-\uDEC5\uDED0-\uDED9\uDEE0-\uDEE7\uDEF0-\uDEF6\uDF00-\uDF92\uDF94-\uDFCA]"},{name:"Z",alias:"Separator",bmp:"    - \u2028\u2029   "},{name:"Zl",alias:"Line_Separator",bmp:"\u2028"},{name:"Zp",alias:"Paragraph_Separator",bmp:"\u2029"},{name:"Zs",alias:"Space_Separator",bmp:"    -    "}];/*! + */const ST=e=>{const t={},r={},n=e._dec,u=e._hex,s=e._pad4;function o(d){return d.replace(/[- _]+/g,"").toLowerCase()}function a(d){const f=/^\\[xu](.+)/.exec(d);return f?n(f[1]):d.charCodeAt(d[0]==="\\"?1:0)}function i(d){let f="",h=-1;return e.forEach(d,/(\\x..|\\u....|\\?[\s\S])(?:-(\\x..|\\u....|\\?[\s\S]))?/,y=>{const A=a(y[1]);A>h+1&&(f+=`\\u${s(u(h+1))}`,A>h+2&&(f+=`-\\u${s(u(A-1))}`)),h=a(y[2]||y[1])}),h<65535&&(f+=`\\u${s(u(h+1))}`,h<65534&&(f+="-\\uFFFF")),f}function c(d){const f="b!";return t[d][f]||(t[d][f]=i(t[d].bmp))}function l(d,f){const h=t[d];let y="";return h.bmp&&!h.isBmpLast&&(y=`[${h.bmp}]${h.astral?"|":""}`),h.astral&&(y+=h.astral),h.isBmpLast&&h.bmp&&(y+=`${h.astral?"|":""}[${h.bmp}]`),f?`(?:(?!${y})(?:[\uD800-\uDBFF][\uDC00-\uDFFF]|[\0-￿]))`:`(?:${y})`}function p(d,f){const h=f?"a!":"a=";return t[d][h]||(t[d][h]=l(d,f))}e.addToken(/\\([pP])(?:{(\^?)(?:(\w+)=)?([^}]*)}|([A-Za-z]))/,(d,f,h)=>{const y="Invalid double negation ",A="Unknown Unicode token ",m="Unicode token missing data ",v="Astral mode required for Unicode token ",C="Astral mode does not support Unicode tokens within character classes",[B,T,N,R,J,q]=d;let G=T==="P"||!!N;const ee=h.includes("A");let K=o(q||J),ue=t[K];if(T==="P"&&N)throw new SyntaxError(y+B);if(!t.hasOwnProperty(K))throw new SyntaxError(A+B);if(R&&!(r[R]&&r[R][K]))throw new SyntaxError(A+B);if(ue.inverseOf){if(K=o(ue.inverseOf),!t.hasOwnProperty(K))throw new ReferenceError(`${m+B} -> ${ue.inverseOf}`);ue=t[K],G=!G}if(!(ue.bmp||ee))throw new SyntaxError(v+B);if(ee){if(f==="class")throw new SyntaxError(C);return p(K,G)}return f==="class"?G?c(K):ue.bmp:`${(G?"[^":"[")+ue.bmp}]`},{scope:"all",optionalFlags:"A",leadChar:"\\"}),e.addUnicodeData=(d,f)=>{const h="Unicode token requires name",y="Unicode token has no character data ";f&&(r[f]={});for(const A of d){if(!A.name)throw new Error(h);if(!(A.inverseOf||A.bmp||A.astral))throw new Error(y+A.name);const m=o(A.name);if(t[m]=A,f&&(r[f][m]=!0),A.alias){const v=o(A.alias);t[v]=A,f&&(r[f][v]=!0)}}e.cache.flush("patterns")},e._getUnicodeProperty=d=>{const f=o(d);return t[f]}};var Vs=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function e5(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function wT(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function n(){if(this instanceof n){var u=[null];u.push.apply(u,arguments);var s=Function.bind.apply(t,u);return new s}return t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(n){var u=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,u.get?u:{enumerable:!0,get:function(){return e[n]}})}),r}var _T=[{name:"C",alias:"Other",isBmpLast:!0,bmp:"\0--Ÿ­͸͹΀-΃΋΍΢԰՗՘֋֌֐׈-׏׫-׮׵-؅؜۝܎܏݋݌޲-޿߻߼࠮࠯࠿࡜࡝࡟࡫-࡯࢏-ࢗ࣢঄঍঎঑঒঩঱঳-঵঺঻৅৆৉৊৏-৖৘-৛৞৤৥৿਀਄਋-਎਑਒਩਱਴਷਺਻਽੃-੆੉੊੎-੐੒-੘੝੟-੥੷-઀઄઎઒઩઱઴઺઻૆૊૎૏૑-૟૤૥૲-૸଀଄଍଎଑଒଩଱଴଺଻୅୆୉୊୎-୔୘-୛୞୤୥୸-஁஄஋-஍஑஖-஘஛஝஠-஢஥-஧஫-஭஺-஽௃-௅௉௎௏௑-௖௘-௥௻-௿఍఑఩఺఻౅౉౎-౔౗౛౜౞౟౤౥౰-౶಍಑಩಴಺಻೅೉೎-೔೗-೜೟೤೥೰ೳ-೿഍഑൅൉൐-൓൤൥඀඄඗-඙඲඼඾඿෇-෉෋-෎෕෗෠-෥෰෱෵-฀฻-฾๜-຀຃຅຋຤຦຾຿໅໇໎໏໚໛໠-໿཈཭-཰྘྽࿍࿛-࿿჆჈-჌჎჏቉቎቏቗቙቞቟኉኎኏኱኶኷኿዁዆዇዗጑጖጗፛፜፽-፿᎚-᎟᏶᏷᏾᏿᚝-᚟᛹-᛿᜖-᜞᜷-᜿᝔-᝟᝭᝱᝴-᝿៞៟៪-៯៺-៿᠎᠚-᠟᡹-᡿᢫-᢯᣶-᣿᤟᤬-᤯᤼-᤿᥁-᥃᥮᥯᥵-᥿᦬-᦯᧊-᧏᧛-᧝᨜᨝᩟᩽᩾᪊-᪏᪚-᪟᪮᪯᫏-᫿᭍-᭏᭿᯴-᯻᰸-᰺᱊-᱌Ᲊ-᲏᲻᲼᳈-᳏᳻-᳿἖἗἞἟὆὇὎὏὘὚὜὞὾὿᾵῅῔῕῜῰῱῵῿​-‏‪-‮⁠-⁲⁳₏₝-₟⃁-⃏⃱-⃿↌-↏␧-␿⑋-⑟⭴⭵⮖⳴-⳸⴦⴨-⴬⴮⴯⵨-⵮⵱-⵾⶗-⶟⶧⶯⶷⶿⷇⷏⷗⷟⹞-⹿⺚⻴-⻿⿖-⿯⿼-⿿぀゗゘㄀-㄄㄰㆏㇤-㇯㈟꒍-꒏꓇-꓏꘬-꘿꛸-꛿Ɤ-꟏꟒꟔Ꟛ-꟱꠭-꠯꠺-꠿꡸-꡿꣆-꣍꣚-꣟꥔-꥞꥽-꥿꧎꧚-꧝꧿꨷-꨿꩎꩏꩚꩛꫃-꫚꫷-꬀꬇꬈꬏꬐꬗-꬟꬧꬯꭬-꭯꯮꯯꯺-꯿힤-힯퟇-퟊퟼-﩮﩯﫚-﫿﬇-﬒﬘-﬜﬷﬽﬿﭂﭅﯃-﯒﶐﶑﷈-﷎﷐-﷯︚-︟﹓﹧﹬-﹯﹵﻽-＀﾿-￁￈￉￐￑￘￙￝-￟￧￯-￾￿",astral:"\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDCFF\uDD03-\uDD06\uDD34-\uDD36\uDD8F\uDD9D-\uDD9F\uDDA1-\uDDCF\uDDFE-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEDF\uDEFC-\uDEFF\uDF24-\uDF2C\uDF4B-\uDF4F\uDF7B-\uDF7F\uDF9E\uDFC4-\uDFC7\uDFD6-\uDFFF]|\uD801[\uDC9E\uDC9F\uDCAA-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDD6E\uDD7B\uDD8B\uDD93\uDD96\uDDA2\uDDB2\uDDBA\uDDBD-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDF7F\uDF86\uDFB1\uDFBB-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56\uDC9F-\uDCA6\uDCB0-\uDCDF\uDCF3\uDCF6-\uDCFA\uDD1C-\uDD1E\uDD3A-\uDD3E\uDD40-\uDD7F\uDDB8-\uDDBB\uDDD0\uDDD1\uDE04\uDE07-\uDE0B\uDE14\uDE18\uDE36\uDE37\uDE3B-\uDE3E\uDE49-\uDE4F\uDE59-\uDE5F\uDEA0-\uDEBF\uDEE7-\uDEEA\uDEF7-\uDEFF\uDF36-\uDF38\uDF56\uDF57\uDF73-\uDF77\uDF92-\uDF98\uDF9D-\uDFA8\uDFB0-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCF9\uDD28-\uDD2F\uDD3A-\uDE5F\uDE7F\uDEAA\uDEAE\uDEAF\uDEB2-\uDEFF\uDF28-\uDF2F\uDF5A-\uDF6F\uDF8A-\uDFAF\uDFCC-\uDFDF\uDFF7-\uDFFF]|\uD804[\uDC4E-\uDC51\uDC76-\uDC7E\uDCBD\uDCC3-\uDCCF\uDCE9-\uDCEF\uDCFA-\uDCFF\uDD35\uDD48-\uDD4F\uDD77-\uDD7F\uDDE0\uDDF5-\uDDFF\uDE12\uDE3F-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEAA-\uDEAF\uDEEB-\uDEEF\uDEFA-\uDEFF\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A\uDF45\uDF46\uDF49\uDF4A\uDF4E\uDF4F\uDF51-\uDF56\uDF58-\uDF5C\uDF64\uDF65\uDF6D-\uDF6F\uDF75-\uDFFF]|\uD805[\uDC5C\uDC62-\uDC7F\uDCC8-\uDCCF\uDCDA-\uDD7F\uDDB6\uDDB7\uDDDE-\uDDFF\uDE45-\uDE4F\uDE5A-\uDE5F\uDE6D-\uDE7F\uDEBA-\uDEBF\uDECA-\uDEFF\uDF1B\uDF1C\uDF2C-\uDF2F\uDF47-\uDFFF]|\uD806[\uDC3C-\uDC9F\uDCF3-\uDCFE\uDD07\uDD08\uDD0A\uDD0B\uDD14\uDD17\uDD36\uDD39\uDD3A\uDD47-\uDD4F\uDD5A-\uDD9F\uDDA8\uDDA9\uDDD8\uDDD9\uDDE5-\uDDFF\uDE48-\uDE4F\uDEA3-\uDEAF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC37\uDC46-\uDC4F\uDC6D-\uDC6F\uDC90\uDC91\uDCA8\uDCB7-\uDCFF\uDD07\uDD0A\uDD37-\uDD39\uDD3B\uDD3E\uDD48-\uDD4F\uDD5A-\uDD5F\uDD66\uDD69\uDD8F\uDD92\uDD99-\uDD9F\uDDAA-\uDEDF\uDEF9-\uDFAF\uDFB1-\uDFBF\uDFF2-\uDFFE]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC6F\uDC75-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80E-\uD810\uD812-\uD819\uD824-\uD82A\uD82D\uD82E\uD830-\uD832\uD83F\uD87B-\uD87D\uD87F\uD885-\uDB3F\uDB41-\uDBFF][\uDC00-\uDFFF]|\uD80B[\uDC00-\uDF8F\uDFF3-\uDFFF]|\uD80D[\uDC2F-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F\uDE6A-\uDE6D\uDEBF\uDECA-\uDECF\uDEEE\uDEEF\uDEF6-\uDEFF\uDF46-\uDF4F\uDF5A\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDE3F\uDE9B-\uDEFF\uDF4B-\uDF4E\uDF88-\uDF8E\uDFA0-\uDFDF\uDFE5-\uDFEF\uDFF2-\uDFFF]|\uD821[\uDFF8-\uDFFF]|\uD823[\uDCD6-\uDCFF\uDD09-\uDFFF]|\uD82B[\uDC00-\uDFEF\uDFF4\uDFFC\uDFFF]|\uD82C[\uDD23-\uDD4F\uDD53-\uDD63\uDD68-\uDD6F\uDEFC-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A\uDC9B\uDCA0-\uDFFF]|\uD833[\uDC00-\uDEFF\uDF2E\uDF2F\uDF47-\uDF4F\uDFC4-\uDFFF]|\uD834[\uDCF6-\uDCFF\uDD27\uDD28\uDD73-\uDD7A\uDDEB-\uDDFF\uDE46-\uDEDF\uDEF4-\uDEFF\uDF57-\uDF5F\uDF79-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDFCC\uDFCD]|\uD836[\uDE8C-\uDE9A\uDEA0\uDEB0-\uDFFF]|\uD837[\uDC00-\uDEFF\uDF1F-\uDFFF]|\uD838[\uDC07\uDC19\uDC1A\uDC22\uDC25\uDC2B-\uDCFF\uDD2D-\uDD2F\uDD3E\uDD3F\uDD4A-\uDD4D\uDD50-\uDE8F\uDEAF-\uDEBF\uDEFA-\uDEFE\uDF00-\uDFFF]|\uD839[\uDC00-\uDFDF\uDFE7\uDFEC\uDFEF\uDFFF]|\uD83A[\uDCC5\uDCC6\uDCD7-\uDCFF\uDD4C-\uDD4F\uDD5A-\uDD5D\uDD60-\uDFFF]|\uD83B[\uDC00-\uDC70\uDCB5-\uDD00\uDD3E-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDEEF\uDEF2-\uDFFF]|\uD83C[\uDC2C-\uDC2F\uDC94-\uDC9F\uDCAF\uDCB0\uDCC0\uDCD0\uDCF6-\uDCFF\uDDAE-\uDDE5\uDE03-\uDE0F\uDE3C-\uDE3F\uDE49-\uDE4F\uDE52-\uDE5F\uDE66-\uDEFF]|\uD83D[\uDED8-\uDEDC\uDEED-\uDEEF\uDEFD-\uDEFF\uDF74-\uDF7F\uDFD9-\uDFDF\uDFEC-\uDFEF\uDFF1-\uDFFF]|\uD83E[\uDC0C-\uDC0F\uDC48-\uDC4F\uDC5A-\uDC5F\uDC88-\uDC8F\uDCAE\uDCAF\uDCB2-\uDCFF\uDE54-\uDE5F\uDE6E\uDE6F\uDE75-\uDE77\uDE7D-\uDE7F\uDE87-\uDE8F\uDEAD-\uDEAF\uDEBB-\uDEBF\uDEC6-\uDECF\uDEDA-\uDEDF\uDEE8-\uDEEF\uDEF7-\uDEFF\uDF93\uDFCB-\uDFEF\uDFFA-\uDFFF]|\uD869[\uDEE0-\uDEFF]|\uD86D[\uDF39-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDEAF]|\uD87A[\uDFE1-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uD884[\uDF4B-\uDFFF]|\uDB40[\uDC00-\uDCFF\uDDF0-\uDFFF]"},{name:"Cc",alias:"Control",bmp:"\0--Ÿ"},{name:"Cf",alias:"Format",bmp:"­؀-؅؜۝܏࢐࢑࣢᠎​-‏‪-‮⁠-⁤⁦-\uFEFF-",astral:"\uD804[\uDCBD\uDCCD]|\uD80D[\uDC30-\uDC38]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]"},{name:"Cn",alias:"Unassigned",bmp:"͸͹΀-΃΋΍΢԰՗՘֋֌֐׈-׏׫-׮׵-׿܎݋݌޲-޿߻߼࠮࠯࠿࡜࡝࡟࡫-࡯࢏࢒-ࢗ঄঍঎঑঒঩঱঳-঵঺঻৅৆৉৊৏-৖৘-৛৞৤৥৿਀਄਋-਎਑਒਩਱਴਷਺਻਽੃-੆੉੊੎-੐੒-੘੝੟-੥੷-઀઄઎઒઩઱઴઺઻૆૊૎૏૑-૟૤૥૲-૸଀଄଍଎଑଒଩଱଴଺଻୅୆୉୊୎-୔୘-୛୞୤୥୸-஁஄஋-஍஑஖-஘஛஝஠-஢஥-஧஫-஭஺-஽௃-௅௉௎௏௑-௖௘-௥௻-௿఍఑఩఺఻౅౉౎-౔౗౛౜౞౟౤౥౰-౶಍಑಩಴಺಻೅೉೎-೔೗-೜೟೤೥೰ೳ-೿഍഑൅൉൐-൓൤൥඀඄඗-඙඲඼඾඿෇-෉෋-෎෕෗෠-෥෰෱෵-฀฻-฾๜-຀຃຅຋຤຦຾຿໅໇໎໏໚໛໠-໿཈཭-཰྘྽࿍࿛-࿿჆჈-჌჎჏቉቎቏቗቙቞቟኉኎኏኱኶኷኿዁዆዇዗጑጖጗፛፜፽-፿᎚-᎟᏶᏷᏾᏿᚝-᚟᛹-᛿᜖-᜞᜷-᜿᝔-᝟᝭᝱᝴-᝿៞៟៪-៯៺-៿᠚-᠟᡹-᡿᢫-᢯᣶-᣿᤟᤬-᤯᤼-᤿᥁-᥃᥮᥯᥵-᥿᦬-᦯᧊-᧏᧛-᧝᨜᨝᩟᩽᩾᪊-᪏᪚-᪟᪮᪯᫏-᫿᭍-᭏᭿᯴-᯻᰸-᰺᱊-᱌Ᲊ-᲏᲻᲼᳈-᳏᳻-᳿἖἗἞἟὆὇὎὏὘὚὜὞὾὿᾵῅῔῕῜῰῱῵῿⁥⁲⁳₏₝-₟⃁-⃏⃱-⃿↌-↏␧-␿⑋-⑟⭴⭵⮖⳴-⳸⴦⴨-⴬⴮⴯⵨-⵮⵱-⵾⶗-⶟⶧⶯⶷⶿⷇⷏⷗⷟⹞-⹿⺚⻴-⻿⿖-⿯⿼-⿿぀゗゘㄀-㄄㄰㆏㇤-㇯㈟꒍-꒏꓇-꓏꘬-꘿꛸-꛿Ɤ-꟏꟒꟔Ꟛ-꟱꠭-꠯꠺-꠿꡸-꡿꣆-꣍꣚-꣟꥔-꥞꥽-꥿꧎꧚-꧝꧿꨷-꨿꩎꩏꩚꩛꫃-꫚꫷-꬀꬇꬈꬏꬐꬗-꬟꬧꬯꭬-꭯꯮꯯꯺-꯿힤-힯퟇-퟊퟼-퟿﩮﩯﫚-﫿﬇-﬒﬘-﬜﬷﬽﬿﭂﭅﯃-﯒﶐﶑﷈-﷎﷐-﷯︚-︟﹓﹧﹬-﹯﹵﻽﻾＀﾿-￁￈￉￐￑￘￙￝-￟￧￯-￸￾￿",astral:"\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDCFF\uDD03-\uDD06\uDD34-\uDD36\uDD8F\uDD9D-\uDD9F\uDDA1-\uDDCF\uDDFE-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEDF\uDEFC-\uDEFF\uDF24-\uDF2C\uDF4B-\uDF4F\uDF7B-\uDF7F\uDF9E\uDFC4-\uDFC7\uDFD6-\uDFFF]|\uD801[\uDC9E\uDC9F\uDCAA-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDD6E\uDD7B\uDD8B\uDD93\uDD96\uDDA2\uDDB2\uDDBA\uDDBD-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDF7F\uDF86\uDFB1\uDFBB-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56\uDC9F-\uDCA6\uDCB0-\uDCDF\uDCF3\uDCF6-\uDCFA\uDD1C-\uDD1E\uDD3A-\uDD3E\uDD40-\uDD7F\uDDB8-\uDDBB\uDDD0\uDDD1\uDE04\uDE07-\uDE0B\uDE14\uDE18\uDE36\uDE37\uDE3B-\uDE3E\uDE49-\uDE4F\uDE59-\uDE5F\uDEA0-\uDEBF\uDEE7-\uDEEA\uDEF7-\uDEFF\uDF36-\uDF38\uDF56\uDF57\uDF73-\uDF77\uDF92-\uDF98\uDF9D-\uDFA8\uDFB0-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCF9\uDD28-\uDD2F\uDD3A-\uDE5F\uDE7F\uDEAA\uDEAE\uDEAF\uDEB2-\uDEFF\uDF28-\uDF2F\uDF5A-\uDF6F\uDF8A-\uDFAF\uDFCC-\uDFDF\uDFF7-\uDFFF]|\uD804[\uDC4E-\uDC51\uDC76-\uDC7E\uDCC3-\uDCCC\uDCCE\uDCCF\uDCE9-\uDCEF\uDCFA-\uDCFF\uDD35\uDD48-\uDD4F\uDD77-\uDD7F\uDDE0\uDDF5-\uDDFF\uDE12\uDE3F-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEAA-\uDEAF\uDEEB-\uDEEF\uDEFA-\uDEFF\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A\uDF45\uDF46\uDF49\uDF4A\uDF4E\uDF4F\uDF51-\uDF56\uDF58-\uDF5C\uDF64\uDF65\uDF6D-\uDF6F\uDF75-\uDFFF]|\uD805[\uDC5C\uDC62-\uDC7F\uDCC8-\uDCCF\uDCDA-\uDD7F\uDDB6\uDDB7\uDDDE-\uDDFF\uDE45-\uDE4F\uDE5A-\uDE5F\uDE6D-\uDE7F\uDEBA-\uDEBF\uDECA-\uDEFF\uDF1B\uDF1C\uDF2C-\uDF2F\uDF47-\uDFFF]|\uD806[\uDC3C-\uDC9F\uDCF3-\uDCFE\uDD07\uDD08\uDD0A\uDD0B\uDD14\uDD17\uDD36\uDD39\uDD3A\uDD47-\uDD4F\uDD5A-\uDD9F\uDDA8\uDDA9\uDDD8\uDDD9\uDDE5-\uDDFF\uDE48-\uDE4F\uDEA3-\uDEAF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC37\uDC46-\uDC4F\uDC6D-\uDC6F\uDC90\uDC91\uDCA8\uDCB7-\uDCFF\uDD07\uDD0A\uDD37-\uDD39\uDD3B\uDD3E\uDD48-\uDD4F\uDD5A-\uDD5F\uDD66\uDD69\uDD8F\uDD92\uDD99-\uDD9F\uDDAA-\uDEDF\uDEF9-\uDFAF\uDFB1-\uDFBF\uDFF2-\uDFFE]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC6F\uDC75-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80E-\uD810\uD812-\uD819\uD824-\uD82A\uD82D\uD82E\uD830-\uD832\uD83F\uD87B-\uD87D\uD87F\uD885-\uDB3F\uDB41-\uDB7F][\uDC00-\uDFFF]|\uD80B[\uDC00-\uDF8F\uDFF3-\uDFFF]|\uD80D[\uDC2F\uDC39-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F\uDE6A-\uDE6D\uDEBF\uDECA-\uDECF\uDEEE\uDEEF\uDEF6-\uDEFF\uDF46-\uDF4F\uDF5A\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDE3F\uDE9B-\uDEFF\uDF4B-\uDF4E\uDF88-\uDF8E\uDFA0-\uDFDF\uDFE5-\uDFEF\uDFF2-\uDFFF]|\uD821[\uDFF8-\uDFFF]|\uD823[\uDCD6-\uDCFF\uDD09-\uDFFF]|\uD82B[\uDC00-\uDFEF\uDFF4\uDFFC\uDFFF]|\uD82C[\uDD23-\uDD4F\uDD53-\uDD63\uDD68-\uDD6F\uDEFC-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A\uDC9B\uDCA4-\uDFFF]|\uD833[\uDC00-\uDEFF\uDF2E\uDF2F\uDF47-\uDF4F\uDFC4-\uDFFF]|\uD834[\uDCF6-\uDCFF\uDD27\uDD28\uDDEB-\uDDFF\uDE46-\uDEDF\uDEF4-\uDEFF\uDF57-\uDF5F\uDF79-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDFCC\uDFCD]|\uD836[\uDE8C-\uDE9A\uDEA0\uDEB0-\uDFFF]|\uD837[\uDC00-\uDEFF\uDF1F-\uDFFF]|\uD838[\uDC07\uDC19\uDC1A\uDC22\uDC25\uDC2B-\uDCFF\uDD2D-\uDD2F\uDD3E\uDD3F\uDD4A-\uDD4D\uDD50-\uDE8F\uDEAF-\uDEBF\uDEFA-\uDEFE\uDF00-\uDFFF]|\uD839[\uDC00-\uDFDF\uDFE7\uDFEC\uDFEF\uDFFF]|\uD83A[\uDCC5\uDCC6\uDCD7-\uDCFF\uDD4C-\uDD4F\uDD5A-\uDD5D\uDD60-\uDFFF]|\uD83B[\uDC00-\uDC70\uDCB5-\uDD00\uDD3E-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDEEF\uDEF2-\uDFFF]|\uD83C[\uDC2C-\uDC2F\uDC94-\uDC9F\uDCAF\uDCB0\uDCC0\uDCD0\uDCF6-\uDCFF\uDDAE-\uDDE5\uDE03-\uDE0F\uDE3C-\uDE3F\uDE49-\uDE4F\uDE52-\uDE5F\uDE66-\uDEFF]|\uD83D[\uDED8-\uDEDC\uDEED-\uDEEF\uDEFD-\uDEFF\uDF74-\uDF7F\uDFD9-\uDFDF\uDFEC-\uDFEF\uDFF1-\uDFFF]|\uD83E[\uDC0C-\uDC0F\uDC48-\uDC4F\uDC5A-\uDC5F\uDC88-\uDC8F\uDCAE\uDCAF\uDCB2-\uDCFF\uDE54-\uDE5F\uDE6E\uDE6F\uDE75-\uDE77\uDE7D-\uDE7F\uDE87-\uDE8F\uDEAD-\uDEAF\uDEBB-\uDEBF\uDEC6-\uDECF\uDEDA-\uDEDF\uDEE8-\uDEEF\uDEF7-\uDEFF\uDF93\uDFCB-\uDFEF\uDFFA-\uDFFF]|\uD869[\uDEE0-\uDEFF]|\uD86D[\uDF39-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDEAF]|\uD87A[\uDFE1-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uD884[\uDF4B-\uDFFF]|\uDB40[\uDC00\uDC02-\uDC1F\uDC80-\uDCFF\uDDF0-\uDFFF]|[\uDBBF\uDBFF][\uDFFE\uDFFF]"},{name:"Co",alias:"Private_Use",bmp:"-",astral:"[\uDB80-\uDBBE\uDBC0-\uDBFE][\uDC00-\uDFFF]|[\uDBBF\uDBFF][\uDC00-\uDFFD]"},{name:"Cs",alias:"Surrogate",bmp:"\uD800-\uDFFF"},{name:"L",alias:"Letter",bmp:"A-Za-zªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛱ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢄᢇ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎↃↄⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々〆〱-〵〻〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛥꜗ-ꜟꜢ-ꞈꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",astral:"\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A]"},{name:"LC",alias:"Cased_Letter",bmp:"A-Za-zµÀ-ÖØ-öø-ƺƼ-ƿDŽ-ʓʕ-ʯͰ-ͳͶͷͻ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՠ-ֈႠ-ჅჇჍა-ჺჽ-ჿᎠ-Ᏽᏸ-ᏽᲀ-ᲈᲐ-ᲺᲽ-Ჿᴀ-ᴫᵫ-ᵷᵹ-ᶚḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℴℹℼ-ℿⅅ-ⅉⅎↃↄⰀ-ⱻⱾ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭꙀ-ꙭꚀ-ꚛꜢ-ꝯꝱ-ꞇꞋ-ꞎꞐ-ꟊꟐꟑꟓꟕ-ꟙꟵꟶꟺꬰ-ꭚꭠ-ꭨꭰ-ꮿff-stﬓ-ﬗA-Za-z",astral:"\uD801[\uDC00-\uDC4F\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC]|\uD803[\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD806[\uDCA0-\uDCDF]|\uD81B[\uDE40-\uDE7F]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF09\uDF0B-\uDF1E]|\uD83A[\uDD00-\uDD43]"},{name:"Ll",alias:"Lowercase_Letter",bmp:"a-zµß-öø-ÿāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįıijĵķĸĺļľŀłńņňʼnŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷźżž-ƀƃƅƈƌƍƒƕƙ-ƛƞơƣƥƨƪƫƭưƴƶƹƺƽ-ƿdžljnjǎǐǒǔǖǘǚǜǝǟǡǣǥǧǩǫǭǯǰdzǵǹǻǽǿȁȃȅȇȉȋȍȏȑȓȕȗșțȝȟȡȣȥȧȩȫȭȯȱȳ-ȹȼȿɀɂɇɉɋɍɏ-ʓʕ-ʯͱͳͷͻ-ͽΐά-ώϐϑϕ-ϗϙϛϝϟϡϣϥϧϩϫϭϯ-ϳϵϸϻϼа-џѡѣѥѧѩѫѭѯѱѳѵѷѹѻѽѿҁҋҍҏґғҕҗҙқҝҟҡңҥҧҩҫҭүұҳҵҷҹһҽҿӂӄӆӈӊӌӎӏӑӓӕӗәӛӝӟӡӣӥӧөӫӭӯӱӳӵӷӹӻӽӿԁԃԅԇԉԋԍԏԑԓԕԗԙԛԝԟԡԣԥԧԩԫԭԯՠ-ֈა-ჺჽ-ჿᏸ-ᏽᲀ-ᲈᴀ-ᴫᵫ-ᵷᵹ-ᶚḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕ-ẝẟạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹỻỽỿ-ἇἐ-ἕἠ-ἧἰ-ἷὀ-ὅὐ-ὗὠ-ὧὰ-ώᾀ-ᾇᾐ-ᾗᾠ-ᾧᾰ-ᾴᾶᾷιῂ-ῄῆῇῐ-ΐῖῗῠ-ῧῲ-ῴῶῷℊℎℏℓℯℴℹℼℽⅆ-ⅉⅎↄⰰ-ⱟⱡⱥⱦⱨⱪⱬⱱⱳⱴⱶ-ⱻⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣⳤⳬⳮⳳⴀ-ⴥⴧⴭꙁꙃꙅꙇꙉꙋꙍꙏꙑꙓꙕꙗꙙꙛꙝꙟꙡꙣꙥꙧꙩꙫꙭꚁꚃꚅꚇꚉꚋꚍꚏꚑꚓꚕꚗꚙꚛꜣꜥꜧꜩꜫꜭꜯ-ꜱꜳꜵꜷꜹꜻꜽꜿꝁꝃꝅꝇꝉꝋꝍꝏꝑꝓꝕꝗꝙꝛꝝꝟꝡꝣꝥꝧꝩꝫꝭꝯꝱ-ꝸꝺꝼꝿꞁꞃꞅꞇꞌꞎꞑꞓ-ꞕꞗꞙꞛꞝꞟꞡꞣꞥꞧꞩꞯꞵꞷꞹꞻꞽꞿꟁꟃꟈꟊꟑꟓꟕꟗꟙꟶꟺꬰ-ꭚꭠ-ꭨꭰ-ꮿff-stﬓ-ﬗa-z",astral:"\uD801[\uDC28-\uDC4F\uDCD8-\uDCFB\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC]|\uD803[\uDCC0-\uDCF2]|\uD806[\uDCC0-\uDCDF]|\uD81B[\uDE60-\uDE7F]|\uD835[\uDC1A-\uDC33\uDC4E-\uDC54\uDC56-\uDC67\uDC82-\uDC9B\uDCB6-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDCEA-\uDD03\uDD1E-\uDD37\uDD52-\uDD6B\uDD86-\uDD9F\uDDBA-\uDDD3\uDDEE-\uDE07\uDE22-\uDE3B\uDE56-\uDE6F\uDE8A-\uDEA5\uDEC2-\uDEDA\uDEDC-\uDEE1\uDEFC-\uDF14\uDF16-\uDF1B\uDF36-\uDF4E\uDF50-\uDF55\uDF70-\uDF88\uDF8A-\uDF8F\uDFAA-\uDFC2\uDFC4-\uDFC9\uDFCB]|\uD837[\uDF00-\uDF09\uDF0B-\uDF1E]|\uD83A[\uDD22-\uDD43]"},{name:"Lm",alias:"Modifier_Letter",bmp:"ʰ-ˁˆ-ˑˠ-ˤˬˮʹͺՙـۥۦߴߵߺࠚࠤࠨࣉॱๆໆჼៗᡃᪧᱸ-ᱽᴬ-ᵪᵸᶛ-ᶿⁱⁿₐ-ₜⱼⱽⵯⸯ々〱-〵〻ゝゞー-ヾꀕꓸ-ꓽꘌꙿꚜꚝꜗ-ꜟꝰꞈꟲ-ꟴꟸꟹꧏꧦꩰꫝꫳꫴꭜ-ꭟꭩー゙゚",astral:"\uD801[\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD81A[\uDF40-\uDF43]|\uD81B[\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD838[\uDD37-\uDD3D]|𞥋"},{name:"Lo",alias:"Other_Letter",bmp:"ªºƻǀ-ǃʔא-תׯ-ײؠ-ؿف-يٮٯٱ-ۓەۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪࠀ-ࠕࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣈऄ-हऽॐक़-ॡॲ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๅກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎᄀ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛱ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៜᠠ-ᡂᡄ-ᡸᢀ-ᢄᢇ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱷᳩ-ᳬᳮ-ᳳᳵᳶᳺℵ-ℸⴰ-ⵧⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ〆〼ぁ-ゖゟァ-ヺヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꀔꀖ-ꒌꓐ-ꓷꔀ-ꘋꘐ-ꘟꘪꘫꙮꚠ-ꛥꞏꟷꟻ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧠ-ꧤꧧ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩯꩱ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛꫜꫠ-ꫪꫲꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎יִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼヲ-ッア-ンᅠ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",astral:"\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC50-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF4A\uDF50]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|𝼊|\uD838[\uDD00-\uDD2C\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A]"},{name:"Lt",alias:"Titlecase_Letter",bmp:"DžLjNjDzᾈ-ᾏᾘ-ᾟᾨ-ᾯᾼῌῼ"},{name:"Lu",alias:"Uppercase_Letter",bmp:"A-ZÀ-ÖØ-ÞĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮİIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŸŹŻŽƁƂƄƆƇƉ-ƋƎ-ƑƓƔƖ-ƘƜƝƟƠƢƤƦƧƩƬƮƯƱ-ƳƵƷƸƼDŽLJNJǍǏǑǓǕǗǙǛǞǠǢǤǦǨǪǬǮDZǴǶ-ǸǺǼǾȀȂȄȆȈȊȌȎȐȒȔȖȘȚȜȞȠȢȤȦȨȪȬȮȰȲȺȻȽȾɁɃ-ɆɈɊɌɎͰͲͶͿΆΈ-ΊΌΎΏΑ-ΡΣ-ΫϏϒ-ϔϘϚϜϞϠϢϤϦϨϪϬϮϴϷϹϺϽ-ЯѠѢѤѦѨѪѬѮѰѲѴѶѸѺѼѾҀҊҌҎҐҒҔҖҘҚҜҞҠҢҤҦҨҪҬҮҰҲҴҶҸҺҼҾӀӁӃӅӇӉӋӍӐӒӔӖӘӚӜӞӠӢӤӦӨӪӬӮӰӲӴӶӸӺӼӾԀԂԄԆԈԊԌԎԐԒԔԖԘԚԜԞԠԢԤԦԨԪԬԮԱ-ՖႠ-ჅჇჍᎠ-ᏵᲐ-ᲺᲽ-ᲿḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẞẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸỺỼỾἈ-ἏἘ-ἝἨ-ἯἸ-ἿὈ-ὍὙὛὝὟὨ-ὯᾸ-ΆῈ-ΉῘ-ΊῨ-ῬῸ-Ώℂℇℋ-ℍℐ-ℒℕℙ-ℝℤΩℨK-ℭℰ-ℳℾℿⅅↃⰀ-ⰯⱠⱢ-ⱤⱧⱩⱫⱭ-ⱰⱲⱵⱾ-ⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚⳜⳞⳠⳢⳫⳭⳲꙀꙂꙄꙆꙈꙊꙌꙎꙐꙒꙔꙖꙘꙚꙜꙞꙠꙢꙤꙦꙨꙪꙬꚀꚂꚄꚆꚈꚊꚌꚎꚐꚒꚔꚖꚘꚚꜢꜤꜦꜨꜪꜬꜮꜲꜴꜶꜸꜺꜼꜾꝀꝂꝄꝆꝈꝊꝌꝎꝐꝒꝔꝖꝘꝚꝜꝞꝠꝢꝤꝦꝨꝪꝬꝮꝹꝻꝽꝾꞀꞂꞄꞆꞋꞍꞐꞒꞖꞘꞚꞜꞞꞠꞢꞤꞦꞨꞪ-ꞮꞰ-ꞴꞶꞸꞺꞼꞾꟀꟂꟄ-ꟇꟉꟐꟖꟘꟵA-Z",astral:"\uD801[\uDC00-\uDC27\uDCB0-\uDCD3\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95]|\uD803[\uDC80-\uDCB2]|\uD806[\uDCA0-\uDCBF]|\uD81B[\uDE40-\uDE5F]|\uD835[\uDC00-\uDC19\uDC34-\uDC4D\uDC68-\uDC81\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB5\uDCD0-\uDCE9\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD38\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD6C-\uDD85\uDDA0-\uDDB9\uDDD4-\uDDED\uDE08-\uDE21\uDE3C-\uDE55\uDE70-\uDE89\uDEA8-\uDEC0\uDEE2-\uDEFA\uDF1C-\uDF34\uDF56-\uDF6E\uDF90-\uDFA8\uDFCA]|\uD83A[\uDD00-\uDD21]"},{name:"M",alias:"Mark",bmp:"̀-ͯ҃-҉֑-ׇֽֿׁׂׅׄؐ-ًؚ-ٰٟۖ-ۜ۟-۪ۤۧۨ-ܑۭܰ-݊ަ-ް߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࢘-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣঁ-ঃ়া-ৄেৈো-্ৗৢৣ৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑੰੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣஂா-ூெ-ைொ-்ௗఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣඁ-ඃ්ා-ුූෘ-ෟෲෳัิ-ฺ็-๎ັິ-ຼ່-ໍ༹༘༙༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏႚ-ႝ፝-፟ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝᠋-᠍᠏ᢅᢆᢩᤠ-ᤫᤰ-᤻ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼᪰-ᫎᬀ-ᬄ᬴-᭄᭫-᭳ᮀ-ᮂᮡ-ᮭ᯦-᯳ᰤ-᰷᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿⃐-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꙯-꙲ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣠-꣱ꣿꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀ꧥꨩ-ꨶꩃꩌꩍꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭ﬞ︀-️︠-︯",astral:"\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDEAB\uDEAC\uDF46-\uDF50\uDF82-\uDF85]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC70\uDC73\uDC74\uDC7F-\uDC82\uDCB0-\uDCBA\uDCC2\uDD00-\uDD02\uDD27-\uDD34\uDD45\uDD46\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDDC9-\uDDCC\uDDCE\uDDCF\uDE2C-\uDE37\uDE3E\uDEDF-\uDEEA\uDF00-\uDF03\uDF3B\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC35-\uDC46\uDC5E\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDDDC\uDDDD\uDE30-\uDE40\uDEAB-\uDEB7\uDF1D-\uDF2B]|\uD806[\uDC2C-\uDC3A\uDD30-\uDD35\uDD37\uDD38\uDD3B-\uDD3E\uDD40\uDD42\uDD43\uDDD1-\uDDD7\uDDDA-\uDDE0\uDDE4\uDE01-\uDE0A\uDE33-\uDE39\uDE3B-\uDE3E\uDE47\uDE51-\uDE5B\uDE8A-\uDE99]|\uD807[\uDC2F-\uDC36\uDC38-\uDC3F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD8A-\uDD8E\uDD90\uDD91\uDD93-\uDD97\uDEF3-\uDEF6]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF4F\uDF51-\uDF87\uDF8F-\uDF92\uDFE4\uDFF0\uDFF1]|\uD82F[\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD30-\uDD36\uDEAE\uDEEC-\uDEEF]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uDB40[\uDD00-\uDDEF]"},{name:"Mc",alias:"Spacing_Mark",bmp:"ःऻा-ीॉ-ौॎॏংঃা-ীেৈোৌৗਃਾ-ੀઃા-ીૉોૌଂଃାୀେୈୋୌୗாிுூெ-ைொ-ௌௗఁ-ఃు-ౄಂಃಾೀ-ೄೇೈೊೋೕೖംഃാ-ീെ-ൈൊ-ൌൗංඃා-ෑෘ-ෟෲෳ༾༿ཿါာေးျြၖၗၢ-ၤၧ-ၭႃႄႇ-ႌႏႚ-ႜ᜕᜴ាើ-ៅះៈᤣ-ᤦᤩ-ᤫᤰᤱᤳ-ᤸᨙᨚᩕᩗᩡᩣᩤᩭ-ᩲᬄᬵᬻᬽ-ᭁᭃ᭄ᮂᮡᮦᮧ᮪ᯧᯪ-ᯬᯮ᯲᯳ᰤ-ᰫᰴᰵ᳡᳷〮〯ꠣꠤꠧꢀꢁꢴ-ꣃꥒ꥓ꦃꦴꦵꦺꦻꦾ-꧀ꨯꨰꨳꨴꩍꩻꩽꫫꫮꫯꫵꯣꯤꯦꯧꯩꯪ꯬",astral:"\uD804[\uDC00\uDC02\uDC82\uDCB0-\uDCB2\uDCB7\uDCB8\uDD2C\uDD45\uDD46\uDD82\uDDB3-\uDDB5\uDDBF\uDDC0\uDDCE\uDE2C-\uDE2E\uDE32\uDE33\uDE35\uDEE0-\uDEE2\uDF02\uDF03\uDF3E\uDF3F\uDF41-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63]|\uD805[\uDC35-\uDC37\uDC40\uDC41\uDC45\uDCB0-\uDCB2\uDCB9\uDCBB-\uDCBE\uDCC1\uDDAF-\uDDB1\uDDB8-\uDDBB\uDDBE\uDE30-\uDE32\uDE3B\uDE3C\uDE3E\uDEAC\uDEAE\uDEAF\uDEB6\uDF20\uDF21\uDF26]|\uD806[\uDC2C-\uDC2E\uDC38\uDD30-\uDD35\uDD37\uDD38\uDD3D\uDD40\uDD42\uDDD1-\uDDD3\uDDDC-\uDDDF\uDDE4\uDE39\uDE57\uDE58\uDE97]|\uD807[\uDC2F\uDC3E\uDCA9\uDCB1\uDCB4\uDD8A-\uDD8E\uDD93\uDD94\uDD96\uDEF5\uDEF6]|\uD81B[\uDF51-\uDF87\uDFF0\uDFF1]|\uD834[\uDD65\uDD66\uDD6D-\uDD72]"},{name:"Me",alias:"Enclosing_Mark",bmp:"҈҉᪾⃝-⃠⃢-⃤꙰-꙲"},{name:"Mn",alias:"Nonspacing_Mark",bmp:"̀-ͯ҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-ٰٟۖ-ۜ۟-۪ۤۧۨ-ܑۭܰ-݊ަ-ް߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࢘-࢟࣊-ࣣ࣡-ंऺ़ु-ै्॑-ॗॢॣঁ়ু-ৄ্ৢৣ৾ਁਂ਼ੁੂੇੈੋ-੍ੑੰੱੵઁં઼ુ-ૅેૈ્ૢૣૺ-૿ଁ଼ିୁ-ୄ୍୕ୖୢୣஂீ்ఀఄ఼ా-ీె-ైొ-్ౕౖౢౣಁ಼ಿೆೌ್ೢೣഀഁ഻഼ു-ൄ്ൢൣඁ්ි-ුූัิ-ฺ็-๎ັິ-ຼ່-ໍཱ༹༘༙༵༷-ཾྀ-྄྆྇ྍ-ྗྙ-ྼ࿆ိ-ူဲ-့္်ွှၘၙၞ-ၠၱ-ၴႂႅႆႍႝ፝-፟ᜒ-᜔ᜲᜳᝒᝓᝲᝳ឴឵ិ-ួំ៉-៓៝᠋-᠍᠏ᢅᢆᢩᤠ-ᤢᤧᤨᤲ᤹-᤻ᨘᨗᨛᩖᩘ-ᩞ᩠ᩢᩥ-ᩬᩳ-᩿᩼᪰-᪽ᪿ-ᫎᬀ-ᬃ᬴ᬶ-ᬺᬼᭂ᭫-᭳ᮀᮁᮢ-ᮥᮨᮩ᮫-ᮭ᯦ᯨᯩᯭᯯ-ᯱᰬ-ᰳᰶ᰷᳐-᳔᳒-᳢᳠-᳨᳭᳴᳸᳹᷀-᷿⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〭꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠥꠦ꠬꣄ꣅ꣠-꣱ꣿꤦ-꤭ꥇ-ꥑꦀ-ꦂ꦳ꦶ-ꦹꦼꦽꧥꨩ-ꨮꨱꨲꨵꨶꩃꩌꩼꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫬꫭ꫶ꯥꯨ꯭ﬞ︀-️︠-︯",astral:"\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDEAB\uDEAC\uDF46-\uDF50\uDF82-\uDF85]|\uD804[\uDC01\uDC38-\uDC46\uDC70\uDC73\uDC74\uDC7F-\uDC81\uDCB3-\uDCB6\uDCB9\uDCBA\uDCC2\uDD00-\uDD02\uDD27-\uDD2B\uDD2D-\uDD34\uDD73\uDD80\uDD81\uDDB6-\uDDBE\uDDC9-\uDDCC\uDDCF\uDE2F-\uDE31\uDE34\uDE36\uDE37\uDE3E\uDEDF\uDEE3-\uDEEA\uDF00\uDF01\uDF3B\uDF3C\uDF40\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC38-\uDC3F\uDC42-\uDC44\uDC46\uDC5E\uDCB3-\uDCB8\uDCBA\uDCBF\uDCC0\uDCC2\uDCC3\uDDB2-\uDDB5\uDDBC\uDDBD\uDDBF\uDDC0\uDDDC\uDDDD\uDE33-\uDE3A\uDE3D\uDE3F\uDE40\uDEAB\uDEAD\uDEB0-\uDEB5\uDEB7\uDF1D-\uDF1F\uDF22-\uDF25\uDF27-\uDF2B]|\uD806[\uDC2F-\uDC37\uDC39\uDC3A\uDD3B\uDD3C\uDD3E\uDD43\uDDD4-\uDDD7\uDDDA\uDDDB\uDDE0\uDE01-\uDE0A\uDE33-\uDE38\uDE3B-\uDE3E\uDE47\uDE51-\uDE56\uDE59-\uDE5B\uDE8A-\uDE96\uDE98\uDE99]|\uD807[\uDC30-\uDC36\uDC38-\uDC3D\uDC3F\uDC92-\uDCA7\uDCAA-\uDCB0\uDCB2\uDCB3\uDCB5\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD90\uDD91\uDD95\uDD97\uDEF3\uDEF4]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF4F\uDF8F-\uDF92\uDFE4]|\uD82F[\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD67-\uDD69\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD30-\uDD36\uDEAE\uDEEC-\uDEEF]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uDB40[\uDD00-\uDDEF]"},{name:"N",alias:"Number",bmp:"0-9²³¹¼-¾٠-٩۰-۹߀-߉०-९০-৯৴-৹੦-੯૦-૯୦-୯୲-୷௦-௲౦-౯౸-౾೦-೯൘-൞൦-൸෦-෯๐-๙໐-໙༠-༳၀-၉႐-႙፩-፼ᛮ-ᛰ០-៩៰-៹᠐-᠙᥆-᥏᧐-᧚᪀-᪉᪐-᪙᭐-᭙᮰-᮹᱀-᱉᱐-᱙⁰⁴-⁹₀-₉⅐-ↂↅ-↉①-⒛⓪-⓿❶-➓⳽〇〡-〩〸-〺㆒-㆕㈠-㈩㉈-㉏㉑-㉟㊀-㊉㊱-㊿꘠-꘩ꛦ-ꛯ꠰-꠵꣐-꣙꤀-꤉꧐-꧙꧰-꧹꩐-꩙꯰-꯹0-9",astral:"\uD800[\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDEE1-\uDEFB\uDF20-\uDF23\uDF41\uDF4A\uDFD1-\uDFD5]|\uD801[\uDCA0-\uDCA9]|\uD802[\uDC58-\uDC5F\uDC79-\uDC7F\uDCA7-\uDCAF\uDCFB-\uDCFF\uDD16-\uDD1B\uDDBC\uDDBD\uDDC0-\uDDCF\uDDD2-\uDDFF\uDE40-\uDE48\uDE7D\uDE7E\uDE9D-\uDE9F\uDEEB-\uDEEF\uDF58-\uDF5F\uDF78-\uDF7F\uDFA9-\uDFAF]|\uD803[\uDCFA-\uDCFF\uDD30-\uDD39\uDE60-\uDE7E\uDF1D-\uDF26\uDF51-\uDF54\uDFC5-\uDFCB]|\uD804[\uDC52-\uDC6F\uDCF0-\uDCF9\uDD36-\uDD3F\uDDD0-\uDDD9\uDDE1-\uDDF4\uDEF0-\uDEF9]|\uD805[\uDC50-\uDC59\uDCD0-\uDCD9\uDE50-\uDE59\uDEC0-\uDEC9\uDF30-\uDF3B]|\uD806[\uDCE0-\uDCF2\uDD50-\uDD59]|\uD807[\uDC50-\uDC6C\uDD50-\uDD59\uDDA0-\uDDA9\uDFC0-\uDFD4]|\uD809[\uDC00-\uDC6E]|\uD81A[\uDE60-\uDE69\uDEC0-\uDEC9\uDF50-\uDF59\uDF5B-\uDF61]|\uD81B[\uDE80-\uDE96]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDFCE-\uDFFF]|\uD838[\uDD40-\uDD49\uDEF0-\uDEF9]|\uD83A[\uDCC7-\uDCCF\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]"},{name:"Nd",alias:"Decimal_Number",bmp:"0-9٠-٩۰-۹߀-߉०-९০-৯੦-੯૦-૯୦-୯௦-௯౦-౯೦-೯൦-൯෦-෯๐-๙໐-໙༠-༩၀-၉႐-႙០-៩᠐-᠙᥆-᥏᧐-᧙᪀-᪉᪐-᪙᭐-᭙᮰-᮹᱀-᱉᱐-᱙꘠-꘩꣐-꣙꤀-꤉꧐-꧙꧰-꧹꩐-꩙꯰-꯹0-9",astral:"\uD801[\uDCA0-\uDCA9]|\uD803[\uDD30-\uDD39]|\uD804[\uDC66-\uDC6F\uDCF0-\uDCF9\uDD36-\uDD3F\uDDD0-\uDDD9\uDEF0-\uDEF9]|\uD805[\uDC50-\uDC59\uDCD0-\uDCD9\uDE50-\uDE59\uDEC0-\uDEC9\uDF30-\uDF39]|\uD806[\uDCE0-\uDCE9\uDD50-\uDD59]|\uD807[\uDC50-\uDC59\uDD50-\uDD59\uDDA0-\uDDA9]|\uD81A[\uDE60-\uDE69\uDEC0-\uDEC9\uDF50-\uDF59]|\uD835[\uDFCE-\uDFFF]|\uD838[\uDD40-\uDD49\uDEF0-\uDEF9]|\uD83A[\uDD50-\uDD59]|\uD83E[\uDFF0-\uDFF9]"},{name:"Nl",alias:"Letter_Number",bmp:"ᛮ-ᛰⅠ-ↂↅ-ↈ〇〡-〩〸-〺ꛦ-ꛯ",astral:"\uD800[\uDD40-\uDD74\uDF41\uDF4A\uDFD1-\uDFD5]|\uD809[\uDC00-\uDC6E]"},{name:"No",alias:"Other_Number",bmp:"²³¹¼-¾৴-৹୲-୷௰-௲౸-౾൘-൞൰-൸༪-༳፩-፼៰-៹᧚⁰⁴-⁹₀-₉⅐-⅟↉①-⒛⓪-⓿❶-➓⳽㆒-㆕㈠-㈩㉈-㉏㉑-㉟㊀-㊉㊱-㊿꠰-꠵",astral:"\uD800[\uDD07-\uDD33\uDD75-\uDD78\uDD8A\uDD8B\uDEE1-\uDEFB\uDF20-\uDF23]|\uD802[\uDC58-\uDC5F\uDC79-\uDC7F\uDCA7-\uDCAF\uDCFB-\uDCFF\uDD16-\uDD1B\uDDBC\uDDBD\uDDC0-\uDDCF\uDDD2-\uDDFF\uDE40-\uDE48\uDE7D\uDE7E\uDE9D-\uDE9F\uDEEB-\uDEEF\uDF58-\uDF5F\uDF78-\uDF7F\uDFA9-\uDFAF]|\uD803[\uDCFA-\uDCFF\uDE60-\uDE7E\uDF1D-\uDF26\uDF51-\uDF54\uDFC5-\uDFCB]|\uD804[\uDC52-\uDC65\uDDE1-\uDDF4]|\uD805[\uDF3A\uDF3B]|\uD806[\uDCEA-\uDCF2]|\uD807[\uDC5A-\uDC6C\uDFC0-\uDFD4]|\uD81A[\uDF5B-\uDF61]|\uD81B[\uDE80-\uDE96]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD83A[\uDCC7-\uDCCF]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D]|\uD83C[\uDD00-\uDD0C]"},{name:"P",alias:"Punctuation",bmp:"!-#%-\\*,-\\/:;\\?@\\[-\\]_\\{\\}¡§«¶·»¿;·՚-՟։֊־׀׃׆׳״؉؊،؍؛؝-؟٪-٭۔܀-܍߷-߹࠰-࠾࡞।॥॰৽੶૰౷಄෴๏๚๛༄-༒༔༺-༽྅࿐-࿔࿙࿚၊-၏჻፠-፨᐀᙮᚛᚜᛫-᛭᜵᜶។-៖៘-៚᠀-᠊᥄᥅᨞᨟᪠-᪦᪨-᪭᭚-᭠᭽᭾᯼-᯿᰻-᰿᱾᱿᳀-᳇᳓‐-‧‰-⁃⁅-⁑⁓-⁞⁽⁾₍₎⌈-⌋〈〉❨-❵⟅⟆⟦-⟯⦃-⦘⧘-⧛⧼⧽⳹-⳼⳾⳿⵰⸀-⸮⸰-⹏⹒-⹝、-〃〈-】〔-〟〰〽゠・꓾꓿꘍-꘏꙳꙾꛲-꛷꡴-꡷꣎꣏꣸-꣺꣼꤮꤯꥟꧁-꧍꧞꧟꩜-꩟꫞꫟꫰꫱꯫﴾﴿︐-︙︰-﹒﹔-﹡﹣﹨﹪﹫!-#%-*,-/:;?@[-]_{}⦅-・",astral:"\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|𐕯|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDEAD\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A\uDFE2]|𛲟|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]"},{name:"Pc",alias:"Connector_Punctuation",bmp:"_‿⁀⁔︳︴﹍-﹏_"},{name:"Pd",alias:"Dash_Punctuation",bmp:"\\-֊־᐀᠆‐-―⸗⸚⸺⸻⹀⹝〜〰゠︱︲﹘﹣-",astral:"𐺭"},{name:"Pe",alias:"Close_Punctuation",bmp:"\\)\\]\\}༻༽᚜⁆⁾₎⌉⌋〉❩❫❭❯❱❳❵⟆⟧⟩⟫⟭⟯⦄⦆⦈⦊⦌⦎⦐⦒⦔⦖⦘⧙⧛⧽⸣⸥⸧⸩⹖⹘⹚⹜〉》」』】〕〗〙〛〞〟﴾︘︶︸︺︼︾﹀﹂﹄﹈﹚﹜﹞)]}⦆」"},{name:"Pf",alias:"Final_Punctuation",bmp:"»’”›⸃⸅⸊⸍⸝⸡"},{name:"Pi",alias:"Initial_Punctuation",bmp:"«‘‛“‟‹⸂⸄⸉⸌⸜⸠"},{name:"Po",alias:"Other_Punctuation",bmp:"!-#%-'\\*,\\.\\/:;\\?@\\¡§¶·¿;·՚-՟։׀׃׆׳״؉؊،؍؛؝-؟٪-٭۔܀-܍߷-߹࠰-࠾࡞।॥॰৽੶૰౷಄෴๏๚๛༄-༒༔྅࿐-࿔࿙࿚၊-၏჻፠-፨᙮᛫-᛭᜵᜶។-៖៘-៚᠀-᠅᠇-᠊᥄᥅᨞᨟᪠-᪦᪨-᪭᭚-᭠᭽᭾᯼-᯿᰻-᰿᱾᱿᳀-᳇᳓‖‗†-‧‰-‸※-‾⁁-⁃⁇-⁑⁓⁕-⁞⳹-⳼⳾⳿⵰⸀⸁⸆-⸈⸋⸎-⸖⸘⸙⸛⸞⸟⸪-⸮⸰-⸹⸼-⸿⹁⹃-⹏⹒-⹔、-〃〽・꓾꓿꘍-꘏꙳꙾꛲-꛷꡴-꡷꣎꣏꣸-꣺꣼꤮꤯꥟꧁-꧍꧞꧟꩜-꩟꫞꫟꫰꫱꯫︐-︖︙︰﹅﹆﹉-﹌﹐-﹒﹔-﹗﹟-﹡﹨﹪﹫!-#%-'*,./:;?@\。、・",astral:"\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|𐕯|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A\uDFE2]|𛲟|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]"},{name:"Ps",alias:"Open_Punctuation",bmp:"\\(\\[\\{༺༼᚛‚„⁅⁽₍⌈⌊〈❨❪❬❮❰❲❴⟅⟦⟨⟪⟬⟮⦃⦅⦇⦉⦋⦍⦏⦑⦓⦕⦗⧘⧚⧼⸢⸤⸦⸨⹂⹕⹗⹙⹛〈《「『【〔〖〘〚〝﴿︗︵︷︹︻︽︿﹁﹃﹇﹙﹛﹝([{⦅「"},{name:"S",alias:"Symbol",bmp:"\\$\\+<->\\^`\\|~¢-¦¨©¬®-±´¸×÷˂-˅˒-˟˥-˫˭˯-˿͵΄΅϶҂֍-֏؆-؈؋؎؏۞۩۽۾߶߾߿࢈৲৳৺৻૱୰௳-௺౿൏൹฿༁-༃༓༕-༗༚-༟༴༶༸྾-࿅࿇-࿌࿎࿏࿕-࿘႞႟᎐-᎙᙭៛᥀᧞-᧿᭡-᭪᭴-᭼᾽᾿-῁῍-῏῝-῟῭-`´῾⁄⁒⁺-⁼₊-₌₠-⃀℀℁℃-℆℈℉℔№-℘℞-℣℥℧℩℮℺℻⅀-⅄⅊-⅍⅏↊↋←-⌇⌌-⌨⌫-␦⑀-⑊⒜-ⓩ─-❧➔-⟄⟇-⟥⟰-⦂⦙-⧗⧜-⧻⧾-⭳⭶-⮕⮗-⯿⳥-⳪⹐⹑⺀-⺙⺛-⻳⼀-⿕⿰-⿻〄〒〓〠〶〷〾〿゛゜㆐㆑㆖-㆟㇀-㇣㈀-㈞㈪-㉇㉐㉠-㉿㊊-㊰㋀-㏿䷀-䷿꒐-꓆꜀-꜖꜠꜡꞉꞊꠨-꠫꠶-꠹꩷-꩹꭛꭪꭫﬩﮲-﯂﵀-﵏﷏﷼-﷿﹢﹤-﹦﹩$+<->^`|~¢-₩│-○�",astral:"\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|𑜿|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|𛲜|\uD833[\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEDD-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF73\uDF80-\uDFD8\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDE53\uDE60-\uDE6D\uDE70-\uDE74\uDE78-\uDE7C\uDE80-\uDE86\uDE90-\uDEAC\uDEB0-\uDEBA\uDEC0-\uDEC5\uDED0-\uDED9\uDEE0-\uDEE7\uDEF0-\uDEF6\uDF00-\uDF92\uDF94-\uDFCA]"},{name:"Sc",alias:"Currency_Symbol",bmp:"\\$¢-¥֏؋߾߿৲৳৻૱௹฿៛₠-⃀꠸﷼﹩$¢£¥₩",astral:"\uD807[\uDFDD-\uDFE0]|𞋿|𞲰"},{name:"Sk",alias:"Modifier_Symbol",bmp:"\\^`¨¯´¸˂-˅˒-˟˥-˫˭˯-˿͵΄΅࢈᾽᾿-῁῍-῏῝-῟῭-`´῾゛゜꜀-꜖꜠꜡꞉꞊꭛꭪꭫﮲-﯂^` ̄",astral:"\uD83C[\uDFFB-\uDFFF]"},{name:"Sm",alias:"Math_Symbol",bmp:"\\+<->\\|~¬±×÷϶؆-؈⁄⁒⁺-⁼₊-₌℘⅀-⅄⅋←-↔↚↛↠↣↦↮⇎⇏⇒⇔⇴-⋿⌠⌡⍼⎛-⎳⏜-⏡▷◁◸-◿♯⟀-⟄⟇-⟥⟰-⟿⤀-⦂⦙-⧗⧜-⧻⧾-⫿⬰-⭄⭇-⭌﬩﹢﹤-﹦+<->|~¬←-↓",astral:"\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD83B[\uDEF0\uDEF1]"},{name:"So",alias:"Other_Symbol",bmp:"¦©®°҂֍֎؎؏۞۩۽۾߶৺୰௳-௸௺౿൏൹༁-༃༓༕-༗༚-༟༴༶༸྾-࿅࿇-࿌࿎࿏࿕-࿘႞႟᎐-᎙᙭᥀᧞-᧿᭡-᭪᭴-᭼℀℁℃-℆℈℉℔№℗℞-℣℥℧℩℮℺℻⅊⅌⅍⅏↊↋↕-↙↜-↟↡↢↤↥↧-↭↯-⇍⇐⇑⇓⇕-⇳⌀-⌇⌌-⌟⌢-⌨⌫-⍻⍽-⎚⎴-⏛⏢-␦⑀-⑊⒜-ⓩ─-▶▸-◀◂-◷☀-♮♰-❧➔-➿⠀-⣿⬀-⬯⭅⭆⭍-⭳⭶-⮕⮗-⯿⳥-⳪⹐⹑⺀-⺙⺛-⻳⼀-⿕⿰-⿻〄〒〓〠〶〷〾〿㆐㆑㆖-㆟㇀-㇣㈀-㈞㈪-㉇㉐㉠-㉿㊊-㊰㋀-㏿䷀-䷿꒐-꓆꠨-꠫꠶꠷꠹꩷-꩹﵀-﵏﷏﷽-﷿¦│■○�",astral:"\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|𑜿|\uD807[\uDFD5-\uDFDC\uDFE1-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|𛲜|\uD833[\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|𞅏|\uD83B[\uDCAC\uDD2E]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFA]|\uD83D[\uDC00-\uDED7\uDEDD-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF73\uDF80-\uDFD8\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDE53\uDE60-\uDE6D\uDE70-\uDE74\uDE78-\uDE7C\uDE80-\uDE86\uDE90-\uDEAC\uDEB0-\uDEBA\uDEC0-\uDEC5\uDED0-\uDED9\uDEE0-\uDEE7\uDEF0-\uDEF6\uDF00-\uDF92\uDF94-\uDFCA]"},{name:"Z",alias:"Separator",bmp:"    - \u2028\u2029   "},{name:"Zl",alias:"Line_Separator",bmp:"\u2028"},{name:"Zp",alias:"Paragraph_Separator",bmp:"\u2029"},{name:"Zs",alias:"Space_Separator",bmp:"    -    "}];/*! * XRegExp Unicode Categories 5.1.1 * * Steven Levithan (c) 2010-present MIT License * Unicode data by Mathias Bynens - */const wT=e=>{if(!e.addUnicodeData)throw new ReferenceError("Unicode Base must be loaded before Unicode Categories");e.addUnicodeData(ST)};var _T=[{name:"ASCII",bmp:"\0-"},{name:"Alphabetic",bmp:"A-Za-zªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͅͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈְ-ׇֽֿׁׂׅׄא-תׯ-ײؐ-ؚؠ-ٗٙ-ٟٮ-ۓە-ۜۡ-ۭۨ-ۯۺ-ۼۿܐ-ܿݍ-ޱߊ-ߪߴߵߺࠀ-ࠗࠚ-ࠬࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉࣔ-ࣣࣟ-ࣰࣩ-ऻऽ-ौॎ-ॐॕ-ॣॱ-ঃঅ-ঌএঐও-নপ-রলশ-হঽ-ৄেৈোৌৎৗড়ঢ়য়-ৣৰৱৼਁ-ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਾ-ੂੇੈੋੌੑਖ਼-ੜਫ਼ੰ-ੵઁ-ઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽ-ૅે-ૉોૌૐૠ-ૣૹ-ૼଁ-ଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽ-ୄେୈୋୌୖୗଡ଼ଢ଼ୟ-ୣୱஂஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹா-ூெ-ைொ-ௌௐௗఀ-ఃఅ-ఌఎ-ఐఒ-నప-హఽ-ౄె-ైొ-ౌౕౖౘ-ౚౝౠ-ౣಀ-ಃಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽ-ೄೆ-ೈೊ-ೌೕೖೝೞೠ-ೣೱೲഀ-ഌഎ-ഐഒ-ഺഽ-ൄെ-ൈൊ-ൌൎൔ-ൗൟ-ൣൺ-ൿඁ-ඃඅ-ඖක-නඳ-රලව-ෆා-ුූෘ-ෟෲෳก-ฺเ-ๆํກຂຄຆ-ຊຌ-ຣລວ-ູົ-ຽເ-ໄໆໍໜ-ໟༀཀ-ཇཉ-ཬཱ-ཱྀྈ-ྗྙ-ྼက-ံးျ-ဿၐ-ႏႚ-ႝႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜓᜟ-ᜳᝀ-ᝓᝠ-ᝬᝮ-ᝰᝲᝳក-ឳា-ៈៗៜᠠ-ᡸᢀ-ᢪᢰ-ᣵᤀ-ᤞᤠ-ᤫᤰ-ᤸᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨛᨠ-ᩞᩡ-ᩴᪧᪿᫀᫌ-ᫎᬀ-ᬳᬵ-ᭃᭅ-ᭌᮀ-ᮩᮬ-ᮯᮺ-ᯥᯧ-ᯱᰀ-ᰶᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿᷧ-ᷴḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⒶ-ⓩⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⷠ-ⷿⸯ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙴ-ꙻꙿ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꠅꠇ-ꠧꡀ-ꡳꢀ-ꣃꣅꣲ-ꣷꣻꣽ-ꣿꤊ-ꤪꤰ-ꥒꥠ-ꥼꦀ-ꦲꦴ-ꦿꧏꧠ-ꧯꧺ-ꧾꨀ-ꨶꩀ-ꩍꩠ-ꩶꩺ-ꪾꫀꫂꫛ-ꫝꫠ-ꫯꫲ-ꫵꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯪ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",astral:"\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD27\uDE80-\uDEA9\uDEAB\uDEAC\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC00-\uDC45\uDC71-\uDC75\uDC82-\uDCB8\uDCC2\uDCD0-\uDCE8\uDD00-\uDD32\uDD44-\uDD47\uDD50-\uDD72\uDD76\uDD80-\uDDBF\uDDC1-\uDDC4\uDDCE\uDDCF\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE34\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEE8\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D-\uDF44\uDF47\uDF48\uDF4B\uDF4C\uDF50\uDF57\uDF5D-\uDF63]|\uD805[\uDC00-\uDC41\uDC43-\uDC45\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCC1\uDCC4\uDCC5\uDCC7\uDD80-\uDDB5\uDDB8-\uDDBE\uDDD8-\uDDDD\uDE00-\uDE3E\uDE40\uDE44\uDE80-\uDEB5\uDEB8\uDF00-\uDF1A\uDF1D-\uDF2A\uDF40-\uDF46]|\uD806[\uDC00-\uDC38\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD35\uDD37\uDD38\uDD3B\uDD3C\uDD3F-\uDD42\uDDA0-\uDDA7\uDDAA-\uDDD7\uDDDA-\uDDDF\uDDE1\uDDE3\uDDE4\uDE00-\uDE32\uDE35-\uDE3E\uDE50-\uDE97\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC3E\uDC40\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD41\uDD43\uDD46\uDD47\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD8E\uDD90\uDD91\uDD93-\uDD96\uDD98\uDEE0-\uDEF6\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF4F-\uDF87\uDF8F-\uDF9F\uDFE0\uDFE1\uDFE3\uDFF0\uDFF1]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9E]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD47\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD30-\uDD49\uDD50-\uDD69\uDD70-\uDD89]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A]"},{name:"Any",isBmpLast:!0,bmp:"\0-￿",astral:"[\uD800-\uDBFF][\uDC00-\uDFFF]"},{name:"Default_Ignorable_Code_Point",bmp:"­͏؜ᅟᅠ឴឵᠋-᠏​-‏‪-‮⁠-ㅤ︀-️\uFEFFᅠ￰-￸",astral:"\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|[\uDB40-\uDB43][\uDC00-\uDFFF]"},{name:"Lowercase",bmp:"a-zªµºß-öø-ÿāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįıijĵķĸĺļľŀłńņňʼnŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷźżž-ƀƃƅƈƌƍƒƕƙ-ƛƞơƣƥƨƪƫƭưƴƶƹƺƽ-ƿdžljnjǎǐǒǔǖǘǚǜǝǟǡǣǥǧǩǫǭǯǰdzǵǹǻǽǿȁȃȅȇȉȋȍȏȑȓȕȗșțȝȟȡȣȥȧȩȫȭȯȱȳ-ȹȼȿɀɂɇɉɋɍɏ-ʓʕ-ʸˀˁˠ-ˤͅͱͳͷͺ-ͽΐά-ώϐϑϕ-ϗϙϛϝϟϡϣϥϧϩϫϭϯ-ϳϵϸϻϼа-џѡѣѥѧѩѫѭѯѱѳѵѷѹѻѽѿҁҋҍҏґғҕҗҙқҝҟҡңҥҧҩҫҭүұҳҵҷҹһҽҿӂӄӆӈӊӌӎӏӑӓӕӗәӛӝӟӡӣӥӧөӫӭӯӱӳӵӷӹӻӽӿԁԃԅԇԉԋԍԏԑԓԕԗԙԛԝԟԡԣԥԧԩԫԭԯՠ-ֈა-ჺჽ-ჿᏸ-ᏽᲀ-ᲈᴀ-ᶿḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕ-ẝẟạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹỻỽỿ-ἇἐ-ἕἠ-ἧἰ-ἷὀ-ὅὐ-ὗὠ-ὧὰ-ώᾀ-ᾇᾐ-ᾗᾠ-ᾧᾰ-ᾴᾶᾷιῂ-ῄῆῇῐ-ΐῖῗῠ-ῧῲ-ῴῶῷⁱⁿₐ-ₜℊℎℏℓℯℴℹℼℽⅆ-ⅉⅎⅰ-ⅿↄⓐ-ⓩⰰ-ⱟⱡⱥⱦⱨⱪⱬⱱⱳⱴⱶ-ⱽⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣⳤⳬⳮⳳⴀ-ⴥⴧⴭꙁꙃꙅꙇꙉꙋꙍꙏꙑꙓꙕꙗꙙꙛꙝꙟꙡꙣꙥꙧꙩꙫꙭꚁꚃꚅꚇꚉꚋꚍꚏꚑꚓꚕꚗꚙꚛ-ꚝꜣꜥꜧꜩꜫꜭꜯ-ꜱꜳꜵꜷꜹꜻꜽꜿꝁꝃꝅꝇꝉꝋꝍꝏꝑꝓꝕꝗꝙꝛꝝꝟꝡꝣꝥꝧꝩꝫꝭꝯ-ꝸꝺꝼꝿꞁꞃꞅꞇꞌꞎꞑꞓ-ꞕꞗꞙꞛꞝꞟꞡꞣꞥꞧꞩꞯꞵꞷꞹꞻꞽꞿꟁꟃꟈꟊꟑꟓꟕꟗꟙꟶꟸ-ꟺꬰ-ꭚꭜ-ꭨꭰ-ꮿff-stﬓ-ﬗa-z",astral:"\uD801[\uDC28-\uDC4F\uDCD8-\uDCFB\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDF80\uDF83-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD803[\uDCC0-\uDCF2]|\uD806[\uDCC0-\uDCDF]|\uD81B[\uDE60-\uDE7F]|\uD835[\uDC1A-\uDC33\uDC4E-\uDC54\uDC56-\uDC67\uDC82-\uDC9B\uDCB6-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDCEA-\uDD03\uDD1E-\uDD37\uDD52-\uDD6B\uDD86-\uDD9F\uDDBA-\uDDD3\uDDEE-\uDE07\uDE22-\uDE3B\uDE56-\uDE6F\uDE8A-\uDEA5\uDEC2-\uDEDA\uDEDC-\uDEE1\uDEFC-\uDF14\uDF16-\uDF1B\uDF36-\uDF4E\uDF50-\uDF55\uDF70-\uDF88\uDF8A-\uDF8F\uDFAA-\uDFC2\uDFC4-\uDFC9\uDFCB]|\uD837[\uDF00-\uDF09\uDF0B-\uDF1E]|\uD83A[\uDD22-\uDD43]"},{name:"Noncharacter_Code_Point",bmp:"﷐-﷯￾￿",astral:"[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]"},{name:"Uppercase",bmp:"A-ZÀ-ÖØ-ÞĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮİIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŸŹŻŽƁƂƄƆƇƉ-ƋƎ-ƑƓƔƖ-ƘƜƝƟƠƢƤƦƧƩƬƮƯƱ-ƳƵƷƸƼDŽLJNJǍǏǑǓǕǗǙǛǞǠǢǤǦǨǪǬǮDZǴǶ-ǸǺǼǾȀȂȄȆȈȊȌȎȐȒȔȖȘȚȜȞȠȢȤȦȨȪȬȮȰȲȺȻȽȾɁɃ-ɆɈɊɌɎͰͲͶͿΆΈ-ΊΌΎΏΑ-ΡΣ-ΫϏϒ-ϔϘϚϜϞϠϢϤϦϨϪϬϮϴϷϹϺϽ-ЯѠѢѤѦѨѪѬѮѰѲѴѶѸѺѼѾҀҊҌҎҐҒҔҖҘҚҜҞҠҢҤҦҨҪҬҮҰҲҴҶҸҺҼҾӀӁӃӅӇӉӋӍӐӒӔӖӘӚӜӞӠӢӤӦӨӪӬӮӰӲӴӶӸӺӼӾԀԂԄԆԈԊԌԎԐԒԔԖԘԚԜԞԠԢԤԦԨԪԬԮԱ-ՖႠ-ჅჇჍᎠ-ᏵᲐ-ᲺᲽ-ᲿḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẞẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸỺỼỾἈ-ἏἘ-ἝἨ-ἯἸ-ἿὈ-ὍὙὛὝὟὨ-ὯᾸ-ΆῈ-ΉῘ-ΊῨ-ῬῸ-Ώℂℇℋ-ℍℐ-ℒℕℙ-ℝℤΩℨK-ℭℰ-ℳℾℿⅅⅠ-ⅯↃⒶ-ⓏⰀ-ⰯⱠⱢ-ⱤⱧⱩⱫⱭ-ⱰⱲⱵⱾ-ⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚⳜⳞⳠⳢⳫⳭⳲꙀꙂꙄꙆꙈꙊꙌꙎꙐꙒꙔꙖꙘꙚꙜꙞꙠꙢꙤꙦꙨꙪꙬꚀꚂꚄꚆꚈꚊꚌꚎꚐꚒꚔꚖꚘꚚꜢꜤꜦꜨꜪꜬꜮꜲꜴꜶꜸꜺꜼꜾꝀꝂꝄꝆꝈꝊꝌꝎꝐꝒꝔꝖꝘꝚꝜꝞꝠꝢꝤꝦꝨꝪꝬꝮꝹꝻꝽꝾꞀꞂꞄꞆꞋꞍꞐꞒꞖꞘꞚꞜꞞꞠꞢꞤꞦꞨꞪ-ꞮꞰ-ꞴꞶꞸꞺꞼꞾꟀꟂꟄ-ꟇꟉꟐꟖꟘꟵA-Z",astral:"\uD801[\uDC00-\uDC27\uDCB0-\uDCD3\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95]|\uD803[\uDC80-\uDCB2]|\uD806[\uDCA0-\uDCBF]|\uD81B[\uDE40-\uDE5F]|\uD835[\uDC00-\uDC19\uDC34-\uDC4D\uDC68-\uDC81\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB5\uDCD0-\uDCE9\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD38\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD6C-\uDD85\uDDA0-\uDDB9\uDDD4-\uDDED\uDE08-\uDE21\uDE3C-\uDE55\uDE70-\uDE89\uDEA8-\uDEC0\uDEE2-\uDEFA\uDF1C-\uDF34\uDF56-\uDF6E\uDF90-\uDFA8\uDFCA]|\uD83A[\uDD00-\uDD21]|\uD83C[\uDD30-\uDD49\uDD50-\uDD69\uDD70-\uDD89]"},{name:"White_Space",bmp:" -\r …   - \u2028\u2029   "}];/*! + */const BT=e=>{if(!e.addUnicodeData)throw new ReferenceError("Unicode Base must be loaded before Unicode Categories");e.addUnicodeData(_T)};var TT=[{name:"ASCII",bmp:"\0-"},{name:"Alphabetic",bmp:"A-Za-zªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͅͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈְ-ׇֽֿׁׂׅׄא-תׯ-ײؐ-ؚؠ-ٗٙ-ٟٮ-ۓە-ۜۡ-ۭۨ-ۯۺ-ۼۿܐ-ܿݍ-ޱߊ-ߪߴߵߺࠀ-ࠗࠚ-ࠬࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉࣔ-ࣣࣟ-ࣰࣩ-ऻऽ-ौॎ-ॐॕ-ॣॱ-ঃঅ-ঌএঐও-নপ-রলশ-হঽ-ৄেৈোৌৎৗড়ঢ়য়-ৣৰৱৼਁ-ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਾ-ੂੇੈੋੌੑਖ਼-ੜਫ਼ੰ-ੵઁ-ઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽ-ૅે-ૉોૌૐૠ-ૣૹ-ૼଁ-ଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽ-ୄେୈୋୌୖୗଡ଼ଢ଼ୟ-ୣୱஂஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹா-ூெ-ைொ-ௌௐௗఀ-ఃఅ-ఌఎ-ఐఒ-నప-హఽ-ౄె-ైొ-ౌౕౖౘ-ౚౝౠ-ౣಀ-ಃಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽ-ೄೆ-ೈೊ-ೌೕೖೝೞೠ-ೣೱೲഀ-ഌഎ-ഐഒ-ഺഽ-ൄെ-ൈൊ-ൌൎൔ-ൗൟ-ൣൺ-ൿඁ-ඃඅ-ඖක-නඳ-රලව-ෆා-ුූෘ-ෟෲෳก-ฺเ-ๆํກຂຄຆ-ຊຌ-ຣລວ-ູົ-ຽເ-ໄໆໍໜ-ໟༀཀ-ཇཉ-ཬཱ-ཱྀྈ-ྗྙ-ྼက-ံးျ-ဿၐ-ႏႚ-ႝႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜓᜟ-ᜳᝀ-ᝓᝠ-ᝬᝮ-ᝰᝲᝳក-ឳា-ៈៗៜᠠ-ᡸᢀ-ᢪᢰ-ᣵᤀ-ᤞᤠ-ᤫᤰ-ᤸᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨛᨠ-ᩞᩡ-ᩴᪧᪿᫀᫌ-ᫎᬀ-ᬳᬵ-ᭃᭅ-ᭌᮀ-ᮩᮬ-ᮯᮺ-ᯥᯧ-ᯱᰀ-ᰶᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿᷧ-ᷴḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⒶ-ⓩⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⷠ-ⷿⸯ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙴ-ꙻꙿ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꠅꠇ-ꠧꡀ-ꡳꢀ-ꣃꣅꣲ-ꣷꣻꣽ-ꣿꤊ-ꤪꤰ-ꥒꥠ-ꥼꦀ-ꦲꦴ-ꦿꧏꧠ-ꧯꧺ-ꧾꨀ-ꨶꩀ-ꩍꩠ-ꩶꩺ-ꪾꫀꫂꫛ-ꫝꫠ-ꫯꫲ-ꫵꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯪ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",astral:"\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD27\uDE80-\uDEA9\uDEAB\uDEAC\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC00-\uDC45\uDC71-\uDC75\uDC82-\uDCB8\uDCC2\uDCD0-\uDCE8\uDD00-\uDD32\uDD44-\uDD47\uDD50-\uDD72\uDD76\uDD80-\uDDBF\uDDC1-\uDDC4\uDDCE\uDDCF\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE34\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEE8\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D-\uDF44\uDF47\uDF48\uDF4B\uDF4C\uDF50\uDF57\uDF5D-\uDF63]|\uD805[\uDC00-\uDC41\uDC43-\uDC45\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCC1\uDCC4\uDCC5\uDCC7\uDD80-\uDDB5\uDDB8-\uDDBE\uDDD8-\uDDDD\uDE00-\uDE3E\uDE40\uDE44\uDE80-\uDEB5\uDEB8\uDF00-\uDF1A\uDF1D-\uDF2A\uDF40-\uDF46]|\uD806[\uDC00-\uDC38\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD35\uDD37\uDD38\uDD3B\uDD3C\uDD3F-\uDD42\uDDA0-\uDDA7\uDDAA-\uDDD7\uDDDA-\uDDDF\uDDE1\uDDE3\uDDE4\uDE00-\uDE32\uDE35-\uDE3E\uDE50-\uDE97\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC3E\uDC40\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD41\uDD43\uDD46\uDD47\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD8E\uDD90\uDD91\uDD93-\uDD96\uDD98\uDEE0-\uDEF6\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF4F-\uDF87\uDF8F-\uDF9F\uDFE0\uDFE1\uDFE3\uDFF0\uDFF1]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9E]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD47\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD30-\uDD49\uDD50-\uDD69\uDD70-\uDD89]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A]"},{name:"Any",isBmpLast:!0,bmp:"\0-￿",astral:"[\uD800-\uDBFF][\uDC00-\uDFFF]"},{name:"Default_Ignorable_Code_Point",bmp:"­͏؜ᅟᅠ឴឵᠋-᠏​-‏‪-‮⁠-ㅤ︀-️\uFEFFᅠ￰-￸",astral:"\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|[\uDB40-\uDB43][\uDC00-\uDFFF]"},{name:"Lowercase",bmp:"a-zªµºß-öø-ÿāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįıijĵķĸĺļľŀłńņňʼnŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷźżž-ƀƃƅƈƌƍƒƕƙ-ƛƞơƣƥƨƪƫƭưƴƶƹƺƽ-ƿdžljnjǎǐǒǔǖǘǚǜǝǟǡǣǥǧǩǫǭǯǰdzǵǹǻǽǿȁȃȅȇȉȋȍȏȑȓȕȗșțȝȟȡȣȥȧȩȫȭȯȱȳ-ȹȼȿɀɂɇɉɋɍɏ-ʓʕ-ʸˀˁˠ-ˤͅͱͳͷͺ-ͽΐά-ώϐϑϕ-ϗϙϛϝϟϡϣϥϧϩϫϭϯ-ϳϵϸϻϼа-џѡѣѥѧѩѫѭѯѱѳѵѷѹѻѽѿҁҋҍҏґғҕҗҙқҝҟҡңҥҧҩҫҭүұҳҵҷҹһҽҿӂӄӆӈӊӌӎӏӑӓӕӗәӛӝӟӡӣӥӧөӫӭӯӱӳӵӷӹӻӽӿԁԃԅԇԉԋԍԏԑԓԕԗԙԛԝԟԡԣԥԧԩԫԭԯՠ-ֈა-ჺჽ-ჿᏸ-ᏽᲀ-ᲈᴀ-ᶿḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕ-ẝẟạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹỻỽỿ-ἇἐ-ἕἠ-ἧἰ-ἷὀ-ὅὐ-ὗὠ-ὧὰ-ώᾀ-ᾇᾐ-ᾗᾠ-ᾧᾰ-ᾴᾶᾷιῂ-ῄῆῇῐ-ΐῖῗῠ-ῧῲ-ῴῶῷⁱⁿₐ-ₜℊℎℏℓℯℴℹℼℽⅆ-ⅉⅎⅰ-ⅿↄⓐ-ⓩⰰ-ⱟⱡⱥⱦⱨⱪⱬⱱⱳⱴⱶ-ⱽⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣⳤⳬⳮⳳⴀ-ⴥⴧⴭꙁꙃꙅꙇꙉꙋꙍꙏꙑꙓꙕꙗꙙꙛꙝꙟꙡꙣꙥꙧꙩꙫꙭꚁꚃꚅꚇꚉꚋꚍꚏꚑꚓꚕꚗꚙꚛ-ꚝꜣꜥꜧꜩꜫꜭꜯ-ꜱꜳꜵꜷꜹꜻꜽꜿꝁꝃꝅꝇꝉꝋꝍꝏꝑꝓꝕꝗꝙꝛꝝꝟꝡꝣꝥꝧꝩꝫꝭꝯ-ꝸꝺꝼꝿꞁꞃꞅꞇꞌꞎꞑꞓ-ꞕꞗꞙꞛꞝꞟꞡꞣꞥꞧꞩꞯꞵꞷꞹꞻꞽꞿꟁꟃꟈꟊꟑꟓꟕꟗꟙꟶꟸ-ꟺꬰ-ꭚꭜ-ꭨꭰ-ꮿff-stﬓ-ﬗa-z",astral:"\uD801[\uDC28-\uDC4F\uDCD8-\uDCFB\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDF80\uDF83-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD803[\uDCC0-\uDCF2]|\uD806[\uDCC0-\uDCDF]|\uD81B[\uDE60-\uDE7F]|\uD835[\uDC1A-\uDC33\uDC4E-\uDC54\uDC56-\uDC67\uDC82-\uDC9B\uDCB6-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDCEA-\uDD03\uDD1E-\uDD37\uDD52-\uDD6B\uDD86-\uDD9F\uDDBA-\uDDD3\uDDEE-\uDE07\uDE22-\uDE3B\uDE56-\uDE6F\uDE8A-\uDEA5\uDEC2-\uDEDA\uDEDC-\uDEE1\uDEFC-\uDF14\uDF16-\uDF1B\uDF36-\uDF4E\uDF50-\uDF55\uDF70-\uDF88\uDF8A-\uDF8F\uDFAA-\uDFC2\uDFC4-\uDFC9\uDFCB]|\uD837[\uDF00-\uDF09\uDF0B-\uDF1E]|\uD83A[\uDD22-\uDD43]"},{name:"Noncharacter_Code_Point",bmp:"﷐-﷯￾￿",astral:"[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]"},{name:"Uppercase",bmp:"A-ZÀ-ÖØ-ÞĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮİIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŸŹŻŽƁƂƄƆƇƉ-ƋƎ-ƑƓƔƖ-ƘƜƝƟƠƢƤƦƧƩƬƮƯƱ-ƳƵƷƸƼDŽLJNJǍǏǑǓǕǗǙǛǞǠǢǤǦǨǪǬǮDZǴǶ-ǸǺǼǾȀȂȄȆȈȊȌȎȐȒȔȖȘȚȜȞȠȢȤȦȨȪȬȮȰȲȺȻȽȾɁɃ-ɆɈɊɌɎͰͲͶͿΆΈ-ΊΌΎΏΑ-ΡΣ-ΫϏϒ-ϔϘϚϜϞϠϢϤϦϨϪϬϮϴϷϹϺϽ-ЯѠѢѤѦѨѪѬѮѰѲѴѶѸѺѼѾҀҊҌҎҐҒҔҖҘҚҜҞҠҢҤҦҨҪҬҮҰҲҴҶҸҺҼҾӀӁӃӅӇӉӋӍӐӒӔӖӘӚӜӞӠӢӤӦӨӪӬӮӰӲӴӶӸӺӼӾԀԂԄԆԈԊԌԎԐԒԔԖԘԚԜԞԠԢԤԦԨԪԬԮԱ-ՖႠ-ჅჇჍᎠ-ᏵᲐ-ᲺᲽ-ᲿḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẞẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸỺỼỾἈ-ἏἘ-ἝἨ-ἯἸ-ἿὈ-ὍὙὛὝὟὨ-ὯᾸ-ΆῈ-ΉῘ-ΊῨ-ῬῸ-Ώℂℇℋ-ℍℐ-ℒℕℙ-ℝℤΩℨK-ℭℰ-ℳℾℿⅅⅠ-ⅯↃⒶ-ⓏⰀ-ⰯⱠⱢ-ⱤⱧⱩⱫⱭ-ⱰⱲⱵⱾ-ⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚⳜⳞⳠⳢⳫⳭⳲꙀꙂꙄꙆꙈꙊꙌꙎꙐꙒꙔꙖꙘꙚꙜꙞꙠꙢꙤꙦꙨꙪꙬꚀꚂꚄꚆꚈꚊꚌꚎꚐꚒꚔꚖꚘꚚꜢꜤꜦꜨꜪꜬꜮꜲꜴꜶꜸꜺꜼꜾꝀꝂꝄꝆꝈꝊꝌꝎꝐꝒꝔꝖꝘꝚꝜꝞꝠꝢꝤꝦꝨꝪꝬꝮꝹꝻꝽꝾꞀꞂꞄꞆꞋꞍꞐꞒꞖꞘꞚꞜꞞꞠꞢꞤꞦꞨꞪ-ꞮꞰ-ꞴꞶꞸꞺꞼꞾꟀꟂꟄ-ꟇꟉꟐꟖꟘꟵA-Z",astral:"\uD801[\uDC00-\uDC27\uDCB0-\uDCD3\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95]|\uD803[\uDC80-\uDCB2]|\uD806[\uDCA0-\uDCBF]|\uD81B[\uDE40-\uDE5F]|\uD835[\uDC00-\uDC19\uDC34-\uDC4D\uDC68-\uDC81\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB5\uDCD0-\uDCE9\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD38\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD6C-\uDD85\uDDA0-\uDDB9\uDDD4-\uDDED\uDE08-\uDE21\uDE3C-\uDE55\uDE70-\uDE89\uDEA8-\uDEC0\uDEE2-\uDEFA\uDF1C-\uDF34\uDF56-\uDF6E\uDF90-\uDFA8\uDFCA]|\uD83A[\uDD00-\uDD21]|\uD83C[\uDD30-\uDD49\uDD50-\uDD69\uDD70-\uDD89]"},{name:"White_Space",bmp:" -\r …   - \u2028\u2029   "}];/*! * XRegExp Unicode Properties 5.1.1 * * Steven Levithan (c) 2012-present MIT License * Unicode data by Mathias Bynens - */const BT=e=>{if(!e.addUnicodeData)throw new ReferenceError("Unicode Base must be loaded before Unicode Properties");const t=_T;t.push({name:"Assigned",inverseOf:"Cn"}),e.addUnicodeData(t)};var TT=[{name:"Adlam",astral:"\uD83A[\uDD00-\uDD4B\uDD50-\uDD59\uDD5E\uDD5F]"},{name:"Ahom",astral:"\uD805[\uDF00-\uDF1A\uDF1D-\uDF2B\uDF30-\uDF46]"},{name:"Anatolian_Hieroglyphs",astral:"\uD811[\uDC00-\uDE46]"},{name:"Arabic",bmp:"؀-؄؆-؋؍-ؚ؜-؞ؠ-ؿف-يٖ-ٯٱ-ۜ۞-ۿݐ-ݿࡰ-ࢎ࢐࢑࢘-ࣣ࣡-ࣿﭐ-﯂ﯓ-ﴽ﵀-ﶏﶒ-ﷇ﷏ﷰ-﷿ﹰ-ﹴﹶ-ﻼ",astral:"\uD803[\uDE60-\uDE7E]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB\uDEF0\uDEF1]"},{name:"Armenian",bmp:"Ա-Ֆՙ-֊֍-֏ﬓ-ﬗ"},{name:"Avestan",astral:"\uD802[\uDF00-\uDF35\uDF39-\uDF3F]"},{name:"Balinese",bmp:"ᬀ-ᭌ᭐-᭾"},{name:"Bamum",bmp:"ꚠ-꛷",astral:"\uD81A[\uDC00-\uDE38]"},{name:"Bassa_Vah",astral:"\uD81A[\uDED0-\uDEED\uDEF0-\uDEF5]"},{name:"Batak",bmp:"ᯀ-᯳᯼-᯿"},{name:"Bengali",bmp:"ঀ-ঃঅ-ঌএঐও-নপ-রলশ-হ়-ৄেৈো-ৎৗড়ঢ়য়-ৣ০-৾"},{name:"Bhaiksuki",astral:"\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC45\uDC50-\uDC6C]"},{name:"Bopomofo",bmp:"˪˫ㄅ-ㄯㆠ-ㆿ"},{name:"Brahmi",astral:"\uD804[\uDC00-\uDC4D\uDC52-\uDC75\uDC7F]"},{name:"Braille",bmp:"⠀-⣿"},{name:"Buginese",bmp:"ᨀ-ᨛ᨞᨟"},{name:"Buhid",bmp:"ᝀ-ᝓ"},{name:"Canadian_Aboriginal",bmp:"᐀-ᙿᢰ-ᣵ",astral:"\uD806[\uDEB0-\uDEBF]"},{name:"Carian",astral:"\uD800[\uDEA0-\uDED0]"},{name:"Caucasian_Albanian",astral:"\uD801[\uDD30-\uDD63\uDD6F]"},{name:"Chakma",astral:"\uD804[\uDD00-\uDD34\uDD36-\uDD47]"},{name:"Cham",bmp:"ꨀ-ꨶꩀ-ꩍ꩐-꩙꩜-꩟"},{name:"Cherokee",bmp:"Ꭰ-Ᏽᏸ-ᏽꭰ-ꮿ"},{name:"Chorasmian",astral:"\uD803[\uDFB0-\uDFCB]"},{name:"Common",bmp:"\0-@\\[-`\\{-©«-¹»-¿×÷ʹ-˟˥-˩ˬ-˿ʹ;΅·؅،؛؟ـ۝࣢।॥฿࿕-࿘჻᛫-᛭᜵᜶᠂᠃᠅᳓᳡ᳩ-ᳬᳮ-ᳳᳵ-᳷ᳺ -​‎-⁤⁦-⁰⁴-⁾₀-₎₠-⃀℀-℥℧-℩ℬ-ℱℳ-⅍⅏-⅟↉-↋←-␦⑀-⑊①-⟿⤀-⭳⭶-⮕⮗-⯿⸀-⹝⿰-⿻ -〄〆〈-〠〰-〷〼-〿゛゜゠・ー㆐-㆟㇀-㇣㈠-㉟㉿-㋏㋿㍘-㏿䷀-䷿꜀-꜡ꞈ-꞊꠰-꠹꤮ꧏ꭛꭪꭫﴾﴿︐-︙︰-﹒﹔-﹦﹨-﹫\uFEFF!-@[-`{-・ー゙゚¢-₩│-○-�",astral:"\uD800[\uDD00-\uDD02\uDD07-\uDD33\uDD37-\uDD3F\uDD90-\uDD9C\uDDD0-\uDDFC\uDEE1-\uDEFB]|\uD82F[\uDCA0-\uDCA3]|\uD833[\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD66\uDD6A-\uDD7A\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDEE0-\uDEF3\uDF00-\uDF56\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDFCB\uDFCE-\uDFFF]|\uD83B[\uDC71-\uDCB4\uDD01-\uDD3D]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD00-\uDDAD\uDDE6-\uDDFF\uDE01\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEDD-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF73\uDF80-\uDFD8\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDE53\uDE60-\uDE6D\uDE70-\uDE74\uDE78-\uDE7C\uDE80-\uDE86\uDE90-\uDEAC\uDEB0-\uDEBA\uDEC0-\uDEC5\uDED0-\uDED9\uDEE0-\uDEE7\uDEF0-\uDEF6\uDF00-\uDF92\uDF94-\uDFCA\uDFF0-\uDFF9]|\uDB40[\uDC01\uDC20-\uDC7F]"},{name:"Coptic",bmp:"Ϣ-ϯⲀ-ⳳ⳹-⳿"},{name:"Cuneiform",astral:"\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC70-\uDC74\uDC80-\uDD43]"},{name:"Cypriot",astral:"\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F]"},{name:"Cypro_Minoan",astral:"\uD80B[\uDF90-\uDFF2]"},{name:"Cyrillic",bmp:"Ѐ-҄҇-ԯᲀ-ᲈᴫᵸⷠ-ⷿꙀ-ꚟ︮︯"},{name:"Deseret",astral:"\uD801[\uDC00-\uDC4F]"},{name:"Devanagari",bmp:"ऀ-ॐॕ-ॣ०-ॿ꣠-ꣿ"},{name:"Dives_Akuru",astral:"\uD806[\uDD00-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD35\uDD37\uDD38\uDD3B-\uDD46\uDD50-\uDD59]"},{name:"Dogra",astral:"\uD806[\uDC00-\uDC3B]"},{name:"Duployan",astral:"\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9C-\uDC9F]"},{name:"Egyptian_Hieroglyphs",astral:"\uD80C[\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E\uDC30-\uDC38]"},{name:"Elbasan",astral:"\uD801[\uDD00-\uDD27]"},{name:"Elymaic",astral:"\uD803[\uDFE0-\uDFF6]"},{name:"Ethiopic",bmp:"ሀ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚ፝-፼ᎀ-᎙ⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮ",astral:"\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]"},{name:"Georgian",bmp:"Ⴀ-ჅჇჍა-ჺჼ-ჿᲐ-ᲺᲽ-Ჿⴀ-ⴥⴧⴭ"},{name:"Glagolitic",bmp:"Ⰰ-ⱟ",astral:"\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]"},{name:"Gothic",astral:"\uD800[\uDF30-\uDF4A]"},{name:"Grantha",astral:"\uD804[\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]"},{name:"Greek",bmp:"Ͱ-ͳ͵-ͷͺ-ͽͿ΄ΆΈ-ΊΌΎ-ΡΣ-ϡϰ-Ͽᴦ-ᴪᵝ-ᵡᵦ-ᵪᶿἀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ῄῆ-ΐῖ-Ί῝-`ῲ-ῴῶ-῾Ωꭥ",astral:"\uD800[\uDD40-\uDD8E\uDDA0]|\uD834[\uDE00-\uDE45]"},{name:"Gujarati",bmp:"ઁ-ઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હ઼-ૅે-ૉો-્ૐૠ-ૣ૦-૱ૹ-૿"},{name:"Gunjala_Gondi",astral:"\uD807[\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD8E\uDD90\uDD91\uDD93-\uDD98\uDDA0-\uDDA9]"},{name:"Gurmukhi",bmp:"ਁ-ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹ਼ਾ-ੂੇੈੋ-੍ੑਖ਼-ੜਫ਼੦-੶"},{name:"Han",bmp:"⺀-⺙⺛-⻳⼀-⿕々〇〡-〩〸-〻㐀-䶿一-鿿豈-舘並-龎",astral:"\uD81B[\uDFE2\uDFE3\uDFF0\uDFF1]|[\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A]"},{name:"Hangul",bmp:"ᄀ-ᇿ〮〯ㄱ-ㆎ㈀-㈞㉠-㉾ꥠ-ꥼ가-힣ힰ-ퟆퟋ-ퟻᅠ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ"},{name:"Hanifi_Rohingya",astral:"\uD803[\uDD00-\uDD27\uDD30-\uDD39]"},{name:"Hanunoo",bmp:"ᜠ-᜴"},{name:"Hatran",astral:"\uD802[\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDCFF]"},{name:"Hebrew",bmp:"֑-ׇא-תׯ-״יִ-זּטּ-לּמּנּסּףּפּצּ-ﭏ"},{name:"Hiragana",bmp:"ぁ-ゖゝ-ゟ",astral:"\uD82C[\uDC01-\uDD1F\uDD50-\uDD52]|🈀"},{name:"Imperial_Aramaic",astral:"\uD802[\uDC40-\uDC55\uDC57-\uDC5F]"},{name:"Inherited",bmp:"̀-ًͯ҅҆-ٰٕ॑-॔᪰-ᫎ᳐-᳔᳒-᳢᳠-᳨᳭᳴᳸᳹᷀-᷿‌‍⃐-〪⃰-゙゚〭︀-️︠-︭",astral:"\uD800[\uDDFD\uDEE0]|𑌻|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD67-\uDD69\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD]|\uDB40[\uDD00-\uDDEF]"},{name:"Inscriptional_Pahlavi",astral:"\uD802[\uDF60-\uDF72\uDF78-\uDF7F]"},{name:"Inscriptional_Parthian",astral:"\uD802[\uDF40-\uDF55\uDF58-\uDF5F]"},{name:"Javanese",bmp:"ꦀ-꧍꧐-꧙꧞꧟"},{name:"Kaithi",astral:"\uD804[\uDC80-\uDCC2\uDCCD]"},{name:"Kannada",bmp:"ಀ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹ಼-ೄೆ-ೈೊ-್ೕೖೝೞೠ-ೣ೦-೯ೱೲ"},{name:"Katakana",bmp:"ァ-ヺヽ-ヿㇰ-ㇿ㋐-㋾㌀-㍗ヲ-ッア-ン",astral:"\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00\uDD20-\uDD22\uDD64-\uDD67]"},{name:"Kayah_Li",bmp:"꤀-꤭꤯"},{name:"Kharoshthi",astral:"\uD802[\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE38-\uDE3A\uDE3F-\uDE48\uDE50-\uDE58]"},{name:"Khitan_Small_Script",astral:"𖿤|\uD822[\uDF00-\uDFFF]|\uD823[\uDC00-\uDCD5]"},{name:"Khmer",bmp:"ក-៝០-៩៰-៹᧠-᧿"},{name:"Khojki",astral:"\uD804[\uDE00-\uDE11\uDE13-\uDE3E]"},{name:"Khudawadi",astral:"\uD804[\uDEB0-\uDEEA\uDEF0-\uDEF9]"},{name:"Lao",bmp:"ກຂຄຆ-ຊຌ-ຣລວ-ຽເ-ໄໆ່-ໍ໐-໙ໜ-ໟ"},{name:"Latin",bmp:"A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꟿꬰ-ꭚꭜ-ꭤꭦ-ꭩff-stA-Za-z",astral:"\uD801[\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD837[\uDF00-\uDF1E]"},{name:"Lepcha",bmp:"ᰀ-᰷᰻-᱉ᱍ-ᱏ"},{name:"Limbu",bmp:"ᤀ-ᤞᤠ-ᤫᤰ-᤻᥀᥄-᥏"},{name:"Linear_A",astral:"\uD801[\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]"},{name:"Linear_B",astral:"\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA]"},{name:"Lisu",bmp:"ꓐ-꓿",astral:"𑾰"},{name:"Lycian",astral:"\uD800[\uDE80-\uDE9C]"},{name:"Lydian",astral:"\uD802[\uDD20-\uDD39\uDD3F]"},{name:"Mahajani",astral:"\uD804[\uDD50-\uDD76]"},{name:"Makasar",astral:"\uD807[\uDEE0-\uDEF8]"},{name:"Malayalam",bmp:"ഀ-ഌഎ-ഐഒ-ൄെ-ൈൊ-൏ൔ-ൣ൦-ൿ"},{name:"Mandaic",bmp:"ࡀ-࡛࡞"},{name:"Manichaean",astral:"\uD802[\uDEC0-\uDEE6\uDEEB-\uDEF6]"},{name:"Marchen",astral:"\uD807[\uDC70-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]"},{name:"Masaram_Gondi",astral:"\uD807[\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]"},{name:"Medefaidrin",astral:"\uD81B[\uDE40-\uDE9A]"},{name:"Meetei_Mayek",bmp:"ꫠ-꫶ꯀ-꯭꯰-꯹"},{name:"Mende_Kikakui",astral:"\uD83A[\uDC00-\uDCC4\uDCC7-\uDCD6]"},{name:"Meroitic_Cursive",astral:"\uD802[\uDDA0-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDDFF]"},{name:"Meroitic_Hieroglyphs",astral:"\uD802[\uDD80-\uDD9F]"},{name:"Miao",astral:"\uD81B[\uDF00-\uDF4A\uDF4F-\uDF87\uDF8F-\uDF9F]"},{name:"Modi",astral:"\uD805[\uDE00-\uDE44\uDE50-\uDE59]"},{name:"Mongolian",bmp:"᠀᠁᠄᠆-᠙ᠠ-ᡸᢀ-ᢪ",astral:"\uD805[\uDE60-\uDE6C]"},{name:"Mro",astral:"\uD81A[\uDE40-\uDE5E\uDE60-\uDE69\uDE6E\uDE6F]"},{name:"Multani",astral:"\uD804[\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA9]"},{name:"Myanmar",bmp:"က-႟ꧠ-ꧾꩠ-ꩿ"},{name:"Nabataean",astral:"\uD802[\uDC80-\uDC9E\uDCA7-\uDCAF]"},{name:"Nandinagari",astral:"\uD806[\uDDA0-\uDDA7\uDDAA-\uDDD7\uDDDA-\uDDE4]"},{name:"New_Tai_Lue",bmp:"ᦀ-ᦫᦰ-ᧉ᧐-᧚᧞᧟"},{name:"Newa",astral:"\uD805[\uDC00-\uDC5B\uDC5D-\uDC61]"},{name:"Nko",bmp:"߀-ߺ߽-߿"},{name:"Nushu",astral:"𖿡|\uD82C[\uDD70-\uDEFB]"},{name:"Nyiakeng_Puachue_Hmong",astral:"\uD838[\uDD00-\uDD2C\uDD30-\uDD3D\uDD40-\uDD49\uDD4E\uDD4F]"},{name:"Ogham",bmp:" -᚜"},{name:"Ol_Chiki",bmp:"᱐-᱿"},{name:"Old_Hungarian",astral:"\uD803[\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDCFF]"},{name:"Old_Italic",astral:"\uD800[\uDF00-\uDF23\uDF2D-\uDF2F]"},{name:"Old_North_Arabian",astral:"\uD802[\uDE80-\uDE9F]"},{name:"Old_Permic",astral:"\uD800[\uDF50-\uDF7A]"},{name:"Old_Persian",astral:"\uD800[\uDFA0-\uDFC3\uDFC8-\uDFD5]"},{name:"Old_Sogdian",astral:"\uD803[\uDF00-\uDF27]"},{name:"Old_South_Arabian",astral:"\uD802[\uDE60-\uDE7F]"},{name:"Old_Turkic",astral:"\uD803[\uDC00-\uDC48]"},{name:"Old_Uyghur",astral:"\uD803[\uDF70-\uDF89]"},{name:"Oriya",bmp:"ଁ-ଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହ଼-ୄେୈୋ-୍୕-ୗଡ଼ଢ଼ୟ-ୣ୦-୷"},{name:"Osage",astral:"\uD801[\uDCB0-\uDCD3\uDCD8-\uDCFB]"},{name:"Osmanya",astral:"\uD801[\uDC80-\uDC9D\uDCA0-\uDCA9]"},{name:"Pahawh_Hmong",astral:"\uD81A[\uDF00-\uDF45\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]"},{name:"Palmyrene",astral:"\uD802[\uDC60-\uDC7F]"},{name:"Pau_Cin_Hau",astral:"\uD806[\uDEC0-\uDEF8]"},{name:"Phags_Pa",bmp:"ꡀ-꡷"},{name:"Phoenician",astral:"\uD802[\uDD00-\uDD1B\uDD1F]"},{name:"Psalter_Pahlavi",astral:"\uD802[\uDF80-\uDF91\uDF99-\uDF9C\uDFA9-\uDFAF]"},{name:"Rejang",bmp:"ꤰ-꥓꥟"},{name:"Runic",bmp:"ᚠ-ᛪᛮ-ᛸ"},{name:"Samaritan",bmp:"ࠀ-࠭࠰-࠾"},{name:"Saurashtra",bmp:"ꢀ-ꣅ꣎-꣙"},{name:"Sharada",astral:"\uD804[\uDD80-\uDDDF]"},{name:"Shavian",astral:"\uD801[\uDC50-\uDC7F]"},{name:"Siddham",astral:"\uD805[\uDD80-\uDDB5\uDDB8-\uDDDD]"},{name:"SignWriting",astral:"\uD836[\uDC00-\uDE8B\uDE9B-\uDE9F\uDEA1-\uDEAF]"},{name:"Sinhala",bmp:"ඁ-ඃඅ-ඖක-නඳ-රලව-ෆ්ා-ුූෘ-ෟ෦-෯ෲ-෴",astral:"\uD804[\uDDE1-\uDDF4]"},{name:"Sogdian",astral:"\uD803[\uDF30-\uDF59]"},{name:"Sora_Sompeng",astral:"\uD804[\uDCD0-\uDCE8\uDCF0-\uDCF9]"},{name:"Soyombo",astral:"\uD806[\uDE50-\uDEA2]"},{name:"Sundanese",bmp:"ᮀ-ᮿ᳀-᳇"},{name:"Syloti_Nagri",bmp:"ꠀ-꠬"},{name:"Syriac",bmp:"܀-܍܏-݊ݍ-ݏࡠ-ࡪ"},{name:"Tagalog",bmp:"ᜀ-᜕ᜟ"},{name:"Tagbanwa",bmp:"ᝠ-ᝬᝮ-ᝰᝲᝳ"},{name:"Tai_Le",bmp:"ᥐ-ᥭᥰ-ᥴ"},{name:"Tai_Tham",bmp:"ᨠ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪠-᪭"},{name:"Tai_Viet",bmp:"ꪀ-ꫂꫛ-꫟"},{name:"Takri",astral:"\uD805[\uDE80-\uDEB9\uDEC0-\uDEC9]"},{name:"Tamil",bmp:"ஂஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹா-ூெ-ைொ-்ௐௗ௦-௺",astral:"\uD807[\uDFC0-\uDFF1\uDFFF]"},{name:"Tangsa",astral:"\uD81A[\uDE70-\uDEBE\uDEC0-\uDEC9]"},{name:"Tangut",astral:"𖿠|[\uD81C-\uD820][\uDC00-\uDFFF]|\uD821[\uDC00-\uDFF7]|\uD822[\uDC00-\uDEFF]|\uD823[\uDD00-\uDD08]"},{name:"Telugu",bmp:"ఀ-ఌఎ-ఐఒ-నప-హ఼-ౄె-ైొ-్ౕౖౘ-ౚౝౠ-ౣ౦-౯౷-౿"},{name:"Thaana",bmp:"ހ-ޱ"},{name:"Thai",bmp:"ก-ฺเ-๛"},{name:"Tibetan",bmp:"ༀ-ཇཉ-ཬཱ-ྗྙ-ྼ྾-࿌࿎-࿔࿙࿚"},{name:"Tifinagh",bmp:"ⴰ-ⵧⵯ⵰⵿"},{name:"Tirhuta",astral:"\uD805[\uDC80-\uDCC7\uDCD0-\uDCD9]"},{name:"Toto",astral:"\uD838[\uDE90-\uDEAE]"},{name:"Ugaritic",astral:"\uD800[\uDF80-\uDF9D\uDF9F]"},{name:"Vai",bmp:"ꔀ-ꘫ"},{name:"Vithkuqi",astral:"\uD801[\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC]"},{name:"Wancho",astral:"\uD838[\uDEC0-\uDEF9\uDEFF]"},{name:"Warang_Citi",astral:"\uD806[\uDCA0-\uDCF2\uDCFF]"},{name:"Yezidi",astral:"\uD803[\uDE80-\uDEA9\uDEAB-\uDEAD\uDEB0\uDEB1]"},{name:"Yi",bmp:"ꀀ-ꒌ꒐-꓆"},{name:"Zanabazar_Square",astral:"\uD806[\uDE00-\uDE47]"}];/*! + */const $T=e=>{if(!e.addUnicodeData)throw new ReferenceError("Unicode Base must be loaded before Unicode Properties");const t=TT;t.push({name:"Assigned",inverseOf:"Cn"}),e.addUnicodeData(t)};var PT=[{name:"Adlam",astral:"\uD83A[\uDD00-\uDD4B\uDD50-\uDD59\uDD5E\uDD5F]"},{name:"Ahom",astral:"\uD805[\uDF00-\uDF1A\uDF1D-\uDF2B\uDF30-\uDF46]"},{name:"Anatolian_Hieroglyphs",astral:"\uD811[\uDC00-\uDE46]"},{name:"Arabic",bmp:"؀-؄؆-؋؍-ؚ؜-؞ؠ-ؿف-يٖ-ٯٱ-ۜ۞-ۿݐ-ݿࡰ-ࢎ࢐࢑࢘-ࣣ࣡-ࣿﭐ-﯂ﯓ-ﴽ﵀-ﶏﶒ-ﷇ﷏ﷰ-﷿ﹰ-ﹴﹶ-ﻼ",astral:"\uD803[\uDE60-\uDE7E]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB\uDEF0\uDEF1]"},{name:"Armenian",bmp:"Ա-Ֆՙ-֊֍-֏ﬓ-ﬗ"},{name:"Avestan",astral:"\uD802[\uDF00-\uDF35\uDF39-\uDF3F]"},{name:"Balinese",bmp:"ᬀ-ᭌ᭐-᭾"},{name:"Bamum",bmp:"ꚠ-꛷",astral:"\uD81A[\uDC00-\uDE38]"},{name:"Bassa_Vah",astral:"\uD81A[\uDED0-\uDEED\uDEF0-\uDEF5]"},{name:"Batak",bmp:"ᯀ-᯳᯼-᯿"},{name:"Bengali",bmp:"ঀ-ঃঅ-ঌএঐও-নপ-রলশ-হ়-ৄেৈো-ৎৗড়ঢ়য়-ৣ০-৾"},{name:"Bhaiksuki",astral:"\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC45\uDC50-\uDC6C]"},{name:"Bopomofo",bmp:"˪˫ㄅ-ㄯㆠ-ㆿ"},{name:"Brahmi",astral:"\uD804[\uDC00-\uDC4D\uDC52-\uDC75\uDC7F]"},{name:"Braille",bmp:"⠀-⣿"},{name:"Buginese",bmp:"ᨀ-ᨛ᨞᨟"},{name:"Buhid",bmp:"ᝀ-ᝓ"},{name:"Canadian_Aboriginal",bmp:"᐀-ᙿᢰ-ᣵ",astral:"\uD806[\uDEB0-\uDEBF]"},{name:"Carian",astral:"\uD800[\uDEA0-\uDED0]"},{name:"Caucasian_Albanian",astral:"\uD801[\uDD30-\uDD63\uDD6F]"},{name:"Chakma",astral:"\uD804[\uDD00-\uDD34\uDD36-\uDD47]"},{name:"Cham",bmp:"ꨀ-ꨶꩀ-ꩍ꩐-꩙꩜-꩟"},{name:"Cherokee",bmp:"Ꭰ-Ᏽᏸ-ᏽꭰ-ꮿ"},{name:"Chorasmian",astral:"\uD803[\uDFB0-\uDFCB]"},{name:"Common",bmp:"\0-@\\[-`\\{-©«-¹»-¿×÷ʹ-˟˥-˩ˬ-˿ʹ;΅·؅،؛؟ـ۝࣢।॥฿࿕-࿘჻᛫-᛭᜵᜶᠂᠃᠅᳓᳡ᳩ-ᳬᳮ-ᳳᳵ-᳷ᳺ -​‎-⁤⁦-⁰⁴-⁾₀-₎₠-⃀℀-℥℧-℩ℬ-ℱℳ-⅍⅏-⅟↉-↋←-␦⑀-⑊①-⟿⤀-⭳⭶-⮕⮗-⯿⸀-⹝⿰-⿻ -〄〆〈-〠〰-〷〼-〿゛゜゠・ー㆐-㆟㇀-㇣㈠-㉟㉿-㋏㋿㍘-㏿䷀-䷿꜀-꜡ꞈ-꞊꠰-꠹꤮ꧏ꭛꭪꭫﴾﴿︐-︙︰-﹒﹔-﹦﹨-﹫\uFEFF!-@[-`{-・ー゙゚¢-₩│-○-�",astral:"\uD800[\uDD00-\uDD02\uDD07-\uDD33\uDD37-\uDD3F\uDD90-\uDD9C\uDDD0-\uDDFC\uDEE1-\uDEFB]|\uD82F[\uDCA0-\uDCA3]|\uD833[\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD66\uDD6A-\uDD7A\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDEE0-\uDEF3\uDF00-\uDF56\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDFCB\uDFCE-\uDFFF]|\uD83B[\uDC71-\uDCB4\uDD01-\uDD3D]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD00-\uDDAD\uDDE6-\uDDFF\uDE01\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEDD-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF73\uDF80-\uDFD8\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDE53\uDE60-\uDE6D\uDE70-\uDE74\uDE78-\uDE7C\uDE80-\uDE86\uDE90-\uDEAC\uDEB0-\uDEBA\uDEC0-\uDEC5\uDED0-\uDED9\uDEE0-\uDEE7\uDEF0-\uDEF6\uDF00-\uDF92\uDF94-\uDFCA\uDFF0-\uDFF9]|\uDB40[\uDC01\uDC20-\uDC7F]"},{name:"Coptic",bmp:"Ϣ-ϯⲀ-ⳳ⳹-⳿"},{name:"Cuneiform",astral:"\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC70-\uDC74\uDC80-\uDD43]"},{name:"Cypriot",astral:"\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F]"},{name:"Cypro_Minoan",astral:"\uD80B[\uDF90-\uDFF2]"},{name:"Cyrillic",bmp:"Ѐ-҄҇-ԯᲀ-ᲈᴫᵸⷠ-ⷿꙀ-ꚟ︮︯"},{name:"Deseret",astral:"\uD801[\uDC00-\uDC4F]"},{name:"Devanagari",bmp:"ऀ-ॐॕ-ॣ०-ॿ꣠-ꣿ"},{name:"Dives_Akuru",astral:"\uD806[\uDD00-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD35\uDD37\uDD38\uDD3B-\uDD46\uDD50-\uDD59]"},{name:"Dogra",astral:"\uD806[\uDC00-\uDC3B]"},{name:"Duployan",astral:"\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9C-\uDC9F]"},{name:"Egyptian_Hieroglyphs",astral:"\uD80C[\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E\uDC30-\uDC38]"},{name:"Elbasan",astral:"\uD801[\uDD00-\uDD27]"},{name:"Elymaic",astral:"\uD803[\uDFE0-\uDFF6]"},{name:"Ethiopic",bmp:"ሀ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚ፝-፼ᎀ-᎙ⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮ",astral:"\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]"},{name:"Georgian",bmp:"Ⴀ-ჅჇჍა-ჺჼ-ჿᲐ-ᲺᲽ-Ჿⴀ-ⴥⴧⴭ"},{name:"Glagolitic",bmp:"Ⰰ-ⱟ",astral:"\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]"},{name:"Gothic",astral:"\uD800[\uDF30-\uDF4A]"},{name:"Grantha",astral:"\uD804[\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]"},{name:"Greek",bmp:"Ͱ-ͳ͵-ͷͺ-ͽͿ΄ΆΈ-ΊΌΎ-ΡΣ-ϡϰ-Ͽᴦ-ᴪᵝ-ᵡᵦ-ᵪᶿἀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ῄῆ-ΐῖ-Ί῝-`ῲ-ῴῶ-῾Ωꭥ",astral:"\uD800[\uDD40-\uDD8E\uDDA0]|\uD834[\uDE00-\uDE45]"},{name:"Gujarati",bmp:"ઁ-ઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હ઼-ૅે-ૉો-્ૐૠ-ૣ૦-૱ૹ-૿"},{name:"Gunjala_Gondi",astral:"\uD807[\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD8E\uDD90\uDD91\uDD93-\uDD98\uDDA0-\uDDA9]"},{name:"Gurmukhi",bmp:"ਁ-ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹ਼ਾ-ੂੇੈੋ-੍ੑਖ਼-ੜਫ਼੦-੶"},{name:"Han",bmp:"⺀-⺙⺛-⻳⼀-⿕々〇〡-〩〸-〻㐀-䶿一-鿿豈-舘並-龎",astral:"\uD81B[\uDFE2\uDFE3\uDFF0\uDFF1]|[\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A]"},{name:"Hangul",bmp:"ᄀ-ᇿ〮〯ㄱ-ㆎ㈀-㈞㉠-㉾ꥠ-ꥼ가-힣ힰ-ퟆퟋ-ퟻᅠ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ"},{name:"Hanifi_Rohingya",astral:"\uD803[\uDD00-\uDD27\uDD30-\uDD39]"},{name:"Hanunoo",bmp:"ᜠ-᜴"},{name:"Hatran",astral:"\uD802[\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDCFF]"},{name:"Hebrew",bmp:"֑-ׇא-תׯ-״יִ-זּטּ-לּמּנּסּףּפּצּ-ﭏ"},{name:"Hiragana",bmp:"ぁ-ゖゝ-ゟ",astral:"\uD82C[\uDC01-\uDD1F\uDD50-\uDD52]|🈀"},{name:"Imperial_Aramaic",astral:"\uD802[\uDC40-\uDC55\uDC57-\uDC5F]"},{name:"Inherited",bmp:"̀-ًͯ҅҆-ٰٕ॑-॔᪰-ᫎ᳐-᳔᳒-᳢᳠-᳨᳭᳴᳸᳹᷀-᷿‌‍⃐-〪⃰-゙゚〭︀-️︠-︭",astral:"\uD800[\uDDFD\uDEE0]|𑌻|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD67-\uDD69\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD]|\uDB40[\uDD00-\uDDEF]"},{name:"Inscriptional_Pahlavi",astral:"\uD802[\uDF60-\uDF72\uDF78-\uDF7F]"},{name:"Inscriptional_Parthian",astral:"\uD802[\uDF40-\uDF55\uDF58-\uDF5F]"},{name:"Javanese",bmp:"ꦀ-꧍꧐-꧙꧞꧟"},{name:"Kaithi",astral:"\uD804[\uDC80-\uDCC2\uDCCD]"},{name:"Kannada",bmp:"ಀ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹ಼-ೄೆ-ೈೊ-್ೕೖೝೞೠ-ೣ೦-೯ೱೲ"},{name:"Katakana",bmp:"ァ-ヺヽ-ヿㇰ-ㇿ㋐-㋾㌀-㍗ヲ-ッア-ン",astral:"\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00\uDD20-\uDD22\uDD64-\uDD67]"},{name:"Kayah_Li",bmp:"꤀-꤭꤯"},{name:"Kharoshthi",astral:"\uD802[\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE38-\uDE3A\uDE3F-\uDE48\uDE50-\uDE58]"},{name:"Khitan_Small_Script",astral:"𖿤|\uD822[\uDF00-\uDFFF]|\uD823[\uDC00-\uDCD5]"},{name:"Khmer",bmp:"ក-៝០-៩៰-៹᧠-᧿"},{name:"Khojki",astral:"\uD804[\uDE00-\uDE11\uDE13-\uDE3E]"},{name:"Khudawadi",astral:"\uD804[\uDEB0-\uDEEA\uDEF0-\uDEF9]"},{name:"Lao",bmp:"ກຂຄຆ-ຊຌ-ຣລວ-ຽເ-ໄໆ່-ໍ໐-໙ໜ-ໟ"},{name:"Latin",bmp:"A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꟿꬰ-ꭚꭜ-ꭤꭦ-ꭩff-stA-Za-z",astral:"\uD801[\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD837[\uDF00-\uDF1E]"},{name:"Lepcha",bmp:"ᰀ-᰷᰻-᱉ᱍ-ᱏ"},{name:"Limbu",bmp:"ᤀ-ᤞᤠ-ᤫᤰ-᤻᥀᥄-᥏"},{name:"Linear_A",astral:"\uD801[\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]"},{name:"Linear_B",astral:"\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA]"},{name:"Lisu",bmp:"ꓐ-꓿",astral:"𑾰"},{name:"Lycian",astral:"\uD800[\uDE80-\uDE9C]"},{name:"Lydian",astral:"\uD802[\uDD20-\uDD39\uDD3F]"},{name:"Mahajani",astral:"\uD804[\uDD50-\uDD76]"},{name:"Makasar",astral:"\uD807[\uDEE0-\uDEF8]"},{name:"Malayalam",bmp:"ഀ-ഌഎ-ഐഒ-ൄെ-ൈൊ-൏ൔ-ൣ൦-ൿ"},{name:"Mandaic",bmp:"ࡀ-࡛࡞"},{name:"Manichaean",astral:"\uD802[\uDEC0-\uDEE6\uDEEB-\uDEF6]"},{name:"Marchen",astral:"\uD807[\uDC70-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]"},{name:"Masaram_Gondi",astral:"\uD807[\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]"},{name:"Medefaidrin",astral:"\uD81B[\uDE40-\uDE9A]"},{name:"Meetei_Mayek",bmp:"ꫠ-꫶ꯀ-꯭꯰-꯹"},{name:"Mende_Kikakui",astral:"\uD83A[\uDC00-\uDCC4\uDCC7-\uDCD6]"},{name:"Meroitic_Cursive",astral:"\uD802[\uDDA0-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDDFF]"},{name:"Meroitic_Hieroglyphs",astral:"\uD802[\uDD80-\uDD9F]"},{name:"Miao",astral:"\uD81B[\uDF00-\uDF4A\uDF4F-\uDF87\uDF8F-\uDF9F]"},{name:"Modi",astral:"\uD805[\uDE00-\uDE44\uDE50-\uDE59]"},{name:"Mongolian",bmp:"᠀᠁᠄᠆-᠙ᠠ-ᡸᢀ-ᢪ",astral:"\uD805[\uDE60-\uDE6C]"},{name:"Mro",astral:"\uD81A[\uDE40-\uDE5E\uDE60-\uDE69\uDE6E\uDE6F]"},{name:"Multani",astral:"\uD804[\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA9]"},{name:"Myanmar",bmp:"က-႟ꧠ-ꧾꩠ-ꩿ"},{name:"Nabataean",astral:"\uD802[\uDC80-\uDC9E\uDCA7-\uDCAF]"},{name:"Nandinagari",astral:"\uD806[\uDDA0-\uDDA7\uDDAA-\uDDD7\uDDDA-\uDDE4]"},{name:"New_Tai_Lue",bmp:"ᦀ-ᦫᦰ-ᧉ᧐-᧚᧞᧟"},{name:"Newa",astral:"\uD805[\uDC00-\uDC5B\uDC5D-\uDC61]"},{name:"Nko",bmp:"߀-ߺ߽-߿"},{name:"Nushu",astral:"𖿡|\uD82C[\uDD70-\uDEFB]"},{name:"Nyiakeng_Puachue_Hmong",astral:"\uD838[\uDD00-\uDD2C\uDD30-\uDD3D\uDD40-\uDD49\uDD4E\uDD4F]"},{name:"Ogham",bmp:" -᚜"},{name:"Ol_Chiki",bmp:"᱐-᱿"},{name:"Old_Hungarian",astral:"\uD803[\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDCFF]"},{name:"Old_Italic",astral:"\uD800[\uDF00-\uDF23\uDF2D-\uDF2F]"},{name:"Old_North_Arabian",astral:"\uD802[\uDE80-\uDE9F]"},{name:"Old_Permic",astral:"\uD800[\uDF50-\uDF7A]"},{name:"Old_Persian",astral:"\uD800[\uDFA0-\uDFC3\uDFC8-\uDFD5]"},{name:"Old_Sogdian",astral:"\uD803[\uDF00-\uDF27]"},{name:"Old_South_Arabian",astral:"\uD802[\uDE60-\uDE7F]"},{name:"Old_Turkic",astral:"\uD803[\uDC00-\uDC48]"},{name:"Old_Uyghur",astral:"\uD803[\uDF70-\uDF89]"},{name:"Oriya",bmp:"ଁ-ଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହ଼-ୄେୈୋ-୍୕-ୗଡ଼ଢ଼ୟ-ୣ୦-୷"},{name:"Osage",astral:"\uD801[\uDCB0-\uDCD3\uDCD8-\uDCFB]"},{name:"Osmanya",astral:"\uD801[\uDC80-\uDC9D\uDCA0-\uDCA9]"},{name:"Pahawh_Hmong",astral:"\uD81A[\uDF00-\uDF45\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]"},{name:"Palmyrene",astral:"\uD802[\uDC60-\uDC7F]"},{name:"Pau_Cin_Hau",astral:"\uD806[\uDEC0-\uDEF8]"},{name:"Phags_Pa",bmp:"ꡀ-꡷"},{name:"Phoenician",astral:"\uD802[\uDD00-\uDD1B\uDD1F]"},{name:"Psalter_Pahlavi",astral:"\uD802[\uDF80-\uDF91\uDF99-\uDF9C\uDFA9-\uDFAF]"},{name:"Rejang",bmp:"ꤰ-꥓꥟"},{name:"Runic",bmp:"ᚠ-ᛪᛮ-ᛸ"},{name:"Samaritan",bmp:"ࠀ-࠭࠰-࠾"},{name:"Saurashtra",bmp:"ꢀ-ꣅ꣎-꣙"},{name:"Sharada",astral:"\uD804[\uDD80-\uDDDF]"},{name:"Shavian",astral:"\uD801[\uDC50-\uDC7F]"},{name:"Siddham",astral:"\uD805[\uDD80-\uDDB5\uDDB8-\uDDDD]"},{name:"SignWriting",astral:"\uD836[\uDC00-\uDE8B\uDE9B-\uDE9F\uDEA1-\uDEAF]"},{name:"Sinhala",bmp:"ඁ-ඃඅ-ඖක-නඳ-රලව-ෆ්ා-ුූෘ-ෟ෦-෯ෲ-෴",astral:"\uD804[\uDDE1-\uDDF4]"},{name:"Sogdian",astral:"\uD803[\uDF30-\uDF59]"},{name:"Sora_Sompeng",astral:"\uD804[\uDCD0-\uDCE8\uDCF0-\uDCF9]"},{name:"Soyombo",astral:"\uD806[\uDE50-\uDEA2]"},{name:"Sundanese",bmp:"ᮀ-ᮿ᳀-᳇"},{name:"Syloti_Nagri",bmp:"ꠀ-꠬"},{name:"Syriac",bmp:"܀-܍܏-݊ݍ-ݏࡠ-ࡪ"},{name:"Tagalog",bmp:"ᜀ-᜕ᜟ"},{name:"Tagbanwa",bmp:"ᝠ-ᝬᝮ-ᝰᝲᝳ"},{name:"Tai_Le",bmp:"ᥐ-ᥭᥰ-ᥴ"},{name:"Tai_Tham",bmp:"ᨠ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪠-᪭"},{name:"Tai_Viet",bmp:"ꪀ-ꫂꫛ-꫟"},{name:"Takri",astral:"\uD805[\uDE80-\uDEB9\uDEC0-\uDEC9]"},{name:"Tamil",bmp:"ஂஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹா-ூெ-ைொ-்ௐௗ௦-௺",astral:"\uD807[\uDFC0-\uDFF1\uDFFF]"},{name:"Tangsa",astral:"\uD81A[\uDE70-\uDEBE\uDEC0-\uDEC9]"},{name:"Tangut",astral:"𖿠|[\uD81C-\uD820][\uDC00-\uDFFF]|\uD821[\uDC00-\uDFF7]|\uD822[\uDC00-\uDEFF]|\uD823[\uDD00-\uDD08]"},{name:"Telugu",bmp:"ఀ-ఌఎ-ఐఒ-నప-హ఼-ౄె-ైొ-్ౕౖౘ-ౚౝౠ-ౣ౦-౯౷-౿"},{name:"Thaana",bmp:"ހ-ޱ"},{name:"Thai",bmp:"ก-ฺเ-๛"},{name:"Tibetan",bmp:"ༀ-ཇཉ-ཬཱ-ྗྙ-ྼ྾-࿌࿎-࿔࿙࿚"},{name:"Tifinagh",bmp:"ⴰ-ⵧⵯ⵰⵿"},{name:"Tirhuta",astral:"\uD805[\uDC80-\uDCC7\uDCD0-\uDCD9]"},{name:"Toto",astral:"\uD838[\uDE90-\uDEAE]"},{name:"Ugaritic",astral:"\uD800[\uDF80-\uDF9D\uDF9F]"},{name:"Vai",bmp:"ꔀ-ꘫ"},{name:"Vithkuqi",astral:"\uD801[\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC]"},{name:"Wancho",astral:"\uD838[\uDEC0-\uDEF9\uDEFF]"},{name:"Warang_Citi",astral:"\uD806[\uDCA0-\uDCF2\uDCFF]"},{name:"Yezidi",astral:"\uD803[\uDE80-\uDEA9\uDEAB-\uDEAD\uDEB0\uDEB1]"},{name:"Yi",bmp:"ꀀ-ꒌ꒐-꓆"},{name:"Zanabazar_Square",astral:"\uD806[\uDE00-\uDE47]"}];/*! * XRegExp Unicode Scripts 5.1.1 * * Steven Levithan (c) 2010-present MIT License * Unicode data by Mathias Bynens - */const $T=e=>{if(!e.addUnicodeData)throw new ReferenceError("Unicode Base must be loaded before Unicode Scripts");e.addUnicodeData(TT,"Script")};AT(Z);FT(Z);CT(Z);wT(Z);BT(Z);$T(Z);const PT=Object.freeze(Object.defineProperty({__proto__:null,default:Z},Symbol.toStringTag,{value:"Module"}));function it(e,t){if(!!!e)throw new Error(t)}function sn(e){return typeof(e==null?void 0:e.then)=="function"}function Pn(e){return typeof e=="object"&&e!==null}function Wr(e,t){if(!!!e)throw new Error(t??"Unexpected invariant triggered.")}const kT=/\r\n|[\n\r]/g;function w2(e,t){let r=0,n=1;for(const u of e.body.matchAll(kT)){if(typeof u.index=="number"||Wr(!1),u.index>=t)break;r=u.index+u[0].length,n+=1}return{line:n,column:t+1-r}}function OT(e){return Q8(e.source,w2(e.source,e.start))}function Q8(e,t){const r=e.locationOffset.column-1,n="".padStart(r)+e.body,u=t.line-1,s=e.locationOffset.line-1,o=t.line+s,a=t.line===1?r:0,i=t.column+a,c=`${e.name}:${o}:${i} -`,l=n.split(/\r\n|[\n\r]/g),p=l[u];if(p.length>120){const d=Math.floor(i/80),f=i%80,h=[];for(let y=0;y["|",y]),["|","^".padStart(f)],["|",h[d+1]]])}return c+Ay([[`${o-1} |`,l[u-1]],[`${o} |`,p],["|","^".padStart(i)],[`${o+1} |`,l[u+1]]])}function Ay(e){const t=e.filter(([n,u])=>u!==void 0),r=Math.max(...t.map(([n])=>n.length));return t.map(([n,u])=>n.padStart(r)+(u?" "+u:"")).join(` -`)}function IT(e){const t=e[0];return t==null||"kind"in t||"length"in t?{nodes:t,source:e[1],positions:e[2],path:e[3],originalError:e[4],extensions:e[5]}:t}class De extends Error{constructor(t,...r){var n,u,s;const{nodes:o,source:a,positions:i,path:c,originalError:l,extensions:p}=IT(r);super(t),this.name="GraphQLError",this.path=c??void 0,this.originalError=l??void 0,this.nodes=Fy(Array.isArray(o)?o:o?[o]:void 0);const d=Fy((n=this.nodes)===null||n===void 0?void 0:n.map(h=>h.loc).filter(h=>h!=null));this.source=a??(d==null||(u=d[0])===null||u===void 0?void 0:u.source),this.positions=i??(d==null?void 0:d.map(h=>h.start)),this.locations=i&&a?i.map(h=>w2(a,h)):d==null?void 0:d.map(h=>w2(h.source,h.start));const f=Pn(l==null?void 0:l.extensions)?l==null?void 0:l.extensions:void 0;this.extensions=(s=p??f)!==null&&s!==void 0?s:Object.create(null),Object.defineProperties(this,{message:{writable:!0,enumerable:!0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),l!=null&&l.stack?Object.defineProperty(this,"stack",{value:l.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,De):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}get[Symbol.toStringTag](){return"GraphQLError"}toString(){let t=this.message;if(this.nodes)for(const r of this.nodes)r.loc&&(t+=` + */const kT=e=>{if(!e.addUnicodeData)throw new ReferenceError("Unicode Base must be loaded before Unicode Scripts");e.addUnicodeData(PT,"Script")};CT(Z);bT(Z);ST(Z);BT(Z);$T(Z);kT(Z);const OT=Object.freeze(Object.defineProperty({__proto__:null,default:Z},Symbol.toStringTag,{value:"Module"}));function it(e,t){if(!!!e)throw new Error(t)}function sn(e){return typeof(e==null?void 0:e.then)=="function"}function Pn(e){return typeof e=="object"&&e!==null}function Wr(e,t){if(!!!e)throw new Error(t??"Unexpected invariant triggered.")}const IT=/\r\n|[\n\r]/g;function _2(e,t){let r=0,n=1;for(const u of e.body.matchAll(IT)){if(typeof u.index=="number"||Wr(!1),u.index>=t)break;r=u.index+u[0].length,n+=1}return{line:n,column:t+1-r}}function NT(e){return t5(e.source,_2(e.source,e.start))}function t5(e,t){const r=e.locationOffset.column-1,n="".padStart(r)+e.body,u=t.line-1,s=e.locationOffset.line-1,o=t.line+s,a=t.line===1?r:0,i=t.column+a,c=`${e.name}:${o}:${i} +`,l=n.split(/\r\n|[\n\r]/g),p=l[u];if(p.length>120){const d=Math.floor(i/80),f=i%80,h=[];for(let y=0;y["|",y]),["|","^".padStart(f)],["|",h[d+1]]])}return c+Fy([[`${o-1} |`,l[u-1]],[`${o} |`,p],["|","^".padStart(i)],[`${o+1} |`,l[u+1]]])}function Fy(e){const t=e.filter(([n,u])=>u!==void 0),r=Math.max(...t.map(([n])=>n.length));return t.map(([n,u])=>n.padStart(r)+(u?" "+u:"")).join(` +`)}function qT(e){const t=e[0];return t==null||"kind"in t||"length"in t?{nodes:t,source:e[1],positions:e[2],path:e[3],originalError:e[4],extensions:e[5]}:t}class De extends Error{constructor(t,...r){var n,u,s;const{nodes:o,source:a,positions:i,path:c,originalError:l,extensions:p}=qT(r);super(t),this.name="GraphQLError",this.path=c??void 0,this.originalError=l??void 0,this.nodes=Cy(Array.isArray(o)?o:o?[o]:void 0);const d=Cy((n=this.nodes)===null||n===void 0?void 0:n.map(h=>h.loc).filter(h=>h!=null));this.source=a??(d==null||(u=d[0])===null||u===void 0?void 0:u.source),this.positions=i??(d==null?void 0:d.map(h=>h.start)),this.locations=i&&a?i.map(h=>_2(a,h)):d==null?void 0:d.map(h=>_2(h.source,h.start));const f=Pn(l==null?void 0:l.extensions)?l==null?void 0:l.extensions:void 0;this.extensions=(s=p??f)!==null&&s!==void 0?s:Object.create(null),Object.defineProperties(this,{message:{writable:!0,enumerable:!0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),l!=null&&l.stack?Object.defineProperty(this,"stack",{value:l.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,De):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}get[Symbol.toStringTag](){return"GraphQLError"}toString(){let t=this.message;if(this.nodes)for(const r of this.nodes)r.loc&&(t+=` -`+OT(r.loc));else if(this.source&&this.locations)for(const r of this.locations)t+=` +`+NT(r.loc));else if(this.source&&this.locations)for(const r of this.locations)t+=` -`+Q8(this.source,r);return t}toJSON(){const t={message:this.message};return this.locations!=null&&(t.locations=this.locations),this.path!=null&&(t.path=this.path),this.extensions!=null&&Object.keys(this.extensions).length>0&&(t.extensions=this.extensions),t}}function Fy(e){return e===void 0||e.length===0?void 0:e}function rr(e,t,r){return new De(`Syntax Error: ${r}`,{source:e,positions:[t]})}class NT{constructor(t,r,n){this.start=t.start,this.end=r.end,this.startToken=t,this.endToken=r,this.source=n}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}}class e5{constructor(t,r,n,u,s,o){this.kind=t,this.start=r,this.end=n,this.line=u,this.column=s,this.value=o,this.prev=null,this.next=null}get[Symbol.toStringTag](){return"Token"}toJSON(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}}const t5={Name:[],Document:["definitions"],OperationDefinition:["name","variableDefinitions","directives","selectionSet"],VariableDefinition:["variable","type","defaultValue","directives"],Variable:["name"],SelectionSet:["selections"],Field:["alias","name","arguments","directives","selectionSet"],Argument:["name","value"],FragmentSpread:["name","directives"],InlineFragment:["typeCondition","directives","selectionSet"],FragmentDefinition:["name","variableDefinitions","typeCondition","directives","selectionSet"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:["values"],ObjectValue:["fields"],ObjectField:["name","value"],Directive:["name","arguments"],NamedType:["name"],ListType:["type"],NonNullType:["type"],SchemaDefinition:["description","directives","operationTypes"],OperationTypeDefinition:["type"],ScalarTypeDefinition:["description","name","directives"],ObjectTypeDefinition:["description","name","interfaces","directives","fields"],FieldDefinition:["description","name","arguments","type","directives"],InputValueDefinition:["description","name","type","defaultValue","directives"],InterfaceTypeDefinition:["description","name","interfaces","directives","fields"],UnionTypeDefinition:["description","name","directives","types"],EnumTypeDefinition:["description","name","directives","values"],EnumValueDefinition:["description","name","directives"],InputObjectTypeDefinition:["description","name","directives","fields"],DirectiveDefinition:["description","name","arguments","locations"],SchemaExtension:["directives","operationTypes"],ScalarTypeExtension:["name","directives"],ObjectTypeExtension:["name","interfaces","directives","fields"],InterfaceTypeExtension:["name","interfaces","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"]},qT=new Set(Object.keys(t5));function _2(e){const t=e==null?void 0:e.kind;return typeof t=="string"&&qT.has(t)}var nr;(function(e){e.QUERY="query",e.MUTATION="mutation",e.SUBSCRIPTION="subscription"})(nr||(nr={}));var Ue;(function(e){e.QUERY="QUERY",e.MUTATION="MUTATION",e.SUBSCRIPTION="SUBSCRIPTION",e.FIELD="FIELD",e.FRAGMENT_DEFINITION="FRAGMENT_DEFINITION",e.FRAGMENT_SPREAD="FRAGMENT_SPREAD",e.INLINE_FRAGMENT="INLINE_FRAGMENT",e.VARIABLE_DEFINITION="VARIABLE_DEFINITION",e.SCHEMA="SCHEMA",e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.FIELD_DEFINITION="FIELD_DEFINITION",e.ARGUMENT_DEFINITION="ARGUMENT_DEFINITION",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.ENUM_VALUE="ENUM_VALUE",e.INPUT_OBJECT="INPUT_OBJECT",e.INPUT_FIELD_DEFINITION="INPUT_FIELD_DEFINITION"})(Ue||(Ue={}));var j;(function(e){e.NAME="Name",e.DOCUMENT="Document",e.OPERATION_DEFINITION="OperationDefinition",e.VARIABLE_DEFINITION="VariableDefinition",e.SELECTION_SET="SelectionSet",e.FIELD="Field",e.ARGUMENT="Argument",e.FRAGMENT_SPREAD="FragmentSpread",e.INLINE_FRAGMENT="InlineFragment",e.FRAGMENT_DEFINITION="FragmentDefinition",e.VARIABLE="Variable",e.INT="IntValue",e.FLOAT="FloatValue",e.STRING="StringValue",e.BOOLEAN="BooleanValue",e.NULL="NullValue",e.ENUM="EnumValue",e.LIST="ListValue",e.OBJECT="ObjectValue",e.OBJECT_FIELD="ObjectField",e.DIRECTIVE="Directive",e.NAMED_TYPE="NamedType",e.LIST_TYPE="ListType",e.NON_NULL_TYPE="NonNullType",e.SCHEMA_DEFINITION="SchemaDefinition",e.OPERATION_TYPE_DEFINITION="OperationTypeDefinition",e.SCALAR_TYPE_DEFINITION="ScalarTypeDefinition",e.OBJECT_TYPE_DEFINITION="ObjectTypeDefinition",e.FIELD_DEFINITION="FieldDefinition",e.INPUT_VALUE_DEFINITION="InputValueDefinition",e.INTERFACE_TYPE_DEFINITION="InterfaceTypeDefinition",e.UNION_TYPE_DEFINITION="UnionTypeDefinition",e.ENUM_TYPE_DEFINITION="EnumTypeDefinition",e.ENUM_VALUE_DEFINITION="EnumValueDefinition",e.INPUT_OBJECT_TYPE_DEFINITION="InputObjectTypeDefinition",e.DIRECTIVE_DEFINITION="DirectiveDefinition",e.SCHEMA_EXTENSION="SchemaExtension",e.SCALAR_TYPE_EXTENSION="ScalarTypeExtension",e.OBJECT_TYPE_EXTENSION="ObjectTypeExtension",e.INTERFACE_TYPE_EXTENSION="InterfaceTypeExtension",e.UNION_TYPE_EXTENSION="UnionTypeExtension",e.ENUM_TYPE_EXTENSION="EnumTypeExtension",e.INPUT_OBJECT_TYPE_EXTENSION="InputObjectTypeExtension"})(j||(j={}));function B2(e){return e===9||e===32}function Ti(e){return e>=48&&e<=57}function r5(e){return e>=97&&e<=122||e>=65&&e<=90}function Kh(e){return r5(e)||e===95}function n5(e){return r5(e)||Ti(e)||e===95}function xT(e){var t;let r=Number.MAX_SAFE_INTEGER,n=null,u=-1;for(let o=0;oa===0?o:o.slice(r)).slice((t=n)!==null&&t!==void 0?t:0,u+1)}function RT(e){let t=0;for(;t1&&n.slice(1).every(f=>f.length===0||B2(f.charCodeAt(0))),o=r.endsWith('\\"""'),a=e.endsWith('"')&&!o,i=e.endsWith("\\"),c=a||i,l=!u||e.length>70||c||s||o;let p="";const d=u&&B2(e.charCodeAt(0));return(l&&!d||s)&&(p+=` +`+t5(this.source,r);return t}toJSON(){const t={message:this.message};return this.locations!=null&&(t.locations=this.locations),this.path!=null&&(t.path=this.path),this.extensions!=null&&Object.keys(this.extensions).length>0&&(t.extensions=this.extensions),t}}function Cy(e){return e===void 0||e.length===0?void 0:e}function rr(e,t,r){return new De(`Syntax Error: ${r}`,{source:e,positions:[t]})}class xT{constructor(t,r,n){this.start=t.start,this.end=r.end,this.startToken=t,this.endToken=r,this.source=n}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}}class r5{constructor(t,r,n,u,s,o){this.kind=t,this.start=r,this.end=n,this.line=u,this.column=s,this.value=o,this.prev=null,this.next=null}get[Symbol.toStringTag](){return"Token"}toJSON(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}}const n5={Name:[],Document:["definitions"],OperationDefinition:["name","variableDefinitions","directives","selectionSet"],VariableDefinition:["variable","type","defaultValue","directives"],Variable:["name"],SelectionSet:["selections"],Field:["alias","name","arguments","directives","selectionSet"],Argument:["name","value"],FragmentSpread:["name","directives"],InlineFragment:["typeCondition","directives","selectionSet"],FragmentDefinition:["name","variableDefinitions","typeCondition","directives","selectionSet"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:["values"],ObjectValue:["fields"],ObjectField:["name","value"],Directive:["name","arguments"],NamedType:["name"],ListType:["type"],NonNullType:["type"],SchemaDefinition:["description","directives","operationTypes"],OperationTypeDefinition:["type"],ScalarTypeDefinition:["description","name","directives"],ObjectTypeDefinition:["description","name","interfaces","directives","fields"],FieldDefinition:["description","name","arguments","type","directives"],InputValueDefinition:["description","name","type","defaultValue","directives"],InterfaceTypeDefinition:["description","name","interfaces","directives","fields"],UnionTypeDefinition:["description","name","directives","types"],EnumTypeDefinition:["description","name","directives","values"],EnumValueDefinition:["description","name","directives"],InputObjectTypeDefinition:["description","name","directives","fields"],DirectiveDefinition:["description","name","arguments","locations"],SchemaExtension:["directives","operationTypes"],ScalarTypeExtension:["name","directives"],ObjectTypeExtension:["name","interfaces","directives","fields"],InterfaceTypeExtension:["name","interfaces","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"]},RT=new Set(Object.keys(n5));function B2(e){const t=e==null?void 0:e.kind;return typeof t=="string"&&RT.has(t)}var nr;(function(e){e.QUERY="query",e.MUTATION="mutation",e.SUBSCRIPTION="subscription"})(nr||(nr={}));var Ue;(function(e){e.QUERY="QUERY",e.MUTATION="MUTATION",e.SUBSCRIPTION="SUBSCRIPTION",e.FIELD="FIELD",e.FRAGMENT_DEFINITION="FRAGMENT_DEFINITION",e.FRAGMENT_SPREAD="FRAGMENT_SPREAD",e.INLINE_FRAGMENT="INLINE_FRAGMENT",e.VARIABLE_DEFINITION="VARIABLE_DEFINITION",e.SCHEMA="SCHEMA",e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.FIELD_DEFINITION="FIELD_DEFINITION",e.ARGUMENT_DEFINITION="ARGUMENT_DEFINITION",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.ENUM_VALUE="ENUM_VALUE",e.INPUT_OBJECT="INPUT_OBJECT",e.INPUT_FIELD_DEFINITION="INPUT_FIELD_DEFINITION"})(Ue||(Ue={}));var j;(function(e){e.NAME="Name",e.DOCUMENT="Document",e.OPERATION_DEFINITION="OperationDefinition",e.VARIABLE_DEFINITION="VariableDefinition",e.SELECTION_SET="SelectionSet",e.FIELD="Field",e.ARGUMENT="Argument",e.FRAGMENT_SPREAD="FragmentSpread",e.INLINE_FRAGMENT="InlineFragment",e.FRAGMENT_DEFINITION="FragmentDefinition",e.VARIABLE="Variable",e.INT="IntValue",e.FLOAT="FloatValue",e.STRING="StringValue",e.BOOLEAN="BooleanValue",e.NULL="NullValue",e.ENUM="EnumValue",e.LIST="ListValue",e.OBJECT="ObjectValue",e.OBJECT_FIELD="ObjectField",e.DIRECTIVE="Directive",e.NAMED_TYPE="NamedType",e.LIST_TYPE="ListType",e.NON_NULL_TYPE="NonNullType",e.SCHEMA_DEFINITION="SchemaDefinition",e.OPERATION_TYPE_DEFINITION="OperationTypeDefinition",e.SCALAR_TYPE_DEFINITION="ScalarTypeDefinition",e.OBJECT_TYPE_DEFINITION="ObjectTypeDefinition",e.FIELD_DEFINITION="FieldDefinition",e.INPUT_VALUE_DEFINITION="InputValueDefinition",e.INTERFACE_TYPE_DEFINITION="InterfaceTypeDefinition",e.UNION_TYPE_DEFINITION="UnionTypeDefinition",e.ENUM_TYPE_DEFINITION="EnumTypeDefinition",e.ENUM_VALUE_DEFINITION="EnumValueDefinition",e.INPUT_OBJECT_TYPE_DEFINITION="InputObjectTypeDefinition",e.DIRECTIVE_DEFINITION="DirectiveDefinition",e.SCHEMA_EXTENSION="SchemaExtension",e.SCALAR_TYPE_EXTENSION="ScalarTypeExtension",e.OBJECT_TYPE_EXTENSION="ObjectTypeExtension",e.INTERFACE_TYPE_EXTENSION="InterfaceTypeExtension",e.UNION_TYPE_EXTENSION="UnionTypeExtension",e.ENUM_TYPE_EXTENSION="EnumTypeExtension",e.INPUT_OBJECT_TYPE_EXTENSION="InputObjectTypeExtension"})(j||(j={}));function T2(e){return e===9||e===32}function Ti(e){return e>=48&&e<=57}function u5(e){return e>=97&&e<=122||e>=65&&e<=90}function Xh(e){return u5(e)||e===95}function s5(e){return u5(e)||Ti(e)||e===95}function jT(e){var t;let r=Number.MAX_SAFE_INTEGER,n=null,u=-1;for(let o=0;oa===0?o:o.slice(r)).slice((t=n)!==null&&t!==void 0?t:0,u+1)}function MT(e){let t=0;for(;t1&&n.slice(1).every(f=>f.length===0||T2(f.charCodeAt(0))),o=r.endsWith('\\"""'),a=e.endsWith('"')&&!o,i=e.endsWith("\\"),c=a||i,l=!u||e.length>70||c||s||o;let p="";const d=u&&T2(e.charCodeAt(0));return(l&&!d||s)&&(p+=` `),p+=r,(l||c)&&(p+=` -`),'"""'+p+'"""'}var me;(function(e){e.SOF="",e.EOF="",e.BANG="!",e.DOLLAR="$",e.AMP="&",e.PAREN_L="(",e.PAREN_R=")",e.SPREAD="...",e.COLON=":",e.EQUALS="=",e.AT="@",e.BRACKET_L="[",e.BRACKET_R="]",e.BRACE_L="{",e.PIPE="|",e.BRACE_R="}",e.NAME="Name",e.INT="Int",e.FLOAT="Float",e.STRING="String",e.BLOCK_STRING="BlockString",e.COMMENT="Comment"})(me||(me={}));class MT{constructor(t){const r=new e5(me.SOF,0,0,0,0);this.source=t,this.lastToken=r,this.token=r,this.line=1,this.lineStart=0}get[Symbol.toStringTag](){return"Lexer"}advance(){return this.lastToken=this.token,this.token=this.lookahead()}lookahead(){let t=this.token;if(t.kind!==me.EOF)do if(t.next)t=t.next;else{const r=UT(this,t.end);t.next=r,r.prev=t,t=r}while(t.kind===me.COMMENT);return t}}function LT(e){return e===me.BANG||e===me.DOLLAR||e===me.AMP||e===me.PAREN_L||e===me.PAREN_R||e===me.SPREAD||e===me.COLON||e===me.EQUALS||e===me.AT||e===me.BRACKET_L||e===me.BRACKET_R||e===me.BRACE_L||e===me.PIPE||e===me.BRACE_R}function ba(e){return e>=0&&e<=55295||e>=57344&&e<=1114111}function Ip(e,t){return u5(e.charCodeAt(t))&&s5(e.charCodeAt(t+1))}function u5(e){return e>=55296&&e<=56319}function s5(e){return e>=56320&&e<=57343}function Js(e,t){const r=e.source.body.codePointAt(t);if(r===void 0)return me.EOF;if(r>=32&&r<=126){const n=String.fromCodePoint(r);return n==='"'?`'"'`:`"${n}"`}return"U+"+r.toString(16).toUpperCase().padStart(4,"0")}function zt(e,t,r,n,u){const s=e.line,o=1+r-e.lineStart;return new e5(t,r,n,s,o,u)}function UT(e,t){const r=e.source.body,n=r.length;let u=t;for(;u=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}function zT(e,t){const r=e.source.body;switch(r.charCodeAt(t+1)){case 34:return{value:'"',size:2};case 92:return{value:"\\",size:2};case 47:return{value:"/",size:2};case 98:return{value:"\b",size:2};case 102:return{value:"\f",size:2};case 110:return{value:` -`,size:2};case 114:return{value:"\r",size:2};case 116:return{value:" ",size:2}}throw rr(e.source,t,`Invalid character escape sequence: "${r.slice(t,t+2)}".`)}function KT(e,t){const r=e.source.body,n=r.length;let u=e.lineStart,s=t+3,o=s,a="";const i=[];for(;so5?"["+r$(e)+"]":"{ "+r.map(([u,s])=>u+": "+Np(s,t)).join(", ")+" }"}function t$(e,t){if(e.length===0)return"[]";if(t.length>o5)return"[Array]";const r=Math.min(YT,e.length),n=e.length-r,u=[];for(let s=0;s1&&u.push(`... ${n} more items`),"["+u.join(", ")+"]"}function r$(e){const t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if(t==="Object"&&typeof e.constructor=="function"){const r=e.constructor.name;if(typeof r=="string"&&r!=="")return r}return t}const kn=function(t,r){return t instanceof r};class Xh{constructor(t,r="GraphQL request",n={line:1,column:1}){typeof t=="string"||it(!1,`Body must be a string. Received: ${Ae(t)}.`),this.body=t,this.name=r,this.locationOffset=n,this.locationOffset.line>0||it(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||it(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}}function n$(e){return kn(e,Xh)}function Yh(e,t){return new u$(e,t).parseDocument()}let u$=class{constructor(t,r={}){const n=n$(t)?t:new Xh(t);this._lexer=new MT(n),this._options=r,this._tokenCounter=0}parseName(){const t=this.expectToken(me.NAME);return this.node(t,{kind:j.NAME,value:t.value})}parseDocument(){return this.node(this._lexer.token,{kind:j.DOCUMENT,definitions:this.many(me.SOF,this.parseDefinition,me.EOF)})}parseDefinition(){if(this.peek(me.BRACE_L))return this.parseOperationDefinition();const t=this.peekDescription(),r=t?this._lexer.lookahead():this._lexer.token;if(r.kind===me.NAME){switch(r.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}if(t)throw rr(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are supported only on type definitions.");switch(r.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"extend":return this.parseTypeSystemExtension()}}throw this.unexpected(r)}parseOperationDefinition(){const t=this._lexer.token;if(this.peek(me.BRACE_L))return this.node(t,{kind:j.OPERATION_DEFINITION,operation:nr.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});const r=this.parseOperationType();let n;return this.peek(me.NAME)&&(n=this.parseName()),this.node(t,{kind:j.OPERATION_DEFINITION,operation:r,name:n,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){const t=this.expectToken(me.NAME);switch(t.value){case"query":return nr.QUERY;case"mutation":return nr.MUTATION;case"subscription":return nr.SUBSCRIPTION}throw this.unexpected(t)}parseVariableDefinitions(){return this.optionalMany(me.PAREN_L,this.parseVariableDefinition,me.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:j.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(me.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(me.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){const t=this._lexer.token;return this.expectToken(me.DOLLAR),this.node(t,{kind:j.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:j.SELECTION_SET,selections:this.many(me.BRACE_L,this.parseSelection,me.BRACE_R)})}parseSelection(){return this.peek(me.SPREAD)?this.parseFragment():this.parseField()}parseField(){const t=this._lexer.token,r=this.parseName();let n,u;return this.expectOptionalToken(me.COLON)?(n=r,u=this.parseName()):u=r,this.node(t,{kind:j.FIELD,alias:n,name:u,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(me.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(t){const r=t?this.parseConstArgument:this.parseArgument;return this.optionalMany(me.PAREN_L,r,me.PAREN_R)}parseArgument(t=!1){const r=this._lexer.token,n=this.parseName();return this.expectToken(me.COLON),this.node(r,{kind:j.ARGUMENT,name:n,value:this.parseValueLiteral(t)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){const t=this._lexer.token;this.expectToken(me.SPREAD);const r=this.expectOptionalKeyword("on");return!r&&this.peek(me.NAME)?this.node(t,{kind:j.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(t,{kind:j.INLINE_FRAGMENT,typeCondition:r?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){const t=this._lexer.token;return this.expectKeyword("fragment"),this._options.allowLegacyFragmentVariables===!0?this.node(t,{kind:j.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(t,{kind:j.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if(this._lexer.token.value==="on")throw this.unexpected();return this.parseName()}parseValueLiteral(t){const r=this._lexer.token;switch(r.kind){case me.BRACKET_L:return this.parseList(t);case me.BRACE_L:return this.parseObject(t);case me.INT:return this.advanceLexer(),this.node(r,{kind:j.INT,value:r.value});case me.FLOAT:return this.advanceLexer(),this.node(r,{kind:j.FLOAT,value:r.value});case me.STRING:case me.BLOCK_STRING:return this.parseStringLiteral();case me.NAME:switch(this.advanceLexer(),r.value){case"true":return this.node(r,{kind:j.BOOLEAN,value:!0});case"false":return this.node(r,{kind:j.BOOLEAN,value:!1});case"null":return this.node(r,{kind:j.NULL});default:return this.node(r,{kind:j.ENUM,value:r.value})}case me.DOLLAR:if(t)if(this.expectToken(me.DOLLAR),this._lexer.token.kind===me.NAME){const n=this._lexer.token.value;throw rr(this._lexer.source,r.start,`Unexpected variable "$${n}" in constant value.`)}else throw this.unexpected(r);return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){const t=this._lexer.token;return this.advanceLexer(),this.node(t,{kind:j.STRING,value:t.value,block:t.kind===me.BLOCK_STRING})}parseList(t){const r=()=>this.parseValueLiteral(t);return this.node(this._lexer.token,{kind:j.LIST,values:this.any(me.BRACKET_L,r,me.BRACKET_R)})}parseObject(t){const r=()=>this.parseObjectField(t);return this.node(this._lexer.token,{kind:j.OBJECT,fields:this.any(me.BRACE_L,r,me.BRACE_R)})}parseObjectField(t){const r=this._lexer.token,n=this.parseName();return this.expectToken(me.COLON),this.node(r,{kind:j.OBJECT_FIELD,name:n,value:this.parseValueLiteral(t)})}parseDirectives(t){const r=[];for(;this.peek(me.AT);)r.push(this.parseDirective(t));return r}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(t){const r=this._lexer.token;return this.expectToken(me.AT),this.node(r,{kind:j.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(t)})}parseTypeReference(){const t=this._lexer.token;let r;if(this.expectOptionalToken(me.BRACKET_L)){const n=this.parseTypeReference();this.expectToken(me.BRACKET_R),r=this.node(t,{kind:j.LIST_TYPE,type:n})}else r=this.parseNamedType();return this.expectOptionalToken(me.BANG)?this.node(t,{kind:j.NON_NULL_TYPE,type:r}):r}parseNamedType(){return this.node(this._lexer.token,{kind:j.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(me.STRING)||this.peek(me.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){const t=this._lexer.token,r=this.parseDescription();this.expectKeyword("schema");const n=this.parseConstDirectives(),u=this.many(me.BRACE_L,this.parseOperationTypeDefinition,me.BRACE_R);return this.node(t,{kind:j.SCHEMA_DEFINITION,description:r,directives:n,operationTypes:u})}parseOperationTypeDefinition(){const t=this._lexer.token,r=this.parseOperationType();this.expectToken(me.COLON);const n=this.parseNamedType();return this.node(t,{kind:j.OPERATION_TYPE_DEFINITION,operation:r,type:n})}parseScalarTypeDefinition(){const t=this._lexer.token,r=this.parseDescription();this.expectKeyword("scalar");const n=this.parseName(),u=this.parseConstDirectives();return this.node(t,{kind:j.SCALAR_TYPE_DEFINITION,description:r,name:n,directives:u})}parseObjectTypeDefinition(){const t=this._lexer.token,r=this.parseDescription();this.expectKeyword("type");const n=this.parseName(),u=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),o=this.parseFieldsDefinition();return this.node(t,{kind:j.OBJECT_TYPE_DEFINITION,description:r,name:n,interfaces:u,directives:s,fields:o})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(me.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(me.BRACE_L,this.parseFieldDefinition,me.BRACE_R)}parseFieldDefinition(){const t=this._lexer.token,r=this.parseDescription(),n=this.parseName(),u=this.parseArgumentDefs();this.expectToken(me.COLON);const s=this.parseTypeReference(),o=this.parseConstDirectives();return this.node(t,{kind:j.FIELD_DEFINITION,description:r,name:n,arguments:u,type:s,directives:o})}parseArgumentDefs(){return this.optionalMany(me.PAREN_L,this.parseInputValueDef,me.PAREN_R)}parseInputValueDef(){const t=this._lexer.token,r=this.parseDescription(),n=this.parseName();this.expectToken(me.COLON);const u=this.parseTypeReference();let s;this.expectOptionalToken(me.EQUALS)&&(s=this.parseConstValueLiteral());const o=this.parseConstDirectives();return this.node(t,{kind:j.INPUT_VALUE_DEFINITION,description:r,name:n,type:u,defaultValue:s,directives:o})}parseInterfaceTypeDefinition(){const t=this._lexer.token,r=this.parseDescription();this.expectKeyword("interface");const n=this.parseName(),u=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),o=this.parseFieldsDefinition();return this.node(t,{kind:j.INTERFACE_TYPE_DEFINITION,description:r,name:n,interfaces:u,directives:s,fields:o})}parseUnionTypeDefinition(){const t=this._lexer.token,r=this.parseDescription();this.expectKeyword("union");const n=this.parseName(),u=this.parseConstDirectives(),s=this.parseUnionMemberTypes();return this.node(t,{kind:j.UNION_TYPE_DEFINITION,description:r,name:n,directives:u,types:s})}parseUnionMemberTypes(){return this.expectOptionalToken(me.EQUALS)?this.delimitedMany(me.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){const t=this._lexer.token,r=this.parseDescription();this.expectKeyword("enum");const n=this.parseName(),u=this.parseConstDirectives(),s=this.parseEnumValuesDefinition();return this.node(t,{kind:j.ENUM_TYPE_DEFINITION,description:r,name:n,directives:u,values:s})}parseEnumValuesDefinition(){return this.optionalMany(me.BRACE_L,this.parseEnumValueDefinition,me.BRACE_R)}parseEnumValueDefinition(){const t=this._lexer.token,r=this.parseDescription(),n=this.parseEnumValueName(),u=this.parseConstDirectives();return this.node(t,{kind:j.ENUM_VALUE_DEFINITION,description:r,name:n,directives:u})}parseEnumValueName(){if(this._lexer.token.value==="true"||this._lexer.token.value==="false"||this._lexer.token.value==="null")throw rr(this._lexer.source,this._lexer.token.start,`${Rc(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){const t=this._lexer.token,r=this.parseDescription();this.expectKeyword("input");const n=this.parseName(),u=this.parseConstDirectives(),s=this.parseInputFieldsDefinition();return this.node(t,{kind:j.INPUT_OBJECT_TYPE_DEFINITION,description:r,name:n,directives:u,fields:s})}parseInputFieldsDefinition(){return this.optionalMany(me.BRACE_L,this.parseInputValueDef,me.BRACE_R)}parseTypeSystemExtension(){const t=this._lexer.lookahead();if(t.kind===me.NAME)switch(t.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(t)}parseSchemaExtension(){const t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");const r=this.parseConstDirectives(),n=this.optionalMany(me.BRACE_L,this.parseOperationTypeDefinition,me.BRACE_R);if(r.length===0&&n.length===0)throw this.unexpected();return this.node(t,{kind:j.SCHEMA_EXTENSION,directives:r,operationTypes:n})}parseScalarTypeExtension(){const t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");const r=this.parseName(),n=this.parseConstDirectives();if(n.length===0)throw this.unexpected();return this.node(t,{kind:j.SCALAR_TYPE_EXTENSION,name:r,directives:n})}parseObjectTypeExtension(){const t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");const r=this.parseName(),n=this.parseImplementsInterfaces(),u=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(n.length===0&&u.length===0&&s.length===0)throw this.unexpected();return this.node(t,{kind:j.OBJECT_TYPE_EXTENSION,name:r,interfaces:n,directives:u,fields:s})}parseInterfaceTypeExtension(){const t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");const r=this.parseName(),n=this.parseImplementsInterfaces(),u=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(n.length===0&&u.length===0&&s.length===0)throw this.unexpected();return this.node(t,{kind:j.INTERFACE_TYPE_EXTENSION,name:r,interfaces:n,directives:u,fields:s})}parseUnionTypeExtension(){const t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");const r=this.parseName(),n=this.parseConstDirectives(),u=this.parseUnionMemberTypes();if(n.length===0&&u.length===0)throw this.unexpected();return this.node(t,{kind:j.UNION_TYPE_EXTENSION,name:r,directives:n,types:u})}parseEnumTypeExtension(){const t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");const r=this.parseName(),n=this.parseConstDirectives(),u=this.parseEnumValuesDefinition();if(n.length===0&&u.length===0)throw this.unexpected();return this.node(t,{kind:j.ENUM_TYPE_EXTENSION,name:r,directives:n,values:u})}parseInputObjectTypeExtension(){const t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");const r=this.parseName(),n=this.parseConstDirectives(),u=this.parseInputFieldsDefinition();if(n.length===0&&u.length===0)throw this.unexpected();return this.node(t,{kind:j.INPUT_OBJECT_TYPE_EXTENSION,name:r,directives:n,fields:u})}parseDirectiveDefinition(){const t=this._lexer.token,r=this.parseDescription();this.expectKeyword("directive"),this.expectToken(me.AT);const n=this.parseName(),u=this.parseArgumentDefs(),s=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");const o=this.parseDirectiveLocations();return this.node(t,{kind:j.DIRECTIVE_DEFINITION,description:r,name:n,arguments:u,repeatable:s,locations:o})}parseDirectiveLocations(){return this.delimitedMany(me.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){const t=this._lexer.token,r=this.parseName();if(Object.prototype.hasOwnProperty.call(Ue,r.value))return r;throw this.unexpected(t)}node(t,r){return this._options.noLocation!==!0&&(r.loc=new NT(t,this._lexer.lastToken,this._lexer.source)),r}peek(t){return this._lexer.token.kind===t}expectToken(t){const r=this._lexer.token;if(r.kind===t)return this.advanceLexer(),r;throw rr(this._lexer.source,r.start,`Expected ${a5(t)}, found ${Rc(r)}.`)}expectOptionalToken(t){return this._lexer.token.kind===t?(this.advanceLexer(),!0):!1}expectKeyword(t){const r=this._lexer.token;if(r.kind===me.NAME&&r.value===t)this.advanceLexer();else throw rr(this._lexer.source,r.start,`Expected "${t}", found ${Rc(r)}.`)}expectOptionalKeyword(t){const r=this._lexer.token;return r.kind===me.NAME&&r.value===t?(this.advanceLexer(),!0):!1}unexpected(t){const r=t??this._lexer.token;return rr(this._lexer.source,r.start,`Unexpected ${Rc(r)}.`)}any(t,r,n){this.expectToken(t);const u=[];for(;!this.expectOptionalToken(n);)u.push(r.call(this));return u}optionalMany(t,r,n){if(this.expectOptionalToken(t)){const u=[];do u.push(r.call(this));while(!this.expectOptionalToken(n));return u}return[]}many(t,r,n){this.expectToken(t);const u=[];do u.push(r.call(this));while(!this.expectOptionalToken(n));return u}delimitedMany(t,r){this.expectOptionalToken(t);const n=[];do n.push(r.call(this));while(this.expectOptionalToken(t));return n}advanceLexer(){const{maxTokens:t}=this._options,r=this._lexer.advance();if(t!==void 0&&r.kind!==me.EOF&&(++this._tokenCounter,this._tokenCounter>t))throw rr(this._lexer.source,r.start,`Document contains more that ${t} tokens. Parsing aborted.`)}};function Rc(e){const t=e.value;return a5(e.kind)+(t!=null?` "${t}"`:"")}function a5(e){return LT(e)?`"${e}"`:e}const s$=5;function wu(e,t){const[r,n]=t?[e,t]:[void 0,e];let u=" Did you mean ";r&&(u+=r+" ");const s=n.map(i=>`"${i}"`);switch(s.length){case 0:return"";case 1:return u+s[0]+"?";case 2:return u+s[0]+" or "+s[1]+"?"}const o=s.slice(0,s$),a=o.pop();return u+o.join(", ")+", or "+a+"?"}function by(e){return e}function zs(e,t){const r=Object.create(null);for(const n of e)r[t(n)]=n;return r}function Zh(e,t,r){const n=Object.create(null);for(const u of e)n[t(u)]=r(u);return n}function yu(e,t){const r=Object.create(null);for(const n of Object.keys(e))r[n]=t(e[n],n);return r}function Qh(e,t){let r=0,n=0;for(;r0);let a=0;do++n,a=a*10+s-T2,s=t.charCodeAt(n);while(jc(s)&&a>0);if(oa)return 1}else{if(us)return 1;++r,++n}}return e.length-t.length}const T2=48,o$=57;function jc(e){return!isNaN(e)&&T2<=e&&e<=o$}function ls(e,t){const r=Object.create(null),n=new a$(e),u=Math.floor(e.length*.4)+1;for(const s of t){const o=n.measure(s,u);o!==void 0&&(r[s]=o)}return Object.keys(r).sort((s,o)=>{const a=r[s]-r[o];return a!==0?a:Qh(s,o)})}class a${constructor(t){this._input=t,this._inputLowerCase=t.toLowerCase(),this._inputArray=Sy(this._inputLowerCase),this._rows=[new Array(t.length+1).fill(0),new Array(t.length+1).fill(0),new Array(t.length+1).fill(0)]}measure(t,r){if(this._input===t)return 0;const n=t.toLowerCase();if(this._inputLowerCase===n)return 1;let u=Sy(n),s=this._inputArray;if(u.lengthr)return;const i=this._rows;for(let l=0;l<=a;l++)i[0][l]=l;for(let l=1;l<=o;l++){const p=i[(l-1)%3],d=i[l%3];let f=d[0]=l;for(let h=1;h<=a;h++){const y=u[l-1]===s[h-1]?0:1;let A=Math.min(p[h]+1,d[h-1]+1,p[h-1]+y);if(l>1&&h>1&&u[l-1]===s[h-2]&&u[l-2]===s[h-1]){const m=i[(l-2)%3][h-2];A=Math.min(A,m+1)}Ar)return}const c=i[o%3][a];return c<=r?c:void 0}}function Sy(e){const t=e.length,r=new Array(t);for(let n=0;ne.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>ke(e.definitions,` +`),'"""'+p+'"""'}var me;(function(e){e.SOF="",e.EOF="",e.BANG="!",e.DOLLAR="$",e.AMP="&",e.PAREN_L="(",e.PAREN_R=")",e.SPREAD="...",e.COLON=":",e.EQUALS="=",e.AT="@",e.BRACKET_L="[",e.BRACKET_R="]",e.BRACE_L="{",e.PIPE="|",e.BRACE_R="}",e.NAME="Name",e.INT="Int",e.FLOAT="Float",e.STRING="String",e.BLOCK_STRING="BlockString",e.COMMENT="Comment"})(me||(me={}));class UT{constructor(t){const r=new r5(me.SOF,0,0,0,0);this.source=t,this.lastToken=r,this.token=r,this.line=1,this.lineStart=0}get[Symbol.toStringTag](){return"Lexer"}advance(){return this.lastToken=this.token,this.token=this.lookahead()}lookahead(){let t=this.token;if(t.kind!==me.EOF)do if(t.next)t=t.next;else{const r=VT(this,t.end);t.next=r,r.prev=t,t=r}while(t.kind===me.COMMENT);return t}}function GT(e){return e===me.BANG||e===me.DOLLAR||e===me.AMP||e===me.PAREN_L||e===me.PAREN_R||e===me.SPREAD||e===me.COLON||e===me.EQUALS||e===me.AT||e===me.BRACKET_L||e===me.BRACKET_R||e===me.BRACE_L||e===me.PIPE||e===me.BRACE_R}function ba(e){return e>=0&&e<=55295||e>=57344&&e<=1114111}function Ip(e,t){return o5(e.charCodeAt(t))&&a5(e.charCodeAt(t+1))}function o5(e){return e>=55296&&e<=56319}function a5(e){return e>=56320&&e<=57343}function Js(e,t){const r=e.source.body.codePointAt(t);if(r===void 0)return me.EOF;if(r>=32&&r<=126){const n=String.fromCodePoint(r);return n==='"'?`'"'`:`"${n}"`}return"U+"+r.toString(16).toUpperCase().padStart(4,"0")}function zt(e,t,r,n,u){const s=e.line,o=1+r-e.lineStart;return new r5(t,r,n,s,o,u)}function VT(e,t){const r=e.source.body,n=r.length;let u=t;for(;u=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}function XT(e,t){const r=e.source.body;switch(r.charCodeAt(t+1)){case 34:return{value:'"',size:2};case 92:return{value:"\\",size:2};case 47:return{value:"/",size:2};case 98:return{value:"\b",size:2};case 102:return{value:"\f",size:2};case 110:return{value:` +`,size:2};case 114:return{value:"\r",size:2};case 116:return{value:" ",size:2}}throw rr(e.source,t,`Invalid character escape sequence: "${r.slice(t,t+2)}".`)}function YT(e,t){const r=e.source.body,n=r.length;let u=e.lineStart,s=t+3,o=s,a="";const i=[];for(;si5?"["+u$(e)+"]":"{ "+r.map(([u,s])=>u+": "+Np(s,t)).join(", ")+" }"}function n$(e,t){if(e.length===0)return"[]";if(t.length>i5)return"[Array]";const r=Math.min(QT,e.length),n=e.length-r,u=[];for(let s=0;s1&&u.push(`... ${n} more items`),"["+u.join(", ")+"]"}function u$(e){const t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if(t==="Object"&&typeof e.constructor=="function"){const r=e.constructor.name;if(typeof r=="string"&&r!=="")return r}return t}const kn=function(t,r){return t instanceof r};class Yh{constructor(t,r="GraphQL request",n={line:1,column:1}){typeof t=="string"||it(!1,`Body must be a string. Received: ${Ae(t)}.`),this.body=t,this.name=r,this.locationOffset=n,this.locationOffset.line>0||it(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||it(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}}function s$(e){return kn(e,Yh)}function Zh(e,t){return new o$(e,t).parseDocument()}let o$=class{constructor(t,r={}){const n=s$(t)?t:new Yh(t);this._lexer=new UT(n),this._options=r,this._tokenCounter=0}parseName(){const t=this.expectToken(me.NAME);return this.node(t,{kind:j.NAME,value:t.value})}parseDocument(){return this.node(this._lexer.token,{kind:j.DOCUMENT,definitions:this.many(me.SOF,this.parseDefinition,me.EOF)})}parseDefinition(){if(this.peek(me.BRACE_L))return this.parseOperationDefinition();const t=this.peekDescription(),r=t?this._lexer.lookahead():this._lexer.token;if(r.kind===me.NAME){switch(r.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}if(t)throw rr(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are supported only on type definitions.");switch(r.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"extend":return this.parseTypeSystemExtension()}}throw this.unexpected(r)}parseOperationDefinition(){const t=this._lexer.token;if(this.peek(me.BRACE_L))return this.node(t,{kind:j.OPERATION_DEFINITION,operation:nr.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});const r=this.parseOperationType();let n;return this.peek(me.NAME)&&(n=this.parseName()),this.node(t,{kind:j.OPERATION_DEFINITION,operation:r,name:n,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){const t=this.expectToken(me.NAME);switch(t.value){case"query":return nr.QUERY;case"mutation":return nr.MUTATION;case"subscription":return nr.SUBSCRIPTION}throw this.unexpected(t)}parseVariableDefinitions(){return this.optionalMany(me.PAREN_L,this.parseVariableDefinition,me.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:j.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(me.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(me.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){const t=this._lexer.token;return this.expectToken(me.DOLLAR),this.node(t,{kind:j.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:j.SELECTION_SET,selections:this.many(me.BRACE_L,this.parseSelection,me.BRACE_R)})}parseSelection(){return this.peek(me.SPREAD)?this.parseFragment():this.parseField()}parseField(){const t=this._lexer.token,r=this.parseName();let n,u;return this.expectOptionalToken(me.COLON)?(n=r,u=this.parseName()):u=r,this.node(t,{kind:j.FIELD,alias:n,name:u,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(me.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(t){const r=t?this.parseConstArgument:this.parseArgument;return this.optionalMany(me.PAREN_L,r,me.PAREN_R)}parseArgument(t=!1){const r=this._lexer.token,n=this.parseName();return this.expectToken(me.COLON),this.node(r,{kind:j.ARGUMENT,name:n,value:this.parseValueLiteral(t)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){const t=this._lexer.token;this.expectToken(me.SPREAD);const r=this.expectOptionalKeyword("on");return!r&&this.peek(me.NAME)?this.node(t,{kind:j.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(t,{kind:j.INLINE_FRAGMENT,typeCondition:r?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){const t=this._lexer.token;return this.expectKeyword("fragment"),this._options.allowLegacyFragmentVariables===!0?this.node(t,{kind:j.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(t,{kind:j.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if(this._lexer.token.value==="on")throw this.unexpected();return this.parseName()}parseValueLiteral(t){const r=this._lexer.token;switch(r.kind){case me.BRACKET_L:return this.parseList(t);case me.BRACE_L:return this.parseObject(t);case me.INT:return this.advanceLexer(),this.node(r,{kind:j.INT,value:r.value});case me.FLOAT:return this.advanceLexer(),this.node(r,{kind:j.FLOAT,value:r.value});case me.STRING:case me.BLOCK_STRING:return this.parseStringLiteral();case me.NAME:switch(this.advanceLexer(),r.value){case"true":return this.node(r,{kind:j.BOOLEAN,value:!0});case"false":return this.node(r,{kind:j.BOOLEAN,value:!1});case"null":return this.node(r,{kind:j.NULL});default:return this.node(r,{kind:j.ENUM,value:r.value})}case me.DOLLAR:if(t)if(this.expectToken(me.DOLLAR),this._lexer.token.kind===me.NAME){const n=this._lexer.token.value;throw rr(this._lexer.source,r.start,`Unexpected variable "$${n}" in constant value.`)}else throw this.unexpected(r);return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){const t=this._lexer.token;return this.advanceLexer(),this.node(t,{kind:j.STRING,value:t.value,block:t.kind===me.BLOCK_STRING})}parseList(t){const r=()=>this.parseValueLiteral(t);return this.node(this._lexer.token,{kind:j.LIST,values:this.any(me.BRACKET_L,r,me.BRACKET_R)})}parseObject(t){const r=()=>this.parseObjectField(t);return this.node(this._lexer.token,{kind:j.OBJECT,fields:this.any(me.BRACE_L,r,me.BRACE_R)})}parseObjectField(t){const r=this._lexer.token,n=this.parseName();return this.expectToken(me.COLON),this.node(r,{kind:j.OBJECT_FIELD,name:n,value:this.parseValueLiteral(t)})}parseDirectives(t){const r=[];for(;this.peek(me.AT);)r.push(this.parseDirective(t));return r}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(t){const r=this._lexer.token;return this.expectToken(me.AT),this.node(r,{kind:j.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(t)})}parseTypeReference(){const t=this._lexer.token;let r;if(this.expectOptionalToken(me.BRACKET_L)){const n=this.parseTypeReference();this.expectToken(me.BRACKET_R),r=this.node(t,{kind:j.LIST_TYPE,type:n})}else r=this.parseNamedType();return this.expectOptionalToken(me.BANG)?this.node(t,{kind:j.NON_NULL_TYPE,type:r}):r}parseNamedType(){return this.node(this._lexer.token,{kind:j.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(me.STRING)||this.peek(me.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){const t=this._lexer.token,r=this.parseDescription();this.expectKeyword("schema");const n=this.parseConstDirectives(),u=this.many(me.BRACE_L,this.parseOperationTypeDefinition,me.BRACE_R);return this.node(t,{kind:j.SCHEMA_DEFINITION,description:r,directives:n,operationTypes:u})}parseOperationTypeDefinition(){const t=this._lexer.token,r=this.parseOperationType();this.expectToken(me.COLON);const n=this.parseNamedType();return this.node(t,{kind:j.OPERATION_TYPE_DEFINITION,operation:r,type:n})}parseScalarTypeDefinition(){const t=this._lexer.token,r=this.parseDescription();this.expectKeyword("scalar");const n=this.parseName(),u=this.parseConstDirectives();return this.node(t,{kind:j.SCALAR_TYPE_DEFINITION,description:r,name:n,directives:u})}parseObjectTypeDefinition(){const t=this._lexer.token,r=this.parseDescription();this.expectKeyword("type");const n=this.parseName(),u=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),o=this.parseFieldsDefinition();return this.node(t,{kind:j.OBJECT_TYPE_DEFINITION,description:r,name:n,interfaces:u,directives:s,fields:o})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(me.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(me.BRACE_L,this.parseFieldDefinition,me.BRACE_R)}parseFieldDefinition(){const t=this._lexer.token,r=this.parseDescription(),n=this.parseName(),u=this.parseArgumentDefs();this.expectToken(me.COLON);const s=this.parseTypeReference(),o=this.parseConstDirectives();return this.node(t,{kind:j.FIELD_DEFINITION,description:r,name:n,arguments:u,type:s,directives:o})}parseArgumentDefs(){return this.optionalMany(me.PAREN_L,this.parseInputValueDef,me.PAREN_R)}parseInputValueDef(){const t=this._lexer.token,r=this.parseDescription(),n=this.parseName();this.expectToken(me.COLON);const u=this.parseTypeReference();let s;this.expectOptionalToken(me.EQUALS)&&(s=this.parseConstValueLiteral());const o=this.parseConstDirectives();return this.node(t,{kind:j.INPUT_VALUE_DEFINITION,description:r,name:n,type:u,defaultValue:s,directives:o})}parseInterfaceTypeDefinition(){const t=this._lexer.token,r=this.parseDescription();this.expectKeyword("interface");const n=this.parseName(),u=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),o=this.parseFieldsDefinition();return this.node(t,{kind:j.INTERFACE_TYPE_DEFINITION,description:r,name:n,interfaces:u,directives:s,fields:o})}parseUnionTypeDefinition(){const t=this._lexer.token,r=this.parseDescription();this.expectKeyword("union");const n=this.parseName(),u=this.parseConstDirectives(),s=this.parseUnionMemberTypes();return this.node(t,{kind:j.UNION_TYPE_DEFINITION,description:r,name:n,directives:u,types:s})}parseUnionMemberTypes(){return this.expectOptionalToken(me.EQUALS)?this.delimitedMany(me.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){const t=this._lexer.token,r=this.parseDescription();this.expectKeyword("enum");const n=this.parseName(),u=this.parseConstDirectives(),s=this.parseEnumValuesDefinition();return this.node(t,{kind:j.ENUM_TYPE_DEFINITION,description:r,name:n,directives:u,values:s})}parseEnumValuesDefinition(){return this.optionalMany(me.BRACE_L,this.parseEnumValueDefinition,me.BRACE_R)}parseEnumValueDefinition(){const t=this._lexer.token,r=this.parseDescription(),n=this.parseEnumValueName(),u=this.parseConstDirectives();return this.node(t,{kind:j.ENUM_VALUE_DEFINITION,description:r,name:n,directives:u})}parseEnumValueName(){if(this._lexer.token.value==="true"||this._lexer.token.value==="false"||this._lexer.token.value==="null")throw rr(this._lexer.source,this._lexer.token.start,`${Rc(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){const t=this._lexer.token,r=this.parseDescription();this.expectKeyword("input");const n=this.parseName(),u=this.parseConstDirectives(),s=this.parseInputFieldsDefinition();return this.node(t,{kind:j.INPUT_OBJECT_TYPE_DEFINITION,description:r,name:n,directives:u,fields:s})}parseInputFieldsDefinition(){return this.optionalMany(me.BRACE_L,this.parseInputValueDef,me.BRACE_R)}parseTypeSystemExtension(){const t=this._lexer.lookahead();if(t.kind===me.NAME)switch(t.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(t)}parseSchemaExtension(){const t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");const r=this.parseConstDirectives(),n=this.optionalMany(me.BRACE_L,this.parseOperationTypeDefinition,me.BRACE_R);if(r.length===0&&n.length===0)throw this.unexpected();return this.node(t,{kind:j.SCHEMA_EXTENSION,directives:r,operationTypes:n})}parseScalarTypeExtension(){const t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");const r=this.parseName(),n=this.parseConstDirectives();if(n.length===0)throw this.unexpected();return this.node(t,{kind:j.SCALAR_TYPE_EXTENSION,name:r,directives:n})}parseObjectTypeExtension(){const t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");const r=this.parseName(),n=this.parseImplementsInterfaces(),u=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(n.length===0&&u.length===0&&s.length===0)throw this.unexpected();return this.node(t,{kind:j.OBJECT_TYPE_EXTENSION,name:r,interfaces:n,directives:u,fields:s})}parseInterfaceTypeExtension(){const t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");const r=this.parseName(),n=this.parseImplementsInterfaces(),u=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(n.length===0&&u.length===0&&s.length===0)throw this.unexpected();return this.node(t,{kind:j.INTERFACE_TYPE_EXTENSION,name:r,interfaces:n,directives:u,fields:s})}parseUnionTypeExtension(){const t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");const r=this.parseName(),n=this.parseConstDirectives(),u=this.parseUnionMemberTypes();if(n.length===0&&u.length===0)throw this.unexpected();return this.node(t,{kind:j.UNION_TYPE_EXTENSION,name:r,directives:n,types:u})}parseEnumTypeExtension(){const t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");const r=this.parseName(),n=this.parseConstDirectives(),u=this.parseEnumValuesDefinition();if(n.length===0&&u.length===0)throw this.unexpected();return this.node(t,{kind:j.ENUM_TYPE_EXTENSION,name:r,directives:n,values:u})}parseInputObjectTypeExtension(){const t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");const r=this.parseName(),n=this.parseConstDirectives(),u=this.parseInputFieldsDefinition();if(n.length===0&&u.length===0)throw this.unexpected();return this.node(t,{kind:j.INPUT_OBJECT_TYPE_EXTENSION,name:r,directives:n,fields:u})}parseDirectiveDefinition(){const t=this._lexer.token,r=this.parseDescription();this.expectKeyword("directive"),this.expectToken(me.AT);const n=this.parseName(),u=this.parseArgumentDefs(),s=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");const o=this.parseDirectiveLocations();return this.node(t,{kind:j.DIRECTIVE_DEFINITION,description:r,name:n,arguments:u,repeatable:s,locations:o})}parseDirectiveLocations(){return this.delimitedMany(me.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){const t=this._lexer.token,r=this.parseName();if(Object.prototype.hasOwnProperty.call(Ue,r.value))return r;throw this.unexpected(t)}node(t,r){return this._options.noLocation!==!0&&(r.loc=new xT(t,this._lexer.lastToken,this._lexer.source)),r}peek(t){return this._lexer.token.kind===t}expectToken(t){const r=this._lexer.token;if(r.kind===t)return this.advanceLexer(),r;throw rr(this._lexer.source,r.start,`Expected ${c5(t)}, found ${Rc(r)}.`)}expectOptionalToken(t){return this._lexer.token.kind===t?(this.advanceLexer(),!0):!1}expectKeyword(t){const r=this._lexer.token;if(r.kind===me.NAME&&r.value===t)this.advanceLexer();else throw rr(this._lexer.source,r.start,`Expected "${t}", found ${Rc(r)}.`)}expectOptionalKeyword(t){const r=this._lexer.token;return r.kind===me.NAME&&r.value===t?(this.advanceLexer(),!0):!1}unexpected(t){const r=t??this._lexer.token;return rr(this._lexer.source,r.start,`Unexpected ${Rc(r)}.`)}any(t,r,n){this.expectToken(t);const u=[];for(;!this.expectOptionalToken(n);)u.push(r.call(this));return u}optionalMany(t,r,n){if(this.expectOptionalToken(t)){const u=[];do u.push(r.call(this));while(!this.expectOptionalToken(n));return u}return[]}many(t,r,n){this.expectToken(t);const u=[];do u.push(r.call(this));while(!this.expectOptionalToken(n));return u}delimitedMany(t,r){this.expectOptionalToken(t);const n=[];do n.push(r.call(this));while(this.expectOptionalToken(t));return n}advanceLexer(){const{maxTokens:t}=this._options,r=this._lexer.advance();if(t!==void 0&&r.kind!==me.EOF&&(++this._tokenCounter,this._tokenCounter>t))throw rr(this._lexer.source,r.start,`Document contains more that ${t} tokens. Parsing aborted.`)}};function Rc(e){const t=e.value;return c5(e.kind)+(t!=null?` "${t}"`:"")}function c5(e){return GT(e)?`"${e}"`:e}const a$=5;function wu(e,t){const[r,n]=t?[e,t]:[void 0,e];let u=" Did you mean ";r&&(u+=r+" ");const s=n.map(i=>`"${i}"`);switch(s.length){case 0:return"";case 1:return u+s[0]+"?";case 2:return u+s[0]+" or "+s[1]+"?"}const o=s.slice(0,a$),a=o.pop();return u+o.join(", ")+", or "+a+"?"}function Sy(e){return e}function zs(e,t){const r=Object.create(null);for(const n of e)r[t(n)]=n;return r}function Qh(e,t,r){const n=Object.create(null);for(const u of e)n[t(u)]=r(u);return n}function yu(e,t){const r=Object.create(null);for(const n of Object.keys(e))r[n]=t(e[n],n);return r}function em(e,t){let r=0,n=0;for(;r0);let a=0;do++n,a=a*10+s-$2,s=t.charCodeAt(n);while(jc(s)&&a>0);if(oa)return 1}else{if(us)return 1;++r,++n}}return e.length-t.length}const $2=48,i$=57;function jc(e){return!isNaN(e)&&$2<=e&&e<=i$}function ls(e,t){const r=Object.create(null),n=new c$(e),u=Math.floor(e.length*.4)+1;for(const s of t){const o=n.measure(s,u);o!==void 0&&(r[s]=o)}return Object.keys(r).sort((s,o)=>{const a=r[s]-r[o];return a!==0?a:em(s,o)})}class c${constructor(t){this._input=t,this._inputLowerCase=t.toLowerCase(),this._inputArray=wy(this._inputLowerCase),this._rows=[new Array(t.length+1).fill(0),new Array(t.length+1).fill(0),new Array(t.length+1).fill(0)]}measure(t,r){if(this._input===t)return 0;const n=t.toLowerCase();if(this._inputLowerCase===n)return 1;let u=wy(n),s=this._inputArray;if(u.lengthr)return;const i=this._rows;for(let l=0;l<=a;l++)i[0][l]=l;for(let l=1;l<=o;l++){const p=i[(l-1)%3],d=i[l%3];let f=d[0]=l;for(let h=1;h<=a;h++){const y=u[l-1]===s[h-1]?0:1;let A=Math.min(p[h]+1,d[h-1]+1,p[h-1]+y);if(l>1&&h>1&&u[l-1]===s[h-2]&&u[l-2]===s[h-1]){const m=i[(l-2)%3][h-2];A=Math.min(A,m+1)}Ar)return}const c=i[o%3][a];return c<=r?c:void 0}}function wy(e){const t=e.length,r=new Array(t);for(let n=0;ne.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>ke(e.definitions,` -`)},OperationDefinition:{leave(e){const t=at("(",ke(e.variableDefinitions,", "),")"),r=ke([e.operation,ke([e.name,t]),ke(e.directives," ")]," ");return(r==="query"?"":r+" ")+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:t,defaultValue:r,directives:n})=>e+": "+t+at(" = ",r)+at(" ",ke(n," "))},SelectionSet:{leave:({selections:e})=>fn(e)},Field:{leave({alias:e,name:t,arguments:r,directives:n,selectionSet:u}){const s=at("",e,": ")+t;let o=s+at("(",ke(r,", "),")");return o.length>d$&&(o=s+at(`( +`)},OperationDefinition:{leave(e){const t=at("(",ke(e.variableDefinitions,", "),")"),r=ke([e.operation,ke([e.name,t]),ke(e.directives," ")]," ");return(r==="query"?"":r+" ")+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:t,defaultValue:r,directives:n})=>e+": "+t+at(" = ",r)+at(" ",ke(n," "))},SelectionSet:{leave:({selections:e})=>fn(e)},Field:{leave({alias:e,name:t,arguments:r,directives:n,selectionSet:u}){const s=at("",e,": ")+t;let o=s+at("(",ke(r,", "),")");return o.length>D$&&(o=s+at(`( `,_l(ke(r,` `)),` -)`)),ke([o,ke(n," "),u]," ")}},Argument:{leave:({name:e,value:t})=>e+": "+t},FragmentSpread:{leave:({name:e,directives:t})=>"..."+e+at(" ",ke(t," "))},InlineFragment:{leave:({typeCondition:e,directives:t,selectionSet:r})=>ke(["...",at("on ",e),ke(t," "),r]," ")},FragmentDefinition:{leave:({name:e,typeCondition:t,variableDefinitions:r,directives:n,selectionSet:u})=>`fragment ${e}${at("(",ke(r,", "),")")} on ${t} ${at("",ke(n," ")," ")}`+u},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:e,block:t})=>t?jT(e):i$(e)},BooleanValue:{leave:({value:e})=>e?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:e})=>e},ListValue:{leave:({values:e})=>"["+ke(e,", ")+"]"},ObjectValue:{leave:({fields:e})=>"{"+ke(e,", ")+"}"},ObjectField:{leave:({name:e,value:t})=>e+": "+t},Directive:{leave:({name:e,arguments:t})=>"@"+e+at("(",ke(t,", "),")")},NamedType:{leave:({name:e})=>e},ListType:{leave:({type:e})=>"["+e+"]"},NonNullType:{leave:({type:e})=>e+"!"},SchemaDefinition:{leave:({description:e,directives:t,operationTypes:r})=>at("",e,` +)`)),ke([o,ke(n," "),u]," ")}},Argument:{leave:({name:e,value:t})=>e+": "+t},FragmentSpread:{leave:({name:e,directives:t})=>"..."+e+at(" ",ke(t," "))},InlineFragment:{leave:({typeCondition:e,directives:t,selectionSet:r})=>ke(["...",at("on ",e),ke(t," "),r]," ")},FragmentDefinition:{leave:({name:e,typeCondition:t,variableDefinitions:r,directives:n,selectionSet:u})=>`fragment ${e}${at("(",ke(r,", "),")")} on ${t} ${at("",ke(n," ")," ")}`+u},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:e,block:t})=>t?LT(e):l$(e)},BooleanValue:{leave:({value:e})=>e?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:e})=>e},ListValue:{leave:({values:e})=>"["+ke(e,", ")+"]"},ObjectValue:{leave:({fields:e})=>"{"+ke(e,", ")+"}"},ObjectField:{leave:({name:e,value:t})=>e+": "+t},Directive:{leave:({name:e,arguments:t})=>"@"+e+at("(",ke(t,", "),")")},NamedType:{leave:({name:e})=>e},ListType:{leave:({type:e})=>"["+e+"]"},NonNullType:{leave:({type:e})=>e+"!"},SchemaDefinition:{leave:({description:e,directives:t,operationTypes:r})=>at("",e,` `)+ke(["schema",ke(t," "),fn(r)]," ")},OperationTypeDefinition:{leave:({operation:e,type:t})=>e+": "+t},ScalarTypeDefinition:{leave:({description:e,name:t,directives:r})=>at("",e,` `)+ke(["scalar",t,ke(r," ")]," ")},ObjectTypeDefinition:{leave:({description:e,name:t,interfaces:r,directives:n,fields:u})=>at("",e,` `)+ke(["type",t,at("implements ",ke(r," & ")),ke(n," "),fn(u)]," ")},FieldDefinition:{leave:({description:e,name:t,arguments:r,type:n,directives:u})=>at("",e,` -`)+t+(wy(r)?at(`( +`)+t+(_y(r)?at(`( `,_l(ke(r,` `)),` )`):at("(",ke(r,", "),")"))+": "+n+at(" ",ke(u," "))},InputValueDefinition:{leave:({description:e,name:t,type:r,defaultValue:n,directives:u})=>at("",e,` @@ -58,63 +58,63 @@ import{r as ft,j as It,v as Vh,R as Vi,g as L8,c as Ce,M as U8,a as aT,b as iT}f `)+ke(["enum",t,ke(r," "),fn(n)]," ")},EnumValueDefinition:{leave:({description:e,name:t,directives:r})=>at("",e,` `)+ke([t,ke(r," ")]," ")},InputObjectTypeDefinition:{leave:({description:e,name:t,directives:r,fields:n})=>at("",e,` `)+ke(["input",t,ke(r," "),fn(n)]," ")},DirectiveDefinition:{leave:({description:e,name:t,arguments:r,repeatable:n,locations:u})=>at("",e,` -`)+"directive @"+t+(wy(r)?at(`( +`)+"directive @"+t+(_y(r)?at(`( `,_l(ke(r,` `)),` )`):at("(",ke(r,", "),")"))+(n?" repeatable":"")+" on "+ke(u," | ")},SchemaExtension:{leave:({directives:e,operationTypes:t})=>ke(["extend schema",ke(e," "),fn(t)]," ")},ScalarTypeExtension:{leave:({name:e,directives:t})=>ke(["extend scalar",e,ke(t," ")]," ")},ObjectTypeExtension:{leave:({name:e,interfaces:t,directives:r,fields:n})=>ke(["extend type",e,at("implements ",ke(t," & ")),ke(r," "),fn(n)]," ")},InterfaceTypeExtension:{leave:({name:e,interfaces:t,directives:r,fields:n})=>ke(["extend interface",e,at("implements ",ke(t," & ")),ke(r," "),fn(n)]," ")},UnionTypeExtension:{leave:({name:e,directives:t,types:r})=>ke(["extend union",e,ke(t," "),at("= ",ke(r," | "))]," ")},EnumTypeExtension:{leave:({name:e,directives:t,values:r})=>ke(["extend enum",e,ke(t," "),fn(r)]," ")},InputObjectTypeExtension:{leave:({name:e,directives:t,fields:r})=>ke(["extend input",e,ke(t," "),fn(r)]," ")}};function ke(e,t=""){var r;return(r=e==null?void 0:e.filter(n=>n).join(t))!==null&&r!==void 0?r:""}function fn(e){return at(`{ `,_l(ke(e,` `)),` }`)}function at(e,t,r=""){return t!=null&&t!==""?e+t+r:""}function _l(e){return at(" ",e.replace(/\n/g,` - `))}function wy(e){var t;return(t=e==null?void 0:e.some(r=>r.includes(` -`)))!==null&&t!==void 0?t:!1}function $2(e,t){switch(e.kind){case j.NULL:return null;case j.INT:return parseInt(e.value,10);case j.FLOAT:return parseFloat(e.value);case j.STRING:case j.ENUM:case j.BOOLEAN:return e.value;case j.LIST:return e.values.map(r=>$2(r,t));case j.OBJECT:return Zh(e.fields,r=>r.name.value,r=>$2(r.value,t));case j.VARIABLE:return t==null?void 0:t[e.name.value]}}function On(e){if(e!=null||it(!1,"Must provide name."),typeof e=="string"||it(!1,"Expected name to be a string."),e.length===0)throw new De("Expected name to be a non-empty string.");for(let t=1;to($2(a,i)),this.extensions=an(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(s=t.extensionASTNodes)!==null&&s!==void 0?s:[],t.specifiedByURL==null||typeof t.specifiedByURL=="string"||it(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${Ae(t.specifiedByURL)}.`),t.serialize==null||typeof t.serialize=="function"||it(!1,`${this.name} must provide "serialize" function. If this custom Scalar is also used as an input type, ensure "parseValue" and "parseLiteral" functions are also provided.`),t.parseLiteral&&(typeof t.parseValue=="function"&&typeof t.parseLiteral=="function"||it(!1,`${this.name} must provide both "parseValue" and "parseLiteral" functions.`))}get[Symbol.toStringTag](){return"GraphQLScalarType"}toConfig(){return{name:this.name,description:this.description,specifiedByURL:this.specifiedByURL,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}class jr{constructor(t){var r;this.name=On(t.name),this.description=t.description,this.isTypeOf=t.isTypeOf,this.extensions=an(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=()=>d5(t),this._interfaces=()=>p5(t),t.isTypeOf==null||typeof t.isTypeOf=="function"||it(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${Ae(t.isTypeOf)}.`)}get[Symbol.toStringTag](){return"GraphQLObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:D5(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}function p5(e){var t;const r=c5((t=e.interfaces)!==null&&t!==void 0?t:[]);return Array.isArray(r)||it(!1,`${e.name} interfaces must be an Array or a function which returns an Array.`),r}function d5(e){const t=l5(e.fields);return ra(t)||it(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),yu(t,(r,n)=>{var u;ra(r)||it(!1,`${e.name}.${n} field config must be an object.`),r.resolve==null||typeof r.resolve=="function"||it(!1,`${e.name}.${n} field resolver must be a function if provided, but got: ${Ae(r.resolve)}.`);const s=(u=r.args)!==null&&u!==void 0?u:{};return ra(s)||it(!1,`${e.name}.${n} args must be an object with argument names as keys.`),{name:On(n),description:r.description,type:r.type,args:f5(s),resolve:r.resolve,subscribe:r.subscribe,deprecationReason:r.deprecationReason,extensions:an(r.extensions),astNode:r.astNode}})}function f5(e){return Object.entries(e).map(([t,r])=>({name:On(t),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:an(r.extensions),astNode:r.astNode}))}function ra(e){return Pn(e)&&!Array.isArray(e)}function D5(e){return yu(e,t=>({description:t.description,type:t.type,args:h5(t.args),resolve:t.resolve,subscribe:t.subscribe,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}function h5(e){return Zh(e,t=>t.name,t=>({description:t.description,type:t.type,defaultValue:t.defaultValue,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}function Ji(e){return nt(e.type)&&e.defaultValue===void 0}class is{constructor(t){var r;this.name=On(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=an(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=d5.bind(void 0,t),this._interfaces=p5.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||it(!1,`${this.name} must provide "resolveType" as a function, but got: ${Ae(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLInterfaceType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:D5(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}class $i{constructor(t){var r;this.name=On(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=an(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._types=m$.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||it(!1,`${this.name} must provide "resolveType" as a function, but got: ${Ae(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLUnionType"}getTypes(){return typeof this._types=="function"&&(this._types=this._types()),this._types}toConfig(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}function m$(e){const t=c5(e.types);return Array.isArray(t)||it(!1,`Must provide Array of types or a function which returns such an array for Union ${e.name}.`),t}class tu{constructor(t){var r;this.name=On(t.name),this.description=t.description,this.extensions=an(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._values=E$(this.name,t.values),this._valueLookup=new Map(this._values.map(n=>[n.value,n])),this._nameLookup=zs(this._values,n=>n.name)}get[Symbol.toStringTag](){return"GraphQLEnumType"}getValues(){return this._values}getValue(t){return this._nameLookup[t]}serialize(t){const r=this._valueLookup.get(t);if(r===void 0)throw new De(`Enum "${this.name}" cannot represent value: ${Ae(t)}`);return r.name}parseValue(t){if(typeof t!="string"){const n=Ae(t);throw new De(`Enum "${this.name}" cannot represent non-string value: ${n}.`+Mc(this,n))}const r=this.getValue(t);if(r==null)throw new De(`Value "${t}" does not exist in "${this.name}" enum.`+Mc(this,t));return r.value}parseLiteral(t,r){if(t.kind!==j.ENUM){const u=Wt(t);throw new De(`Enum "${this.name}" cannot represent non-enum value: ${u}.`+Mc(this,u),{nodes:t})}const n=this.getValue(t.value);if(n==null){const u=Wt(t);throw new De(`Value "${u}" does not exist in "${this.name}" enum.`+Mc(this,u),{nodes:t})}return n.value}toConfig(){const t=Zh(this.getValues(),r=>r.name,r=>({description:r.description,value:r.value,deprecationReason:r.deprecationReason,extensions:r.extensions,astNode:r.astNode}));return{name:this.name,description:this.description,values:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}function Mc(e,t){const r=e.getValues().map(u=>u.name),n=ls(t,r);return wu("the enum value",n)}function E$(e,t){return ra(t)||it(!1,`${e} values must be an object with value names as keys.`),Object.entries(t).map(([r,n])=>(ra(n)||it(!1,`${e}.${r} must refer to an object with a "value" key representing an internal value but got: ${Ae(n)}.`),{name:D$(r),description:n.description,value:n.value!==void 0?n.value:r,deprecationReason:n.deprecationReason,extensions:an(n.extensions),astNode:n.astNode}))}class Ks{constructor(t){var r;this.name=On(t.name),this.description=t.description,this.extensions=an(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=y$.bind(void 0,t)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){const t=yu(this.getFields(),r=>({description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:r.extensions,astNode:r.astNode}));return{name:this.name,description:this.description,fields:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}function y$(e){const t=l5(e.fields);return ra(t)||it(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),yu(t,(r,n)=>(!("resolve"in r)||it(!1,`${e.name}.${n} field has a resolve property, but Input Types cannot define resolvers.`),{name:On(n),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:an(r.extensions),astNode:r.astNode}))}function m5(e){return nt(e.type)&&e.defaultValue===void 0}function P2(e,t){return e===t?!0:nt(e)&&nt(t)||qt(e)&&qt(t)?P2(e.ofType,t.ofType):!1}function na(e,t,r){return t===r?!0:nt(r)?nt(t)?na(e,t.ofType,r.ofType):!1:nt(t)?na(e,t.ofType,r):qt(r)?qt(t)?na(e,t.ofType,r.ofType):!1:qt(t)?!1:ts(r)&&(dt(t)||Xe(t))&&e.isSubType(r,t)}function _y(e,t,r){return t===r?!0:ts(t)?ts(r)?e.getPossibleTypes(t).some(n=>e.isSubType(r,n)):e.isSubType(t,r):ts(r)?e.isSubType(r,t):!1}const Qd=2147483647,ef=-2147483648,k2=new eu({name:"Int",description:"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.",serialize(e){const t=Ki(e);if(typeof t=="boolean")return t?1:0;let r=t;if(typeof t=="string"&&t!==""&&(r=Number(t)),typeof r!="number"||!Number.isInteger(r))throw new De(`Int cannot represent non-integer value: ${Ae(t)}`);if(r>Qd||rQd||eQd||te.name===t)}function Ki(e){if(Pn(e)){if(typeof e.valueOf=="function"){const t=e.valueOf();if(!Pn(t))return t}if(typeof e.toJSON=="function")return e.toJSON()}return e}function E5(e){return kn(e,cs)}class cs{constructor(t){var r,n;this.name=On(t.name),this.description=t.description,this.locations=t.locations,this.isRepeatable=(r=t.isRepeatable)!==null&&r!==void 0?r:!1,this.extensions=an(t.extensions),this.astNode=t.astNode,Array.isArray(t.locations)||it(!1,`@${t.name} locations must be an Array.`);const u=(n=t.args)!==null&&n!==void 0?n:{};Pn(u)&&!Array.isArray(u)||it(!1,`@${t.name} args must be an object with argument names as keys.`),this.args=f5(u)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:h5(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}}const y5=new cs({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[Ue.FIELD,Ue.FRAGMENT_SPREAD,Ue.INLINE_FRAGMENT],args:{if:{type:new Qe(Rr),description:"Included when true."}}}),v5=new cs({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[Ue.FIELD,Ue.FRAGMENT_SPREAD,Ue.INLINE_FRAGMENT],args:{if:{type:new Qe(Rr),description:"Skipped when true."}}}),v$="No longer supported",xp=new cs({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[Ue.FIELD_DEFINITION,Ue.ARGUMENT_DEFINITION,Ue.INPUT_FIELD_DEFINITION,Ue.ENUM_VALUE],args:{reason:{type:Nt,description:"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).",defaultValue:v$}}}),g5=new cs({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[Ue.SCALAR],args:{url:{type:new Qe(Nt),description:"The URL that specifies the behavior of this scalar."}}}),no=Object.freeze([y5,v5,xp,g5]);function A5(e){return no.some(({name:t})=>t===e.name)}function um(e){return typeof e=="object"&&typeof(e==null?void 0:e[Symbol.iterator])=="function"}function Xu(e,t){if(nt(t)){const r=Xu(e,t.ofType);return(r==null?void 0:r.kind)===j.NULL?null:r}if(e===null)return{kind:j.NULL};if(e===void 0)return null;if(qt(t)){const r=t.ofType;if(um(e)){const n=[];for(const u of e){const s=Xu(u,r);s!=null&&n.push(s)}return{kind:j.LIST,values:n}}return Xu(e,r)}if(At(t)){if(!Pn(e))return null;const r=[];for(const n of Object.values(t.getFields())){const u=Xu(e[n.name],n.type);u&&r.push({kind:j.OBJECT_FIELD,name:{kind:j.NAME,value:n.name},value:u})}return{kind:j.OBJECT,fields:r}}if(on(t)){const r=t.serialize(e);if(r==null)return null;if(typeof r=="boolean")return{kind:j.BOOLEAN,value:r};if(typeof r=="number"&&Number.isFinite(r)){const n=String(r);return By.test(n)?{kind:j.INT,value:n}:{kind:j.FLOAT,value:n}}if(typeof r=="string")return Kt(t)?{kind:j.ENUM,value:r}:t===Vl&&By.test(r)?{kind:j.INT,value:r}:{kind:j.STRING,value:r};throw new TypeError(`Cannot convert value to AST: ${Ae(r)}.`)}Wr(!1,"Unexpected input type: "+Ae(t))}const By=/^-?(?:0|[1-9][0-9]*)$/,sm=new jr({name:"__Schema",description:"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.",fields:()=>({description:{type:Nt,resolve:e=>e.description},types:{description:"A list of all types supported by this server.",type:new Qe(new Dr(new Qe(Bn))),resolve(e){return Object.values(e.getTypeMap())}},queryType:{description:"The type that query operations will be rooted at.",type:new Qe(Bn),resolve:e=>e.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:Bn,resolve:e=>e.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:Bn,resolve:e=>e.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new Qe(new Dr(new Qe(F5))),resolve:e=>e.getDirectives()}})}),F5=new jr({name:"__Directive",description:`A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document. + `))}function _y(e){var t;return(t=e==null?void 0:e.some(r=>r.includes(` +`)))!==null&&t!==void 0?t:!1}function P2(e,t){switch(e.kind){case j.NULL:return null;case j.INT:return parseInt(e.value,10);case j.FLOAT:return parseFloat(e.value);case j.STRING:case j.ENUM:case j.BOOLEAN:return e.value;case j.LIST:return e.values.map(r=>P2(r,t));case j.OBJECT:return Qh(e.fields,r=>r.name.value,r=>P2(r.value,t));case j.VARIABLE:return t==null?void 0:t[e.name.value]}}function On(e){if(e!=null||it(!1,"Must provide name."),typeof e=="string"||it(!1,"Expected name to be a string."),e.length===0)throw new De("Expected name to be a non-empty string.");for(let t=1;to(P2(a,i)),this.extensions=an(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(s=t.extensionASTNodes)!==null&&s!==void 0?s:[],t.specifiedByURL==null||typeof t.specifiedByURL=="string"||it(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${Ae(t.specifiedByURL)}.`),t.serialize==null||typeof t.serialize=="function"||it(!1,`${this.name} must provide "serialize" function. If this custom Scalar is also used as an input type, ensure "parseValue" and "parseLiteral" functions are also provided.`),t.parseLiteral&&(typeof t.parseValue=="function"&&typeof t.parseLiteral=="function"||it(!1,`${this.name} must provide both "parseValue" and "parseLiteral" functions.`))}get[Symbol.toStringTag](){return"GraphQLScalarType"}toConfig(){return{name:this.name,description:this.description,specifiedByURL:this.specifiedByURL,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}class jr{constructor(t){var r;this.name=On(t.name),this.description=t.description,this.isTypeOf=t.isTypeOf,this.extensions=an(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=()=>D5(t),this._interfaces=()=>f5(t),t.isTypeOf==null||typeof t.isTypeOf=="function"||it(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${Ae(t.isTypeOf)}.`)}get[Symbol.toStringTag](){return"GraphQLObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:m5(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}function f5(e){var t;const r=p5((t=e.interfaces)!==null&&t!==void 0?t:[]);return Array.isArray(r)||it(!1,`${e.name} interfaces must be an Array or a function which returns an Array.`),r}function D5(e){const t=d5(e.fields);return ra(t)||it(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),yu(t,(r,n)=>{var u;ra(r)||it(!1,`${e.name}.${n} field config must be an object.`),r.resolve==null||typeof r.resolve=="function"||it(!1,`${e.name}.${n} field resolver must be a function if provided, but got: ${Ae(r.resolve)}.`);const s=(u=r.args)!==null&&u!==void 0?u:{};return ra(s)||it(!1,`${e.name}.${n} args must be an object with argument names as keys.`),{name:On(n),description:r.description,type:r.type,args:h5(s),resolve:r.resolve,subscribe:r.subscribe,deprecationReason:r.deprecationReason,extensions:an(r.extensions),astNode:r.astNode}})}function h5(e){return Object.entries(e).map(([t,r])=>({name:On(t),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:an(r.extensions),astNode:r.astNode}))}function ra(e){return Pn(e)&&!Array.isArray(e)}function m5(e){return yu(e,t=>({description:t.description,type:t.type,args:E5(t.args),resolve:t.resolve,subscribe:t.subscribe,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}function E5(e){return Qh(e,t=>t.name,t=>({description:t.description,type:t.type,defaultValue:t.defaultValue,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}function Ji(e){return nt(e.type)&&e.defaultValue===void 0}class is{constructor(t){var r;this.name=On(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=an(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=D5.bind(void 0,t),this._interfaces=f5.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||it(!1,`${this.name} must provide "resolveType" as a function, but got: ${Ae(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLInterfaceType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:m5(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}class $i{constructor(t){var r;this.name=On(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=an(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._types=y$.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||it(!1,`${this.name} must provide "resolveType" as a function, but got: ${Ae(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLUnionType"}getTypes(){return typeof this._types=="function"&&(this._types=this._types()),this._types}toConfig(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}function y$(e){const t=p5(e.types);return Array.isArray(t)||it(!1,`Must provide Array of types or a function which returns such an array for Union ${e.name}.`),t}class tu{constructor(t){var r;this.name=On(t.name),this.description=t.description,this.extensions=an(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._values=v$(this.name,t.values),this._valueLookup=new Map(this._values.map(n=>[n.value,n])),this._nameLookup=zs(this._values,n=>n.name)}get[Symbol.toStringTag](){return"GraphQLEnumType"}getValues(){return this._values}getValue(t){return this._nameLookup[t]}serialize(t){const r=this._valueLookup.get(t);if(r===void 0)throw new De(`Enum "${this.name}" cannot represent value: ${Ae(t)}`);return r.name}parseValue(t){if(typeof t!="string"){const n=Ae(t);throw new De(`Enum "${this.name}" cannot represent non-string value: ${n}.`+Mc(this,n))}const r=this.getValue(t);if(r==null)throw new De(`Value "${t}" does not exist in "${this.name}" enum.`+Mc(this,t));return r.value}parseLiteral(t,r){if(t.kind!==j.ENUM){const u=Wt(t);throw new De(`Enum "${this.name}" cannot represent non-enum value: ${u}.`+Mc(this,u),{nodes:t})}const n=this.getValue(t.value);if(n==null){const u=Wt(t);throw new De(`Value "${u}" does not exist in "${this.name}" enum.`+Mc(this,u),{nodes:t})}return n.value}toConfig(){const t=Qh(this.getValues(),r=>r.name,r=>({description:r.description,value:r.value,deprecationReason:r.deprecationReason,extensions:r.extensions,astNode:r.astNode}));return{name:this.name,description:this.description,values:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}function Mc(e,t){const r=e.getValues().map(u=>u.name),n=ls(t,r);return wu("the enum value",n)}function v$(e,t){return ra(t)||it(!1,`${e} values must be an object with value names as keys.`),Object.entries(t).map(([r,n])=>(ra(n)||it(!1,`${e}.${r} must refer to an object with a "value" key representing an internal value but got: ${Ae(n)}.`),{name:m$(r),description:n.description,value:n.value!==void 0?n.value:r,deprecationReason:n.deprecationReason,extensions:an(n.extensions),astNode:n.astNode}))}class Ks{constructor(t){var r;this.name=On(t.name),this.description=t.description,this.extensions=an(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=g$.bind(void 0,t)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){const t=yu(this.getFields(),r=>({description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:r.extensions,astNode:r.astNode}));return{name:this.name,description:this.description,fields:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}function g$(e){const t=d5(e.fields);return ra(t)||it(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),yu(t,(r,n)=>(!("resolve"in r)||it(!1,`${e.name}.${n} field has a resolve property, but Input Types cannot define resolvers.`),{name:On(n),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:an(r.extensions),astNode:r.astNode}))}function y5(e){return nt(e.type)&&e.defaultValue===void 0}function k2(e,t){return e===t?!0:nt(e)&&nt(t)||qt(e)&&qt(t)?k2(e.ofType,t.ofType):!1}function na(e,t,r){return t===r?!0:nt(r)?nt(t)?na(e,t.ofType,r.ofType):!1:nt(t)?na(e,t.ofType,r):qt(r)?qt(t)?na(e,t.ofType,r.ofType):!1:qt(t)?!1:ts(r)&&(dt(t)||Xe(t))&&e.isSubType(r,t)}function By(e,t,r){return t===r?!0:ts(t)?ts(r)?e.getPossibleTypes(t).some(n=>e.isSubType(r,n)):e.isSubType(t,r):ts(r)?e.isSubType(r,t):!1}const Qd=2147483647,ef=-2147483648,O2=new eu({name:"Int",description:"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.",serialize(e){const t=Ki(e);if(typeof t=="boolean")return t?1:0;let r=t;if(typeof t=="string"&&t!==""&&(r=Number(t)),typeof r!="number"||!Number.isInteger(r))throw new De(`Int cannot represent non-integer value: ${Ae(t)}`);if(r>Qd||rQd||eQd||te.name===t)}function Ki(e){if(Pn(e)){if(typeof e.valueOf=="function"){const t=e.valueOf();if(!Pn(t))return t}if(typeof e.toJSON=="function")return e.toJSON()}return e}function v5(e){return kn(e,cs)}class cs{constructor(t){var r,n;this.name=On(t.name),this.description=t.description,this.locations=t.locations,this.isRepeatable=(r=t.isRepeatable)!==null&&r!==void 0?r:!1,this.extensions=an(t.extensions),this.astNode=t.astNode,Array.isArray(t.locations)||it(!1,`@${t.name} locations must be an Array.`);const u=(n=t.args)!==null&&n!==void 0?n:{};Pn(u)&&!Array.isArray(u)||it(!1,`@${t.name} args must be an object with argument names as keys.`),this.args=h5(u)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:E5(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}}const g5=new cs({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[Ue.FIELD,Ue.FRAGMENT_SPREAD,Ue.INLINE_FRAGMENT],args:{if:{type:new Qe(Rr),description:"Included when true."}}}),A5=new cs({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[Ue.FIELD,Ue.FRAGMENT_SPREAD,Ue.INLINE_FRAGMENT],args:{if:{type:new Qe(Rr),description:"Skipped when true."}}}),A$="No longer supported",xp=new cs({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[Ue.FIELD_DEFINITION,Ue.ARGUMENT_DEFINITION,Ue.INPUT_FIELD_DEFINITION,Ue.ENUM_VALUE],args:{reason:{type:Nt,description:"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).",defaultValue:A$}}}),F5=new cs({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[Ue.SCALAR],args:{url:{type:new Qe(Nt),description:"The URL that specifies the behavior of this scalar."}}}),no=Object.freeze([g5,A5,xp,F5]);function C5(e){return no.some(({name:t})=>t===e.name)}function sm(e){return typeof e=="object"&&typeof(e==null?void 0:e[Symbol.iterator])=="function"}function Xu(e,t){if(nt(t)){const r=Xu(e,t.ofType);return(r==null?void 0:r.kind)===j.NULL?null:r}if(e===null)return{kind:j.NULL};if(e===void 0)return null;if(qt(t)){const r=t.ofType;if(sm(e)){const n=[];for(const u of e){const s=Xu(u,r);s!=null&&n.push(s)}return{kind:j.LIST,values:n}}return Xu(e,r)}if(At(t)){if(!Pn(e))return null;const r=[];for(const n of Object.values(t.getFields())){const u=Xu(e[n.name],n.type);u&&r.push({kind:j.OBJECT_FIELD,name:{kind:j.NAME,value:n.name},value:u})}return{kind:j.OBJECT,fields:r}}if(on(t)){const r=t.serialize(e);if(r==null)return null;if(typeof r=="boolean")return{kind:j.BOOLEAN,value:r};if(typeof r=="number"&&Number.isFinite(r)){const n=String(r);return Ty.test(n)?{kind:j.INT,value:n}:{kind:j.FLOAT,value:n}}if(typeof r=="string")return Kt(t)?{kind:j.ENUM,value:r}:t===Vl&&Ty.test(r)?{kind:j.INT,value:r}:{kind:j.STRING,value:r};throw new TypeError(`Cannot convert value to AST: ${Ae(r)}.`)}Wr(!1,"Unexpected input type: "+Ae(t))}const Ty=/^-?(?:0|[1-9][0-9]*)$/,om=new jr({name:"__Schema",description:"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.",fields:()=>({description:{type:Nt,resolve:e=>e.description},types:{description:"A list of all types supported by this server.",type:new Qe(new Dr(new Qe(Bn))),resolve(e){return Object.values(e.getTypeMap())}},queryType:{description:"The type that query operations will be rooted at.",type:new Qe(Bn),resolve:e=>e.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:Bn,resolve:e=>e.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:Bn,resolve:e=>e.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new Qe(new Dr(new Qe(b5))),resolve:e=>e.getDirectives()}})}),b5=new jr({name:"__Directive",description:`A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document. -In some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.`,fields:()=>({name:{type:new Qe(Nt),resolve:e=>e.name},description:{type:Nt,resolve:e=>e.description},isRepeatable:{type:new Qe(Rr),resolve:e=>e.isRepeatable},locations:{type:new Qe(new Dr(new Qe(C5))),resolve:e=>e.locations},args:{type:new Qe(new Dr(new Qe(Rp))),args:{includeDeprecated:{type:Rr,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}}})}),C5=new tu({name:"__DirectiveLocation",description:"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",values:{QUERY:{value:Ue.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:Ue.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:Ue.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:Ue.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:Ue.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:Ue.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:Ue.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:Ue.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:Ue.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:Ue.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:Ue.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:Ue.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:Ue.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:Ue.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:Ue.UNION,description:"Location adjacent to a union definition."},ENUM:{value:Ue.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:Ue.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:Ue.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:Ue.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}}),Bn=new jr({name:"__Type",description:"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",fields:()=>({kind:{type:new Qe(w5),resolve(e){if(zr(e))return er.SCALAR;if(Xe(e))return er.OBJECT;if(dt(e))return er.INTERFACE;if(or(e))return er.UNION;if(Kt(e))return er.ENUM;if(At(e))return er.INPUT_OBJECT;if(qt(e))return er.LIST;if(nt(e))return er.NON_NULL;Wr(!1,`Unexpected type: "${Ae(e)}".`)}},name:{type:Nt,resolve:e=>"name"in e?e.name:void 0},description:{type:Nt,resolve:e=>"description"in e?e.description:void 0},specifiedByURL:{type:Nt,resolve:e=>"specifiedByURL"in e?e.specifiedByURL:void 0},fields:{type:new Dr(new Qe(b5)),args:{includeDeprecated:{type:Rr,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Xe(e)||dt(e)){const r=Object.values(e.getFields());return t?r:r.filter(n=>n.deprecationReason==null)}}},interfaces:{type:new Dr(new Qe(Bn)),resolve(e){if(Xe(e)||dt(e))return e.getInterfaces()}},possibleTypes:{type:new Dr(new Qe(Bn)),resolve(e,t,r,{schema:n}){if(ts(e))return n.getPossibleTypes(e)}},enumValues:{type:new Dr(new Qe(S5)),args:{includeDeprecated:{type:Rr,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Kt(e)){const r=e.getValues();return t?r:r.filter(n=>n.deprecationReason==null)}}},inputFields:{type:new Dr(new Qe(Rp)),args:{includeDeprecated:{type:Rr,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(At(e)){const r=Object.values(e.getFields());return t?r:r.filter(n=>n.deprecationReason==null)}}},ofType:{type:Bn,resolve:e=>"ofType"in e?e.ofType:void 0}})}),b5=new jr({name:"__Field",description:"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",fields:()=>({name:{type:new Qe(Nt),resolve:e=>e.name},description:{type:Nt,resolve:e=>e.description},args:{type:new Qe(new Dr(new Qe(Rp))),args:{includeDeprecated:{type:Rr,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}},type:{type:new Qe(Bn),resolve:e=>e.type},isDeprecated:{type:new Qe(Rr),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:Nt,resolve:e=>e.deprecationReason}})}),Rp=new jr({name:"__InputValue",description:"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",fields:()=>({name:{type:new Qe(Nt),resolve:e=>e.name},description:{type:Nt,resolve:e=>e.description},type:{type:new Qe(Bn),resolve:e=>e.type},defaultValue:{type:Nt,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(e){const{type:t,defaultValue:r}=e,n=Xu(r,t);return n?Wt(n):null}},isDeprecated:{type:new Qe(Rr),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:Nt,resolve:e=>e.deprecationReason}})}),S5=new jr({name:"__EnumValue",description:"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.",fields:()=>({name:{type:new Qe(Nt),resolve:e=>e.name},description:{type:Nt,resolve:e=>e.description},isDeprecated:{type:new Qe(Rr),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:Nt,resolve:e=>e.deprecationReason}})});var er;(function(e){e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.INPUT_OBJECT="INPUT_OBJECT",e.LIST="LIST",e.NON_NULL="NON_NULL"})(er||(er={}));const w5=new tu({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:er.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:er.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:er.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:er.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:er.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:er.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:er.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:er.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),Hl={name:"__schema",type:new Qe(sm),description:"Access the current type schema of this server.",args:[],resolve:(e,t,r,{schema:n})=>n,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Wl={name:"__type",type:Bn,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new Qe(Nt),defaultValue:void 0,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0}],resolve:(e,{name:t},r,{schema:n})=>n.getType(t),deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Jl={name:"__typename",type:new Qe(Nt),description:"The name of the current Object type at runtime.",args:[],resolve:(e,t,r,{parentType:n})=>n.name,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},om=Object.freeze([sm,F5,C5,Bn,b5,Rp,S5,w5]);function am(e){return om.some(({name:t})=>e.name===t)}function im(e){return kn(e,cm)}function g$(e){if(!im(e))throw new Error(`Expected ${Ae(e)} to be a GraphQL schema.`);return e}class cm{constructor(t){var r,n;this.__validationErrors=t.assumeValid===!0?[]:void 0,Pn(t)||it(!1,"Must provide configuration object."),!t.types||Array.isArray(t.types)||it(!1,`"types" must be Array if provided but got: ${Ae(t.types)}.`),!t.directives||Array.isArray(t.directives)||it(!1,`"directives" must be Array if provided but got: ${Ae(t.directives)}.`),this.description=t.description,this.extensions=an(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._queryType=t.query,this._mutationType=t.mutation,this._subscriptionType=t.subscription,this._directives=(n=t.directives)!==null&&n!==void 0?n:no;const u=new Set(t.types);if(t.types!=null)for(const s of t.types)u.delete(s),bn(s,u);this._queryType!=null&&bn(this._queryType,u),this._mutationType!=null&&bn(this._mutationType,u),this._subscriptionType!=null&&bn(this._subscriptionType,u);for(const s of this._directives)if(E5(s))for(const o of s.args)bn(o.type,u);bn(sm,u),this._typeMap=Object.create(null),this._subTypeMap=Object.create(null),this._implementationsMap=Object.create(null);for(const s of u){if(s==null)continue;const o=s.name;if(o||it(!1,"One of the provided types for building the Schema is missing a name."),this._typeMap[o]!==void 0)throw new Error(`Schema must contain uniquely named types but contains multiple types named "${o}".`);if(this._typeMap[o]=s,dt(s)){for(const a of s.getInterfaces())if(dt(a)){let i=this._implementationsMap[a.name];i===void 0&&(i=this._implementationsMap[a.name]={objects:[],interfaces:[]}),i.interfaces.push(s)}}else if(Xe(s)){for(const a of s.getInterfaces())if(dt(a)){let i=this._implementationsMap[a.name];i===void 0&&(i=this._implementationsMap[a.name]={objects:[],interfaces:[]}),i.objects.push(s)}}}}get[Symbol.toStringTag](){return"GraphQLSchema"}getQueryType(){return this._queryType}getMutationType(){return this._mutationType}getSubscriptionType(){return this._subscriptionType}getRootType(t){switch(t){case nr.QUERY:return this.getQueryType();case nr.MUTATION:return this.getMutationType();case nr.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(t){return this.getTypeMap()[t]}getPossibleTypes(t){return or(t)?t.getTypes():this.getImplementations(t).objects}getImplementations(t){const r=this._implementationsMap[t.name];return r??{objects:[],interfaces:[]}}isSubType(t,r){let n=this._subTypeMap[t.name];if(n===void 0){if(n=Object.create(null),or(t))for(const u of t.getTypes())n[u.name]=!0;else{const u=this.getImplementations(t);for(const s of u.objects)n[s.name]=!0;for(const s of u.interfaces)n[s.name]=!0}this._subTypeMap[t.name]=n}return n[r.name]!==void 0}getDirectives(){return this._directives}getDirective(t){return this.getDirectives().find(r=>r.name===t)}toConfig(){return{description:this.description,query:this.getQueryType(),mutation:this.getMutationType(),subscription:this.getSubscriptionType(),types:Object.values(this.getTypeMap()),directives:this.getDirectives(),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,assumeValid:this.__validationErrors!==void 0}}}function bn(e,t){const r=xr(e);if(!t.has(r)){if(t.add(r),or(r))for(const n of r.getTypes())bn(n,t);else if(Xe(r)||dt(r)){for(const n of r.getInterfaces())bn(n,t);for(const n of Object.values(r.getFields())){bn(n.type,t);for(const u of n.args)bn(u.type,t)}}else if(At(r))for(const n of Object.values(r.getFields()))bn(n.type,t)}return t}function _5(e){if(g$(e),e.__validationErrors)return e.__validationErrors;const t=new A$(e);F$(t),C$(t),b$(t);const r=t.getErrors();return e.__validationErrors=r,r}function B5(e){const t=_5(e);if(t.length!==0)throw new Error(t.map(r=>r.message).join(` +In some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.`,fields:()=>({name:{type:new Qe(Nt),resolve:e=>e.name},description:{type:Nt,resolve:e=>e.description},isRepeatable:{type:new Qe(Rr),resolve:e=>e.isRepeatable},locations:{type:new Qe(new Dr(new Qe(S5))),resolve:e=>e.locations},args:{type:new Qe(new Dr(new Qe(Rp))),args:{includeDeprecated:{type:Rr,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}}})}),S5=new tu({name:"__DirectiveLocation",description:"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",values:{QUERY:{value:Ue.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:Ue.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:Ue.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:Ue.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:Ue.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:Ue.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:Ue.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:Ue.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:Ue.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:Ue.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:Ue.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:Ue.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:Ue.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:Ue.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:Ue.UNION,description:"Location adjacent to a union definition."},ENUM:{value:Ue.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:Ue.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:Ue.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:Ue.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}}),Bn=new jr({name:"__Type",description:"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",fields:()=>({kind:{type:new Qe(B5),resolve(e){if(zr(e))return er.SCALAR;if(Xe(e))return er.OBJECT;if(dt(e))return er.INTERFACE;if(or(e))return er.UNION;if(Kt(e))return er.ENUM;if(At(e))return er.INPUT_OBJECT;if(qt(e))return er.LIST;if(nt(e))return er.NON_NULL;Wr(!1,`Unexpected type: "${Ae(e)}".`)}},name:{type:Nt,resolve:e=>"name"in e?e.name:void 0},description:{type:Nt,resolve:e=>"description"in e?e.description:void 0},specifiedByURL:{type:Nt,resolve:e=>"specifiedByURL"in e?e.specifiedByURL:void 0},fields:{type:new Dr(new Qe(w5)),args:{includeDeprecated:{type:Rr,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Xe(e)||dt(e)){const r=Object.values(e.getFields());return t?r:r.filter(n=>n.deprecationReason==null)}}},interfaces:{type:new Dr(new Qe(Bn)),resolve(e){if(Xe(e)||dt(e))return e.getInterfaces()}},possibleTypes:{type:new Dr(new Qe(Bn)),resolve(e,t,r,{schema:n}){if(ts(e))return n.getPossibleTypes(e)}},enumValues:{type:new Dr(new Qe(_5)),args:{includeDeprecated:{type:Rr,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Kt(e)){const r=e.getValues();return t?r:r.filter(n=>n.deprecationReason==null)}}},inputFields:{type:new Dr(new Qe(Rp)),args:{includeDeprecated:{type:Rr,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(At(e)){const r=Object.values(e.getFields());return t?r:r.filter(n=>n.deprecationReason==null)}}},ofType:{type:Bn,resolve:e=>"ofType"in e?e.ofType:void 0}})}),w5=new jr({name:"__Field",description:"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",fields:()=>({name:{type:new Qe(Nt),resolve:e=>e.name},description:{type:Nt,resolve:e=>e.description},args:{type:new Qe(new Dr(new Qe(Rp))),args:{includeDeprecated:{type:Rr,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}},type:{type:new Qe(Bn),resolve:e=>e.type},isDeprecated:{type:new Qe(Rr),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:Nt,resolve:e=>e.deprecationReason}})}),Rp=new jr({name:"__InputValue",description:"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",fields:()=>({name:{type:new Qe(Nt),resolve:e=>e.name},description:{type:Nt,resolve:e=>e.description},type:{type:new Qe(Bn),resolve:e=>e.type},defaultValue:{type:Nt,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(e){const{type:t,defaultValue:r}=e,n=Xu(r,t);return n?Wt(n):null}},isDeprecated:{type:new Qe(Rr),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:Nt,resolve:e=>e.deprecationReason}})}),_5=new jr({name:"__EnumValue",description:"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.",fields:()=>({name:{type:new Qe(Nt),resolve:e=>e.name},description:{type:Nt,resolve:e=>e.description},isDeprecated:{type:new Qe(Rr),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:Nt,resolve:e=>e.deprecationReason}})});var er;(function(e){e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.INPUT_OBJECT="INPUT_OBJECT",e.LIST="LIST",e.NON_NULL="NON_NULL"})(er||(er={}));const B5=new tu({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:er.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:er.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:er.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:er.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:er.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:er.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:er.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:er.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),Hl={name:"__schema",type:new Qe(om),description:"Access the current type schema of this server.",args:[],resolve:(e,t,r,{schema:n})=>n,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Wl={name:"__type",type:Bn,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new Qe(Nt),defaultValue:void 0,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0}],resolve:(e,{name:t},r,{schema:n})=>n.getType(t),deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Jl={name:"__typename",type:new Qe(Nt),description:"The name of the current Object type at runtime.",args:[],resolve:(e,t,r,{parentType:n})=>n.name,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},am=Object.freeze([om,b5,S5,Bn,w5,Rp,_5,B5]);function im(e){return am.some(({name:t})=>e.name===t)}function cm(e){return kn(e,lm)}function F$(e){if(!cm(e))throw new Error(`Expected ${Ae(e)} to be a GraphQL schema.`);return e}class lm{constructor(t){var r,n;this.__validationErrors=t.assumeValid===!0?[]:void 0,Pn(t)||it(!1,"Must provide configuration object."),!t.types||Array.isArray(t.types)||it(!1,`"types" must be Array if provided but got: ${Ae(t.types)}.`),!t.directives||Array.isArray(t.directives)||it(!1,`"directives" must be Array if provided but got: ${Ae(t.directives)}.`),this.description=t.description,this.extensions=an(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._queryType=t.query,this._mutationType=t.mutation,this._subscriptionType=t.subscription,this._directives=(n=t.directives)!==null&&n!==void 0?n:no;const u=new Set(t.types);if(t.types!=null)for(const s of t.types)u.delete(s),bn(s,u);this._queryType!=null&&bn(this._queryType,u),this._mutationType!=null&&bn(this._mutationType,u),this._subscriptionType!=null&&bn(this._subscriptionType,u);for(const s of this._directives)if(v5(s))for(const o of s.args)bn(o.type,u);bn(om,u),this._typeMap=Object.create(null),this._subTypeMap=Object.create(null),this._implementationsMap=Object.create(null);for(const s of u){if(s==null)continue;const o=s.name;if(o||it(!1,"One of the provided types for building the Schema is missing a name."),this._typeMap[o]!==void 0)throw new Error(`Schema must contain uniquely named types but contains multiple types named "${o}".`);if(this._typeMap[o]=s,dt(s)){for(const a of s.getInterfaces())if(dt(a)){let i=this._implementationsMap[a.name];i===void 0&&(i=this._implementationsMap[a.name]={objects:[],interfaces:[]}),i.interfaces.push(s)}}else if(Xe(s)){for(const a of s.getInterfaces())if(dt(a)){let i=this._implementationsMap[a.name];i===void 0&&(i=this._implementationsMap[a.name]={objects:[],interfaces:[]}),i.objects.push(s)}}}}get[Symbol.toStringTag](){return"GraphQLSchema"}getQueryType(){return this._queryType}getMutationType(){return this._mutationType}getSubscriptionType(){return this._subscriptionType}getRootType(t){switch(t){case nr.QUERY:return this.getQueryType();case nr.MUTATION:return this.getMutationType();case nr.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(t){return this.getTypeMap()[t]}getPossibleTypes(t){return or(t)?t.getTypes():this.getImplementations(t).objects}getImplementations(t){const r=this._implementationsMap[t.name];return r??{objects:[],interfaces:[]}}isSubType(t,r){let n=this._subTypeMap[t.name];if(n===void 0){if(n=Object.create(null),or(t))for(const u of t.getTypes())n[u.name]=!0;else{const u=this.getImplementations(t);for(const s of u.objects)n[s.name]=!0;for(const s of u.interfaces)n[s.name]=!0}this._subTypeMap[t.name]=n}return n[r.name]!==void 0}getDirectives(){return this._directives}getDirective(t){return this.getDirectives().find(r=>r.name===t)}toConfig(){return{description:this.description,query:this.getQueryType(),mutation:this.getMutationType(),subscription:this.getSubscriptionType(),types:Object.values(this.getTypeMap()),directives:this.getDirectives(),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,assumeValid:this.__validationErrors!==void 0}}}function bn(e,t){const r=xr(e);if(!t.has(r)){if(t.add(r),or(r))for(const n of r.getTypes())bn(n,t);else if(Xe(r)||dt(r)){for(const n of r.getInterfaces())bn(n,t);for(const n of Object.values(r.getFields())){bn(n.type,t);for(const u of n.args)bn(u.type,t)}}else if(At(r))for(const n of Object.values(r.getFields()))bn(n.type,t)}return t}function T5(e){if(F$(e),e.__validationErrors)return e.__validationErrors;const t=new C$(e);b$(t),S$(t),w$(t);const r=t.getErrors();return e.__validationErrors=r,r}function $5(e){const t=T5(e);if(t.length!==0)throw new Error(t.map(r=>r.message).join(` -`))}class A${constructor(t){this._errors=[],this.schema=t}reportError(t,r){const n=Array.isArray(r)?r.filter(Boolean):r;this._errors.push(new De(t,{nodes:n}))}getErrors(){return this._errors}}function F$(e){const t=e.schema,r=t.getQueryType();if(!r)e.reportError("Query root type must be provided.",t.astNode);else if(!Xe(r)){var n;e.reportError(`Query root type must be Object type, it cannot be ${Ae(r)}.`,(n=tf(t,nr.QUERY))!==null&&n!==void 0?n:r.astNode)}const u=t.getMutationType();if(u&&!Xe(u)){var s;e.reportError(`Mutation root type must be Object type if provided, it cannot be ${Ae(u)}.`,(s=tf(t,nr.MUTATION))!==null&&s!==void 0?s:u.astNode)}const o=t.getSubscriptionType();if(o&&!Xe(o)){var a;e.reportError(`Subscription root type must be Object type if provided, it cannot be ${Ae(o)}.`,(a=tf(t,nr.SUBSCRIPTION))!==null&&a!==void 0?a:o.astNode)}}function tf(e,t){var r;return(r=[e.astNode,...e.extensionASTNodes].flatMap(n=>{var u;return(u=n==null?void 0:n.operationTypes)!==null&&u!==void 0?u:[]}).find(n=>n.operation===t))===null||r===void 0?void 0:r.type}function C$(e){for(const r of e.schema.getDirectives()){if(!E5(r)){e.reportError(`Expected directive but got: ${Ae(r)}.`,r==null?void 0:r.astNode);continue}Xs(e,r);for(const n of r.args)if(Xs(e,n),Sn(n.type)||e.reportError(`The type of @${r.name}(${n.name}:) must be Input Type but got: ${Ae(n.type)}.`,n.astNode),Ji(n)&&n.deprecationReason!=null){var t;e.reportError(`Required argument @${r.name}(${n.name}:) cannot be deprecated.`,[lm(n.astNode),(t=n.astNode)===null||t===void 0?void 0:t.type])}}}function Xs(e,t){t.name.startsWith("__")&&e.reportError(`Name "${t.name}" must not begin with "__", which is reserved by GraphQL introspection.`,t.astNode)}function b$(e){const t=$$(e),r=e.schema.getTypeMap();for(const n of Object.values(r)){if(!qp(n)){e.reportError(`Expected GraphQL named type but got: ${Ae(n)}.`,n.astNode);continue}am(n)||Xs(e,n),Xe(n)||dt(n)?(Ty(e,n),$y(e,n)):or(n)?_$(e,n):Kt(n)?B$(e,n):At(n)&&(T$(e,n),t(n))}}function Ty(e,t){const r=Object.values(t.getFields());r.length===0&&e.reportError(`Type ${t.name} must define one or more fields.`,[t.astNode,...t.extensionASTNodes]);for(const o of r){if(Xs(e,o),!fi(o.type)){var n;e.reportError(`The type of ${t.name}.${o.name} must be Output Type but got: ${Ae(o.type)}.`,(n=o.astNode)===null||n===void 0?void 0:n.type)}for(const a of o.args){const i=a.name;if(Xs(e,a),!Sn(a.type)){var u;e.reportError(`The type of ${t.name}.${o.name}(${i}:) must be Input Type but got: ${Ae(a.type)}.`,(u=a.astNode)===null||u===void 0?void 0:u.type)}if(Ji(a)&&a.deprecationReason!=null){var s;e.reportError(`Required argument ${t.name}.${o.name}(${i}:) cannot be deprecated.`,[lm(a.astNode),(s=a.astNode)===null||s===void 0?void 0:s.type])}}}}function $y(e,t){const r=Object.create(null);for(const n of t.getInterfaces()){if(!dt(n)){e.reportError(`Type ${Ae(t)} must only implement Interface types, it cannot implement ${Ae(n)}.`,Di(t,n));continue}if(t===n){e.reportError(`Type ${t.name} cannot implement itself because it would create a circular reference.`,Di(t,n));continue}if(r[n.name]){e.reportError(`Type ${t.name} can only implement ${n.name} once.`,Di(t,n));continue}r[n.name]=!0,w$(e,t,n),S$(e,t,n)}}function S$(e,t,r){const n=t.getFields();for(const i of Object.values(r.getFields())){const c=i.name,l=n[c];if(!l){e.reportError(`Interface field ${r.name}.${c} expected but ${t.name} does not provide it.`,[i.astNode,t.astNode,...t.extensionASTNodes]);continue}if(!na(e.schema,l.type,i.type)){var u,s;e.reportError(`Interface field ${r.name}.${c} expects type ${Ae(i.type)} but ${t.name}.${c} is type ${Ae(l.type)}.`,[(u=i.astNode)===null||u===void 0?void 0:u.type,(s=l.astNode)===null||s===void 0?void 0:s.type])}for(const p of i.args){const d=p.name,f=l.args.find(h=>h.name===d);if(!f){e.reportError(`Interface field argument ${r.name}.${c}(${d}:) expected but ${t.name}.${c} does not provide it.`,[p.astNode,l.astNode]);continue}if(!P2(p.type,f.type)){var o,a;e.reportError(`Interface field argument ${r.name}.${c}(${d}:) expects type ${Ae(p.type)} but ${t.name}.${c}(${d}:) is type ${Ae(f.type)}.`,[(o=p.astNode)===null||o===void 0?void 0:o.type,(a=f.astNode)===null||a===void 0?void 0:a.type])}}for(const p of l.args){const d=p.name;!i.args.find(h=>h.name===d)&&Ji(p)&&e.reportError(`Object field ${t.name}.${c} includes required argument ${d} that is missing from the Interface field ${r.name}.${c}.`,[p.astNode,i.astNode])}}}function w$(e,t,r){const n=t.getInterfaces();for(const u of r.getInterfaces())n.includes(u)||e.reportError(u===t?`Type ${t.name} cannot implement ${r.name} because it would create a circular reference.`:`Type ${t.name} must implement ${u.name} because it is implemented by ${r.name}.`,[...Di(r,u),...Di(t,r)])}function _$(e,t){const r=t.getTypes();r.length===0&&e.reportError(`Union type ${t.name} must define one or more member types.`,[t.astNode,...t.extensionASTNodes]);const n=Object.create(null);for(const u of r){if(n[u.name]){e.reportError(`Union type ${t.name} can only include type ${u.name} once.`,Py(t,u.name));continue}n[u.name]=!0,Xe(u)||e.reportError(`Union type ${t.name} can only include Object types, it cannot include ${Ae(u)}.`,Py(t,String(u)))}}function B$(e,t){const r=t.getValues();r.length===0&&e.reportError(`Enum type ${t.name} must define one or more values.`,[t.astNode,...t.extensionASTNodes]);for(const n of r)Xs(e,n)}function T$(e,t){const r=Object.values(t.getFields());r.length===0&&e.reportError(`Input Object type ${t.name} must define one or more fields.`,[t.astNode,...t.extensionASTNodes]);for(const s of r){if(Xs(e,s),!Sn(s.type)){var n;e.reportError(`The type of ${t.name}.${s.name} must be Input Type but got: ${Ae(s.type)}.`,(n=s.astNode)===null||n===void 0?void 0:n.type)}if(m5(s)&&s.deprecationReason!=null){var u;e.reportError(`Required input field ${t.name}.${s.name} cannot be deprecated.`,[lm(s.astNode),(u=s.astNode)===null||u===void 0?void 0:u.type])}}}function $$(e){const t=Object.create(null),r=[],n=Object.create(null);return u;function u(s){if(t[s.name])return;t[s.name]=!0,n[s.name]=r.length;const o=Object.values(s.getFields());for(const a of o)if(nt(a.type)&&At(a.type.ofType)){const i=a.type.ofType,c=n[i.name];if(r.push(a),c===void 0)u(i);else{const l=r.slice(c),p=l.map(d=>d.name).join(".");e.reportError(`Cannot reference Input Object "${i.name}" within itself through a series of non-null fields: "${p}".`,l.map(d=>d.astNode))}r.pop()}n[s.name]=void 0}}function Di(e,t){const{astNode:r,extensionASTNodes:n}=e;return(r!=null?[r,...n]:n).flatMap(s=>{var o;return(o=s.interfaces)!==null&&o!==void 0?o:[]}).filter(s=>s.name.value===t.name)}function Py(e,t){const{astNode:r,extensionASTNodes:n}=e;return(r!=null?[r,...n]:n).flatMap(s=>{var o;return(o=s.types)!==null&&o!==void 0?o:[]}).filter(s=>s.name.value===t)}function lm(e){var t;return e==null||(t=e.directives)===null||t===void 0?void 0:t.find(r=>r.name.value===xp.name)}function Jr(e,t){switch(t.kind){case j.LIST_TYPE:{const r=Jr(e,t.type);return r&&new Dr(r)}case j.NON_NULL_TYPE:{const r=Jr(e,t.type);return r&&new Qe(r)}case j.NAMED_TYPE:return e.getType(t.name.value)}}class T5{constructor(t,r,n){this._schema=t,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._getFieldDef=n??P$,r&&(Sn(r)&&this._inputTypeStack.push(r),as(r)&&this._parentTypeStack.push(r),fi(r)&&this._typeStack.push(r))}get[Symbol.toStringTag](){return"TypeInfo"}getType(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]}getParentType(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]}getInputType(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]}getParentInputType(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]}getFieldDef(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]}getDefaultValue(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]}getDirective(){return this._directive}getArgument(){return this._argument}getEnumValue(){return this._enumValue}enter(t){const r=this._schema;switch(t.kind){case j.SELECTION_SET:{const u=xr(this.getType());this._parentTypeStack.push(as(u)?u:void 0);break}case j.FIELD:{const u=this.getParentType();let s,o;u&&(s=this._getFieldDef(r,u,t),s&&(o=s.type)),this._fieldDefStack.push(s),this._typeStack.push(fi(o)?o:void 0);break}case j.DIRECTIVE:this._directive=r.getDirective(t.name.value);break;case j.OPERATION_DEFINITION:{const u=r.getRootType(t.operation);this._typeStack.push(Xe(u)?u:void 0);break}case j.INLINE_FRAGMENT:case j.FRAGMENT_DEFINITION:{const u=t.typeCondition,s=u?Jr(r,u):xr(this.getType());this._typeStack.push(fi(s)?s:void 0);break}case j.VARIABLE_DEFINITION:{const u=Jr(r,t.type);this._inputTypeStack.push(Sn(u)?u:void 0);break}case j.ARGUMENT:{var n;let u,s;const o=(n=this.getDirective())!==null&&n!==void 0?n:this.getFieldDef();o&&(u=o.args.find(a=>a.name===t.name.value),u&&(s=u.type)),this._argument=u,this._defaultValueStack.push(u?u.defaultValue:void 0),this._inputTypeStack.push(Sn(s)?s:void 0);break}case j.LIST:{const u=rm(this.getInputType()),s=qt(u)?u.ofType:u;this._defaultValueStack.push(void 0),this._inputTypeStack.push(Sn(s)?s:void 0);break}case j.OBJECT_FIELD:{const u=xr(this.getInputType());let s,o;At(u)&&(o=u.getFields()[t.name.value],o&&(s=o.type)),this._defaultValueStack.push(o?o.defaultValue:void 0),this._inputTypeStack.push(Sn(s)?s:void 0);break}case j.ENUM:{const u=xr(this.getInputType());let s;Kt(u)&&(s=u.getValue(t.value)),this._enumValue=s;break}}}leave(t){switch(t.kind){case j.SELECTION_SET:this._parentTypeStack.pop();break;case j.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case j.DIRECTIVE:this._directive=null;break;case j.OPERATION_DEFINITION:case j.INLINE_FRAGMENT:case j.FRAGMENT_DEFINITION:this._typeStack.pop();break;case j.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case j.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case j.LIST:case j.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case j.ENUM:this._enumValue=null;break}}}function P$(e,t,r){const n=r.name.value;if(n===Hl.name&&e.getQueryType()===t)return Hl;if(n===Wl.name&&e.getQueryType()===t)return Wl;if(n===Jl.name&&as(t))return Jl;if(Xe(t)||dt(t))return t.getFields()[n]}function $5(e,t){return{enter(...r){const n=r[0];e.enter(n);const u=Gl(t,n.kind).enter;if(u){const s=u.apply(t,r);return s!==void 0&&(e.leave(n),_2(s)&&e.enter(s)),s}},leave(...r){const n=r[0],u=Gl(t,n.kind).leave;let s;return u&&(s=u.apply(t,r)),e.leave(n),s}}}function k$(e){return P5(e)||k5(e)||O5(e)}function P5(e){return e.kind===j.OPERATION_DEFINITION||e.kind===j.FRAGMENT_DEFINITION}function k5(e){return e.kind===j.SCHEMA_DEFINITION||Xi(e)||e.kind===j.DIRECTIVE_DEFINITION}function Xi(e){return e.kind===j.SCALAR_TYPE_DEFINITION||e.kind===j.OBJECT_TYPE_DEFINITION||e.kind===j.INTERFACE_TYPE_DEFINITION||e.kind===j.UNION_TYPE_DEFINITION||e.kind===j.ENUM_TYPE_DEFINITION||e.kind===j.INPUT_OBJECT_TYPE_DEFINITION}function O5(e){return e.kind===j.SCHEMA_EXTENSION||pm(e)}function pm(e){return e.kind===j.SCALAR_TYPE_EXTENSION||e.kind===j.OBJECT_TYPE_EXTENSION||e.kind===j.INTERFACE_TYPE_EXTENSION||e.kind===j.UNION_TYPE_EXTENSION||e.kind===j.ENUM_TYPE_EXTENSION||e.kind===j.INPUT_OBJECT_TYPE_EXTENSION}function O$(e){return{Document(t){for(const r of t.definitions)if(!P5(r)){const n=r.kind===j.SCHEMA_DEFINITION||r.kind===j.SCHEMA_EXTENSION?"schema":'"'+r.name.value+'"';e.reportError(new De(`The ${n} definition is not executable.`,{nodes:r}))}return!1}}}function I$(e){return{Field(t){const r=e.getParentType();if(r&&!e.getFieldDef()){const u=e.getSchema(),s=t.name.value;let o=wu("to use an inline fragment on",N$(u,r,s));o===""&&(o=wu(q$(r,s))),e.reportError(new De(`Cannot query field "${s}" on type "${r.name}".`+o,{nodes:t}))}}}}function N$(e,t,r){if(!ts(t))return[];const n=new Set,u=Object.create(null);for(const o of e.getPossibleTypes(t))if(o.getFields()[r]){n.add(o),u[o.name]=1;for(const a of o.getInterfaces()){var s;a.getFields()[r]&&(n.add(a),u[a.name]=((s=u[a.name])!==null&&s!==void 0?s:0)+1)}}return[...n].sort((o,a)=>{const i=u[a.name]-u[o.name];return i!==0?i:dt(o)&&e.isSubType(o,a)?-1:dt(a)&&e.isSubType(a,o)?1:Qh(o.name,a.name)}).map(o=>o.name)}function q$(e,t){if(Xe(e)||dt(e)){const r=Object.keys(e.getFields());return ls(t,r)}return[]}function x$(e){return{InlineFragment(t){const r=t.typeCondition;if(r){const n=Jr(e.getSchema(),r);if(n&&!as(n)){const u=Wt(r);e.reportError(new De(`Fragment cannot condition on non composite type "${u}".`,{nodes:r}))}}},FragmentDefinition(t){const r=Jr(e.getSchema(),t.typeCondition);if(r&&!as(r)){const n=Wt(t.typeCondition);e.reportError(new De(`Fragment "${t.name.value}" cannot condition on non composite type "${n}".`,{nodes:t.typeCondition}))}}}}function R$(e){return{...I5(e),Argument(t){const r=e.getArgument(),n=e.getFieldDef(),u=e.getParentType();if(!r&&n&&u){const s=t.name.value,o=n.args.map(i=>i.name),a=ls(s,o);e.reportError(new De(`Unknown argument "${s}" on field "${u.name}.${n.name}".`+wu(a),{nodes:t}))}}}}function I5(e){const t=Object.create(null),r=e.getSchema(),n=r?r.getDirectives():no;for(const o of n)t[o.name]=o.args.map(a=>a.name);const u=e.getDocument().definitions;for(const o of u)if(o.kind===j.DIRECTIVE_DEFINITION){var s;const a=(s=o.arguments)!==null&&s!==void 0?s:[];t[o.name.value]=a.map(i=>i.name.value)}return{Directive(o){const a=o.name.value,i=t[a];if(o.arguments&&i)for(const c of o.arguments){const l=c.name.value;if(!i.includes(l)){const p=ls(l,i);e.reportError(new De(`Unknown argument "${l}" on directive "@${a}".`+wu(p),{nodes:c}))}}return!1}}}function N5(e){const t=Object.create(null),r=e.getSchema(),n=r?r.getDirectives():no;for(const s of n)t[s.name]=s.locations;const u=e.getDocument().definitions;for(const s of u)s.kind===j.DIRECTIVE_DEFINITION&&(t[s.name.value]=s.locations.map(o=>o.value));return{Directive(s,o,a,i,c){const l=s.name.value,p=t[l];if(!p){e.reportError(new De(`Unknown directive "@${l}".`,{nodes:s}));return}const d=j$(c);d&&!p.includes(d)&&e.reportError(new De(`Directive "@${l}" may not be used on ${d}.`,{nodes:s}))}}}function j$(e){const t=e[e.length-1];switch("kind"in t||Wr(!1),t.kind){case j.OPERATION_DEFINITION:return M$(t.operation);case j.FIELD:return Ue.FIELD;case j.FRAGMENT_SPREAD:return Ue.FRAGMENT_SPREAD;case j.INLINE_FRAGMENT:return Ue.INLINE_FRAGMENT;case j.FRAGMENT_DEFINITION:return Ue.FRAGMENT_DEFINITION;case j.VARIABLE_DEFINITION:return Ue.VARIABLE_DEFINITION;case j.SCHEMA_DEFINITION:case j.SCHEMA_EXTENSION:return Ue.SCHEMA;case j.SCALAR_TYPE_DEFINITION:case j.SCALAR_TYPE_EXTENSION:return Ue.SCALAR;case j.OBJECT_TYPE_DEFINITION:case j.OBJECT_TYPE_EXTENSION:return Ue.OBJECT;case j.FIELD_DEFINITION:return Ue.FIELD_DEFINITION;case j.INTERFACE_TYPE_DEFINITION:case j.INTERFACE_TYPE_EXTENSION:return Ue.INTERFACE;case j.UNION_TYPE_DEFINITION:case j.UNION_TYPE_EXTENSION:return Ue.UNION;case j.ENUM_TYPE_DEFINITION:case j.ENUM_TYPE_EXTENSION:return Ue.ENUM;case j.ENUM_VALUE_DEFINITION:return Ue.ENUM_VALUE;case j.INPUT_OBJECT_TYPE_DEFINITION:case j.INPUT_OBJECT_TYPE_EXTENSION:return Ue.INPUT_OBJECT;case j.INPUT_VALUE_DEFINITION:{const r=e[e.length-3];return"kind"in r||Wr(!1),r.kind===j.INPUT_OBJECT_TYPE_DEFINITION?Ue.INPUT_FIELD_DEFINITION:Ue.ARGUMENT_DEFINITION}default:Wr(!1,"Unexpected kind: "+Ae(t.kind))}}function M$(e){switch(e){case nr.QUERY:return Ue.QUERY;case nr.MUTATION:return Ue.MUTATION;case nr.SUBSCRIPTION:return Ue.SUBSCRIPTION}}function L$(e){return{FragmentSpread(t){const r=t.name.value;e.getFragment(r)||e.reportError(new De(`Unknown fragment "${r}".`,{nodes:t.name}))}}}function q5(e){const t=e.getSchema(),r=t?t.getTypeMap():Object.create(null),n=Object.create(null);for(const s of e.getDocument().definitions)Xi(s)&&(n[s.name.value]=!0);const u=[...Object.keys(r),...Object.keys(n)];return{NamedType(s,o,a,i,c){const l=s.name.value;if(!r[l]&&!n[l]){var p;const d=(p=c[2])!==null&&p!==void 0?p:a,f=d!=null&&U$(d);if(f&&ky.includes(l))return;const h=ls(l,f?ky.concat(u):u);e.reportError(new De(`Unknown type "${l}".`+wu(h),{nodes:s}))}}}}const ky=[...nm,...om].map(e=>e.name);function U$(e){return"kind"in e&&(k5(e)||O5(e))}function G$(e){let t=0;return{Document(r){t=r.definitions.filter(n=>n.kind===j.OPERATION_DEFINITION).length},OperationDefinition(r){!r.name&&t>1&&e.reportError(new De("This anonymous operation must be the only defined operation.",{nodes:r}))}}}function V$(e){var t,r,n;const u=e.getSchema(),s=(t=(r=(n=u==null?void 0:u.astNode)!==null&&n!==void 0?n:u==null?void 0:u.getQueryType())!==null&&r!==void 0?r:u==null?void 0:u.getMutationType())!==null&&t!==void 0?t:u==null?void 0:u.getSubscriptionType();let o=0;return{SchemaDefinition(a){if(s){e.reportError(new De("Cannot define a new schema within a schema extension.",{nodes:a}));return}o>0&&e.reportError(new De("Must provide only one schema definition.",{nodes:a})),++o}}}function H$(e){const t=Object.create(null),r=[],n=Object.create(null);return{OperationDefinition:()=>!1,FragmentDefinition(s){return u(s),!1}};function u(s){if(t[s.name.value])return;const o=s.name.value;t[o]=!0;const a=e.getFragmentSpreads(s.selectionSet);if(a.length!==0){n[o]=r.length;for(const i of a){const c=i.name.value,l=n[c];if(r.push(i),l===void 0){const p=e.getFragment(c);p&&u(p)}else{const p=r.slice(l),d=p.slice(0,-1).map(f=>'"'+f.name.value+'"').join(", ");e.reportError(new De(`Cannot spread fragment "${c}" within itself`+(d!==""?` via ${d}.`:"."),{nodes:p}))}r.pop()}n[o]=void 0}}}function W$(e){let t=Object.create(null);return{OperationDefinition:{enter(){t=Object.create(null)},leave(r){const n=e.getRecursiveVariableUsages(r);for(const{node:u}of n){const s=u.name.value;t[s]!==!0&&e.reportError(new De(r.name?`Variable "$${s}" is not defined by operation "${r.name.value}".`:`Variable "$${s}" is not defined.`,{nodes:[u,r]}))}}},VariableDefinition(r){t[r.variable.name.value]=!0}}}function J$(e){const t=[],r=[];return{OperationDefinition(n){return t.push(n),!1},FragmentDefinition(n){return r.push(n),!1},Document:{leave(){const n=Object.create(null);for(const u of t)for(const s of e.getRecursivelyReferencedFragments(u))n[s.name.value]=!0;for(const u of r){const s=u.name.value;n[s]!==!0&&e.reportError(new De(`Fragment "${s}" is never used.`,{nodes:u}))}}}}}function z$(e){let t=[];return{OperationDefinition:{enter(){t=[]},leave(r){const n=Object.create(null),u=e.getRecursiveVariableUsages(r);for(const{node:s}of u)n[s.name.value]=!0;for(const s of t){const o=s.variable.name.value;n[o]!==!0&&e.reportError(new De(r.name?`Variable "$${o}" is never used in operation "${r.name.value}".`:`Variable "$${o}" is never used.`,{nodes:s}))}}},VariableDefinition(r){t.push(r)}}}function dm(e){switch(e.kind){case j.OBJECT:return{...e,fields:K$(e.fields)};case j.LIST:return{...e,values:e.values.map(dm)};case j.INT:case j.FLOAT:case j.STRING:case j.BOOLEAN:case j.NULL:case j.ENUM:case j.VARIABLE:return e}}function K$(e){return e.map(t=>({...t,value:dm(t.value)})).sort((t,r)=>Qh(t.name.value,r.name.value))}function x5(e){return Array.isArray(e)?e.map(([t,r])=>`subfields "${t}" conflict because `+x5(r)).join(" and "):e}function X$(e){const t=new tP,r=new Map;return{SelectionSet(n){const u=Y$(e,r,t,e.getParentType(),n);for(const[[s,o],a,i]of u){const c=x5(o);e.reportError(new De(`Fields "${s}" conflict because ${c}. Use different aliases on the fields to fetch both if this was intentional.`,{nodes:a.concat(i)}))}}}}function Y$(e,t,r,n,u){const s=[],[o,a]=Xl(e,t,n,u);if(Q$(e,s,t,r,o),a.length!==0)for(let i=0;i1)for(let a=0;a({kind:j.OBJECT_FIELD,name:u.name,value:u.value}))};return Wt(dm(n))}function I2(e,t){return qt(e)?qt(t)?I2(e.ofType,t.ofType):!0:qt(t)?!0:nt(e)?nt(t)?I2(e.ofType,t.ofType):!0:nt(t)?!0:on(e)||on(t)?e!==t:!1}function Xl(e,t,r,n){const u=t.get(n);if(u)return u;const s=Object.create(null),o=Object.create(null);j5(e,r,n,s,o);const a=[s,Object.keys(o)];return t.set(n,a),a}function N2(e,t,r){const n=t.get(r.selectionSet);if(n)return n;const u=Jr(e.getSchema(),r.typeCondition);return Xl(e,t,u,r.selectionSet)}function j5(e,t,r,n,u){for(const s of r.selections)switch(s.kind){case j.FIELD:{const o=s.name.value;let a;(Xe(t)||dt(t))&&(a=t.getFields()[o]);const i=s.alias?s.alias.value:o;n[i]||(n[i]=[]),n[i].push([t,s,a]);break}case j.FRAGMENT_SPREAD:u[s.name.value]=!0;break;case j.INLINE_FRAGMENT:{const o=s.typeCondition,a=o?Jr(e.getSchema(),o):t;j5(e,a,s.selectionSet,n,u);break}}}function eP(e,t,r,n){if(e.length>0)return[[t,e.map(([u])=>u)],[r,...e.map(([,u])=>u).flat()],[n,...e.map(([,,u])=>u).flat()]]}class tP{constructor(){this._data=new Map}has(t,r,n){var u;const[s,o]=ts.name.value));for(const s of n.args)if(!u.has(s.name)&&Ji(s)){const o=Ae(s.type);e.reportError(new De(`Field "${n.name}" argument "${s.name}" of type "${o}" is required, but it was not provided.`,{nodes:t}))}}}}}function M5(e){var t;const r=Object.create(null),n=e.getSchema(),u=(t=n==null?void 0:n.getDirectives())!==null&&t!==void 0?t:no;for(const a of u)r[a.name]=zs(a.args.filter(Ji),i=>i.name);const s=e.getDocument().definitions;for(const a of s)if(a.kind===j.DIRECTIVE_DEFINITION){var o;const i=(o=a.arguments)!==null&&o!==void 0?o:[];r[a.name.value]=zs(i.filter(cP),c=>c.name.value)}return{Directive:{leave(a){const i=a.name.value,c=r[i];if(c){var l;const p=(l=a.arguments)!==null&&l!==void 0?l:[],d=new Set(p.map(f=>f.name.value));for(const[f,h]of Object.entries(c))if(!d.has(f)){const y=em(h.type)?Ae(h.type):Wt(h.type);e.reportError(new De(`Directive "@${i}" argument "${f}" of type "${y}" is required, but it was not provided.`,{nodes:a}))}}}}}}function cP(e){return e.type.kind===j.NON_NULL_TYPE&&e.defaultValue==null}function lP(e){return{Field(t){const r=e.getType(),n=t.selectionSet;if(r){if(on(xr(r))){if(n){const u=t.name.value,s=Ae(r);e.reportError(new De(`Field "${u}" must not have a selection since type "${s}" has no subfields.`,{nodes:n}))}}else if(!n){const u=t.name.value,s=Ae(r);e.reportError(new De(`Field "${u}" of type "${s}" must have a selection of subfields. Did you mean "${u} { ... }"?`,{nodes:t}))}}}}}function L5(e){return e.map(t=>typeof t=="number"?"["+t.toString()+"]":"."+t).join("")}function Pi(e,t,r){return{prev:e,key:t,typename:r}}function Cn(e){const t=[];let r=e;for(;r;)t.push(r.key),r=r.prev;return t.reverse()}function pP(e,t,r=dP){return oi(e,t,r,void 0)}function dP(e,t,r){let n="Invalid value "+Ae(t);throw e.length>0&&(n+=` at "value${L5(e)}"`),r.message=n+": "+r.message,r}function oi(e,t,r,n){if(nt(t)){if(e!=null)return oi(e,t.ofType,r,n);r(Cn(n),e,new De(`Expected non-nullable type "${Ae(t)}" not to be null.`));return}if(e==null)return null;if(qt(t)){const u=t.ofType;return um(e)?Array.from(e,(s,o)=>{const a=Pi(n,o,void 0);return oi(s,u,r,a)}):[oi(e,u,r,n)]}if(At(t)){if(!Pn(e)){r(Cn(n),e,new De(`Expected type "${t.name}" to be an object.`));return}const u={},s=t.getFields();for(const o of Object.values(s)){const a=e[o.name];if(a===void 0){if(o.defaultValue!==void 0)u[o.name]=o.defaultValue;else if(nt(o.type)){const i=Ae(o.type);r(Cn(n),e,new De(`Field "${o.name}" of required type "${i}" was not provided.`))}continue}u[o.name]=oi(a,o.type,r,Pi(n,o.name,t.name))}for(const o of Object.keys(e))if(!s[o]){const a=ls(o,Object.keys(t.getFields()));r(Cn(n),e,new De(`Field "${o}" is not defined by type "${t.name}".`+wu(a)))}return u}if(on(t)){let u;try{u=t.parseValue(e)}catch(s){s instanceof De?r(Cn(n),e,s):r(Cn(n),e,new De(`Expected type "${t.name}". `+s.message,{originalError:s}));return}return u===void 0&&r(Cn(n),e,new De(`Expected type "${t.name}".`)),u}Wr(!1,"Unexpected input type: "+Ae(t))}function Yu(e,t,r){if(e){if(e.kind===j.VARIABLE){const n=e.name.value;if(r==null||r[n]===void 0)return;const u=r[n];return u===null&&nt(t)?void 0:u}if(nt(t))return e.kind===j.NULL?void 0:Yu(e,t.ofType,r);if(e.kind===j.NULL)return null;if(qt(t)){const n=t.ofType;if(e.kind===j.LIST){const s=[];for(const o of e.values)if(Iy(o,r)){if(nt(n))return;s.push(null)}else{const a=Yu(o,n,r);if(a===void 0)return;s.push(a)}return s}const u=Yu(e,n,r);return u===void 0?void 0:[u]}if(At(t)){if(e.kind!==j.OBJECT)return;const n=Object.create(null),u=zs(e.fields,s=>s.name.value);for(const s of Object.values(t.getFields())){const o=u[s.name];if(!o||Iy(o.value,r)){if(s.defaultValue!==void 0)n[s.name]=s.defaultValue;else if(nt(s.type))return;continue}const a=Yu(o.value,s.type,r);if(a===void 0)return;n[s.name]=a}return n}if(on(t)){let n;try{n=t.parseLiteral(e,r)}catch{return}return n===void 0?void 0:n}Wr(!1,"Unexpected input type: "+Ae(t))}}function Iy(e,t){return e.kind===j.VARIABLE&&(t==null||t[e.name.value]===void 0)}function fP(e,t,r,n){const u=[],s=n==null?void 0:n.maxErrors;try{const o=DP(e,t,r,a=>{if(s!=null&&u.length>=s)throw new De("Too many errors processing variables, error limit reached. Execution aborted.");u.push(a)});if(u.length===0)return{coerced:o}}catch(o){u.push(o)}return{errors:u}}function DP(e,t,r,n){const u={};for(const s of t){const o=s.variable.name.value,a=Jr(e,s.type);if(!Sn(a)){const c=Wt(s.type);n(new De(`Variable "$${o}" expected value of type "${c}" which cannot be used as an input type.`,{nodes:s.type}));continue}if(!G5(r,o)){if(s.defaultValue)u[o]=Yu(s.defaultValue,a);else if(nt(a)){const c=Ae(a);n(new De(`Variable "$${o}" of required type "${c}" was not provided.`,{nodes:s}))}continue}const i=r[o];if(i===null&&nt(a)){const c=Ae(a);n(new De(`Variable "$${o}" of non-null type "${c}" must not be null.`,{nodes:s}));continue}u[o]=pP(i,a,(c,l,p)=>{let d=`Variable "$${o}" got invalid value `+Ae(l);c.length>0&&(d+=` at "${o}${L5(c)}"`),n(new De(d+"; "+p.message,{nodes:s,originalError:p.originalError}))})}return u}function U5(e,t,r){var n;const u={},s=(n=t.arguments)!==null&&n!==void 0?n:[],o=zs(s,a=>a.name.value);for(const a of e.args){const i=a.name,c=a.type,l=o[i];if(!l){if(a.defaultValue!==void 0)u[i]=a.defaultValue;else if(nt(c))throw new De(`Argument "${i}" of required type "${Ae(c)}" was not provided.`,{nodes:t});continue}const p=l.value;let d=p.kind===j.NULL;if(p.kind===j.VARIABLE){const h=p.name.value;if(r==null||!G5(r,h)){if(a.defaultValue!==void 0)u[i]=a.defaultValue;else if(nt(c))throw new De(`Argument "${i}" of required type "${Ae(c)}" was provided the variable "$${h}" which was not provided a runtime value.`,{nodes:p});continue}d=r[h]==null}if(d&&nt(c))throw new De(`Argument "${i}" of non-null type "${Ae(c)}" must not be null.`,{nodes:p});const f=Yu(p,c,r);if(f===void 0)throw new De(`Argument "${i}" has invalid value ${Wt(p)}.`,{nodes:p});u[i]=f}return u}function Yl(e,t,r){var n;const u=(n=t.directives)===null||n===void 0?void 0:n.find(s=>s.name.value===e.name);if(u)return U5(e,u,r)}function G5(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function V5(e,t,r,n,u){const s=new Map;return Zl(e,t,r,n,u,s,new Set),s}function hP(e,t,r,n,u){const s=new Map,o=new Set;for(const a of u)a.selectionSet&&Zl(e,t,r,n,a.selectionSet,s,o);return s}function Zl(e,t,r,n,u,s,o){for(const a of u.selections)switch(a.kind){case j.FIELD:{if(!rf(r,a))continue;const i=mP(a),c=s.get(i);c!==void 0?c.push(a):s.set(i,[a]);break}case j.INLINE_FRAGMENT:{if(!rf(r,a)||!Ny(e,a,n))continue;Zl(e,t,r,n,a.selectionSet,s,o);break}case j.FRAGMENT_SPREAD:{const i=a.name.value;if(o.has(i)||!rf(r,a))continue;o.add(i);const c=t[i];if(!c||!Ny(e,c,n))continue;Zl(e,t,r,n,c.selectionSet,s,o);break}}}function rf(e,t){const r=Yl(v5,t,e);if((r==null?void 0:r.if)===!0)return!1;const n=Yl(y5,t,e);return(n==null?void 0:n.if)!==!1}function Ny(e,t,r){const n=t.typeCondition;if(!n)return!0;const u=Jr(e,n);return u===r?!0:ts(u)?e.isSubType(u,r):!1}function mP(e){return e.alias?e.alias.value:e.name.value}function EP(e){return{OperationDefinition(t){if(t.operation==="subscription"){const r=e.getSchema(),n=r.getSubscriptionType();if(n){const u=t.name?t.name.value:null,s=Object.create(null),o=e.getDocument(),a=Object.create(null);for(const c of o.definitions)c.kind===j.FRAGMENT_DEFINITION&&(a[c.name.value]=c);const i=V5(r,a,s,n,t.selectionSet);if(i.size>1){const p=[...i.values()].slice(1).flat();e.reportError(new De(u!=null?`Subscription "${u}" must select only one top level field.`:"Anonymous Subscription must select only one top level field.",{nodes:p}))}for(const c of i.values())c[0].name.value.startsWith("__")&&e.reportError(new De(u!=null?`Subscription "${u}" must not select an introspection top level field.`:"Anonymous Subscription must not select an introspection top level field.",{nodes:c}))}}}}}function Dm(e,t){const r=new Map;for(const n of e){const u=t(n),s=r.get(u);s===void 0?r.set(u,[n]):s.push(n)}return r}function yP(e){return{DirectiveDefinition(n){var u;const s=(u=n.arguments)!==null&&u!==void 0?u:[];return r(`@${n.name.value}`,s)},InterfaceTypeDefinition:t,InterfaceTypeExtension:t,ObjectTypeDefinition:t,ObjectTypeExtension:t};function t(n){var u;const s=n.name.value,o=(u=n.fields)!==null&&u!==void 0?u:[];for(const i of o){var a;const c=i.name.value,l=(a=i.arguments)!==null&&a!==void 0?a:[];r(`${s}.${c}`,l)}return!1}function r(n,u){const s=Dm(u,o=>o.name.value);for(const[o,a]of s)a.length>1&&e.reportError(new De(`Argument "${n}(${o}:)" can only be defined once.`,{nodes:a.map(i=>i.name)}));return!1}}function H5(e){return{Field:t,Directive:t};function t(r){var n;const u=(n=r.arguments)!==null&&n!==void 0?n:[],s=Dm(u,o=>o.name.value);for(const[o,a]of s)a.length>1&&e.reportError(new De(`There can be only one argument named "${o}".`,{nodes:a.map(i=>i.name)}))}}function vP(e){const t=Object.create(null),r=e.getSchema();return{DirectiveDefinition(n){const u=n.name.value;if(r!=null&&r.getDirective(u)){e.reportError(new De(`Directive "@${u}" already exists in the schema. It cannot be redefined.`,{nodes:n.name}));return}return t[u]?e.reportError(new De(`There can be only one directive named "@${u}".`,{nodes:[t[u],n.name]})):t[u]=n.name,!1}}}function W5(e){const t=Object.create(null),r=e.getSchema(),n=r?r.getDirectives():no;for(const a of n)t[a.name]=!a.isRepeatable;const u=e.getDocument().definitions;for(const a of u)a.kind===j.DIRECTIVE_DEFINITION&&(t[a.name.value]=!a.repeatable);const s=Object.create(null),o=Object.create(null);return{enter(a){if(!("directives"in a)||!a.directives)return;let i;if(a.kind===j.SCHEMA_DEFINITION||a.kind===j.SCHEMA_EXTENSION)i=s;else if(Xi(a)||pm(a)){const c=a.name.value;i=o[c],i===void 0&&(o[c]=i=Object.create(null))}else i=Object.create(null);for(const c of a.directives){const l=c.name.value;t[l]&&(i[l]?e.reportError(new De(`The directive "@${l}" can only be used once at this location.`,{nodes:[i[l],c]})):i[l]=c)}}}}function gP(e){const t=e.getSchema(),r=t?t.getTypeMap():Object.create(null),n=Object.create(null);return{EnumTypeDefinition:u,EnumTypeExtension:u};function u(s){var o;const a=s.name.value;n[a]||(n[a]=Object.create(null));const i=(o=s.values)!==null&&o!==void 0?o:[],c=n[a];for(const l of i){const p=l.name.value,d=r[a];Kt(d)&&d.getValue(p)?e.reportError(new De(`Enum value "${a}.${p}" already exists in the schema. It cannot also be defined in this type extension.`,{nodes:l.name})):c[p]?e.reportError(new De(`Enum value "${a}.${p}" can only be defined once.`,{nodes:[c[p],l.name]})):c[p]=l.name}return!1}}function AP(e){const t=e.getSchema(),r=t?t.getTypeMap():Object.create(null),n=Object.create(null);return{InputObjectTypeDefinition:u,InputObjectTypeExtension:u,InterfaceTypeDefinition:u,InterfaceTypeExtension:u,ObjectTypeDefinition:u,ObjectTypeExtension:u};function u(s){var o;const a=s.name.value;n[a]||(n[a]=Object.create(null));const i=(o=s.fields)!==null&&o!==void 0?o:[],c=n[a];for(const l of i){const p=l.name.value;FP(r[a],p)?e.reportError(new De(`Field "${a}.${p}" already exists in the schema. It cannot also be defined in this type extension.`,{nodes:l.name})):c[p]?e.reportError(new De(`Field "${a}.${p}" can only be defined once.`,{nodes:[c[p],l.name]})):c[p]=l.name}return!1}}function FP(e,t){return Xe(e)||dt(e)||At(e)?e.getFields()[t]!=null:!1}function CP(e){const t=Object.create(null);return{OperationDefinition:()=>!1,FragmentDefinition(r){const n=r.name.value;return t[n]?e.reportError(new De(`There can be only one fragment named "${n}".`,{nodes:[t[n],r.name]})):t[n]=r.name,!1}}}function J5(e){const t=[];let r=Object.create(null);return{ObjectValue:{enter(){t.push(r),r=Object.create(null)},leave(){const n=t.pop();n||Wr(!1),r=n}},ObjectField(n){const u=n.name.value;r[u]?e.reportError(new De(`There can be only one input field named "${u}".`,{nodes:[r[u],n.name]})):r[u]=n.name}}}function bP(e){const t=Object.create(null);return{OperationDefinition(r){const n=r.name;return n&&(t[n.value]?e.reportError(new De(`There can be only one operation named "${n.value}".`,{nodes:[t[n.value],n]})):t[n.value]=n),!1},FragmentDefinition:()=>!1}}function SP(e){const t=e.getSchema(),r=Object.create(null),n=t?{query:t.getQueryType(),mutation:t.getMutationType(),subscription:t.getSubscriptionType()}:{};return{SchemaDefinition:u,SchemaExtension:u};function u(s){var o;const a=(o=s.operationTypes)!==null&&o!==void 0?o:[];for(const i of a){const c=i.operation,l=r[c];n[c]?e.reportError(new De(`Type for ${c} already defined in the schema. It cannot be redefined.`,{nodes:i})):l?e.reportError(new De(`There can be only one ${c} type in schema.`,{nodes:[l,i]})):r[c]=i}return!1}}function wP(e){const t=Object.create(null),r=e.getSchema();return{ScalarTypeDefinition:n,ObjectTypeDefinition:n,InterfaceTypeDefinition:n,UnionTypeDefinition:n,EnumTypeDefinition:n,InputObjectTypeDefinition:n};function n(u){const s=u.name.value;if(r!=null&&r.getType(s)){e.reportError(new De(`Type "${s}" already exists in the schema. It cannot also be defined in this type definition.`,{nodes:u.name}));return}return t[s]?e.reportError(new De(`There can be only one type named "${s}".`,{nodes:[t[s],u.name]})):t[s]=u.name,!1}}function _P(e){return{OperationDefinition(t){var r;const n=(r=t.variableDefinitions)!==null&&r!==void 0?r:[],u=Dm(n,s=>s.variable.name.value);for(const[s,o]of u)o.length>1&&e.reportError(new De(`There can be only one variable named "$${s}".`,{nodes:o.map(a=>a.variable.name)}))}}}function BP(e){return{ListValue(t){const r=rm(e.getParentInputType());if(!qt(r))return Ss(e,t),!1},ObjectValue(t){const r=xr(e.getInputType());if(!At(r))return Ss(e,t),!1;const n=zs(t.fields,u=>u.name.value);for(const u of Object.values(r.getFields()))if(!n[u.name]&&m5(u)){const o=Ae(u.type);e.reportError(new De(`Field "${r.name}.${u.name}" of required type "${o}" was not provided.`,{nodes:t}))}},ObjectField(t){const r=xr(e.getParentInputType());if(!e.getInputType()&&At(r)){const u=ls(t.name.value,Object.keys(r.getFields()));e.reportError(new De(`Field "${t.name.value}" is not defined by type "${r.name}".`+wu(u),{nodes:t}))}},NullValue(t){const r=e.getInputType();nt(r)&&e.reportError(new De(`Expected value of type "${Ae(r)}", found ${Wt(t)}.`,{nodes:t}))},EnumValue:t=>Ss(e,t),IntValue:t=>Ss(e,t),FloatValue:t=>Ss(e,t),StringValue:t=>Ss(e,t),BooleanValue:t=>Ss(e,t)}}function Ss(e,t){const r=e.getInputType();if(!r)return;const n=xr(r);if(!on(n)){const u=Ae(r);e.reportError(new De(`Expected value of type "${u}", found ${Wt(t)}.`,{nodes:t}));return}try{if(n.parseLiteral(t,void 0)===void 0){const s=Ae(r);e.reportError(new De(`Expected value of type "${s}", found ${Wt(t)}.`,{nodes:t}))}}catch(u){const s=Ae(r);u instanceof De?e.reportError(u):e.reportError(new De(`Expected value of type "${s}", found ${Wt(t)}; `+u.message,{nodes:t,originalError:u}))}}function TP(e){return{VariableDefinition(t){const r=Jr(e.getSchema(),t.type);if(r!==void 0&&!Sn(r)){const n=t.variable.name.value,u=Wt(t.type);e.reportError(new De(`Variable "$${n}" cannot be non-input type "${u}".`,{nodes:t.type}))}}}}function $P(e){let t=Object.create(null);return{OperationDefinition:{enter(){t=Object.create(null)},leave(r){const n=e.getRecursiveVariableUsages(r);for(const{node:u,type:s,defaultValue:o}of n){const a=u.name.value,i=t[a];if(i&&s){const c=e.getSchema(),l=Jr(c,i.type);if(l&&!PP(c,l,i.defaultValue,s,o)){const p=Ae(l),d=Ae(s);e.reportError(new De(`Variable "$${a}" of type "${p}" used in position expecting type "${d}".`,{nodes:[i,u]}))}}}}},VariableDefinition(r){t[r.variable.name.value]=r}}}function PP(e,t,r,n,u){if(nt(n)&&!nt(t)){if(!(r!=null&&r.kind!==j.NULL)&&!(u!==void 0))return!1;const a=n.ofType;return na(e,t,a)}return na(e,t,n)}const kP=Object.freeze([O$,bP,G$,EP,q5,x$,TP,lP,I$,CP,L$,J$,rP,H$,_P,W$,z$,N5,W5,R$,H5,BP,iP,$P,X$,J5]),OP=Object.freeze([V$,SP,wP,gP,AP,yP,vP,q5,N5,W5,uP,I5,H5,J5,M5]);class z5{constructor(t,r){this._ast=t,this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=r}get[Symbol.toStringTag](){return"ASTValidationContext"}reportError(t){this._onError(t)}getDocument(){return this._ast}getFragment(t){let r;if(this._fragments)r=this._fragments;else{r=Object.create(null);for(const n of this.getDocument().definitions)n.kind===j.FRAGMENT_DEFINITION&&(r[n.name.value]=n);this._fragments=r}return r[t]}getFragmentSpreads(t){let r=this._fragmentSpreads.get(t);if(!r){r=[];const n=[t];let u;for(;u=n.pop();)for(const s of u.selections)s.kind===j.FRAGMENT_SPREAD?r.push(s):s.selectionSet&&n.push(s.selectionSet);this._fragmentSpreads.set(t,r)}return r}getRecursivelyReferencedFragments(t){let r=this._recursivelyReferencedFragments.get(t);if(!r){r=[];const n=Object.create(null),u=[t.selectionSet];let s;for(;s=u.pop();)for(const o of this.getFragmentSpreads(s)){const a=o.name.value;if(n[a]!==!0){n[a]=!0;const i=this.getFragment(a);i&&(r.push(i),u.push(i.selectionSet))}}this._recursivelyReferencedFragments.set(t,r)}return r}}class IP extends z5{constructor(t,r,n){super(t,n),this._schema=r}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}}class NP extends z5{constructor(t,r,n,u){super(r,u),this._schema=t,this._typeInfo=n,this._variableUsages=new Map,this._recursiveVariableUsages=new Map}get[Symbol.toStringTag](){return"ValidationContext"}getSchema(){return this._schema}getVariableUsages(t){let r=this._variableUsages.get(t);if(!r){const n=[],u=new T5(this._schema);Wi(t,$5(u,{VariableDefinition:()=>!1,Variable(s){n.push({node:s,type:u.getInputType(),defaultValue:u.getDefaultValue()})}})),r=n,this._variableUsages.set(t,r)}return r}getRecursiveVariableUsages(t){let r=this._recursiveVariableUsages.get(t);if(!r){r=this.getVariableUsages(t);for(const n of this.getRecursivelyReferencedFragments(t))r=r.concat(this.getVariableUsages(n));this._recursiveVariableUsages.set(t,r)}return r}getType(){return this._typeInfo.getType()}getParentType(){return this._typeInfo.getParentType()}getInputType(){return this._typeInfo.getInputType()}getParentInputType(){return this._typeInfo.getParentInputType()}getFieldDef(){return this._typeInfo.getFieldDef()}getDirective(){return this._typeInfo.getDirective()}getArgument(){return this._typeInfo.getArgument()}getEnumValue(){return this._typeInfo.getEnumValue()}}function qP(e,t,r=kP,n,u=new T5(e)){var s;const o=(s=void 0)!==null&&s!==void 0?s:100;t||it(!1,"Must provide document."),B5(e);const a=Object.freeze({}),i=[],c=new NP(e,t,u,p=>{if(i.length>=o)throw i.push(new De("Too many validation errors, error limit reached. Validation aborted.")),a;i.push(p)}),l=i5(r.map(p=>p(c)));try{Wi(t,$5(u,l))}catch(p){if(p!==a)throw p}return i}function xP(e,t,r=OP){const n=[],u=new IP(e,t,o=>{n.push(o)}),s=r.map(o=>o(u));return Wi(e,i5(s)),n}function RP(e){const t=xP(e);if(t.length!==0)throw new Error(t.map(r=>r.message).join(` +`))}class C${constructor(t){this._errors=[],this.schema=t}reportError(t,r){const n=Array.isArray(r)?r.filter(Boolean):r;this._errors.push(new De(t,{nodes:n}))}getErrors(){return this._errors}}function b$(e){const t=e.schema,r=t.getQueryType();if(!r)e.reportError("Query root type must be provided.",t.astNode);else if(!Xe(r)){var n;e.reportError(`Query root type must be Object type, it cannot be ${Ae(r)}.`,(n=tf(t,nr.QUERY))!==null&&n!==void 0?n:r.astNode)}const u=t.getMutationType();if(u&&!Xe(u)){var s;e.reportError(`Mutation root type must be Object type if provided, it cannot be ${Ae(u)}.`,(s=tf(t,nr.MUTATION))!==null&&s!==void 0?s:u.astNode)}const o=t.getSubscriptionType();if(o&&!Xe(o)){var a;e.reportError(`Subscription root type must be Object type if provided, it cannot be ${Ae(o)}.`,(a=tf(t,nr.SUBSCRIPTION))!==null&&a!==void 0?a:o.astNode)}}function tf(e,t){var r;return(r=[e.astNode,...e.extensionASTNodes].flatMap(n=>{var u;return(u=n==null?void 0:n.operationTypes)!==null&&u!==void 0?u:[]}).find(n=>n.operation===t))===null||r===void 0?void 0:r.type}function S$(e){for(const r of e.schema.getDirectives()){if(!v5(r)){e.reportError(`Expected directive but got: ${Ae(r)}.`,r==null?void 0:r.astNode);continue}Xs(e,r);for(const n of r.args)if(Xs(e,n),Sn(n.type)||e.reportError(`The type of @${r.name}(${n.name}:) must be Input Type but got: ${Ae(n.type)}.`,n.astNode),Ji(n)&&n.deprecationReason!=null){var t;e.reportError(`Required argument @${r.name}(${n.name}:) cannot be deprecated.`,[pm(n.astNode),(t=n.astNode)===null||t===void 0?void 0:t.type])}}}function Xs(e,t){t.name.startsWith("__")&&e.reportError(`Name "${t.name}" must not begin with "__", which is reserved by GraphQL introspection.`,t.astNode)}function w$(e){const t=k$(e),r=e.schema.getTypeMap();for(const n of Object.values(r)){if(!qp(n)){e.reportError(`Expected GraphQL named type but got: ${Ae(n)}.`,n.astNode);continue}im(n)||Xs(e,n),Xe(n)||dt(n)?($y(e,n),Py(e,n)):or(n)?T$(e,n):Kt(n)?$$(e,n):At(n)&&(P$(e,n),t(n))}}function $y(e,t){const r=Object.values(t.getFields());r.length===0&&e.reportError(`Type ${t.name} must define one or more fields.`,[t.astNode,...t.extensionASTNodes]);for(const o of r){if(Xs(e,o),!fi(o.type)){var n;e.reportError(`The type of ${t.name}.${o.name} must be Output Type but got: ${Ae(o.type)}.`,(n=o.astNode)===null||n===void 0?void 0:n.type)}for(const a of o.args){const i=a.name;if(Xs(e,a),!Sn(a.type)){var u;e.reportError(`The type of ${t.name}.${o.name}(${i}:) must be Input Type but got: ${Ae(a.type)}.`,(u=a.astNode)===null||u===void 0?void 0:u.type)}if(Ji(a)&&a.deprecationReason!=null){var s;e.reportError(`Required argument ${t.name}.${o.name}(${i}:) cannot be deprecated.`,[pm(a.astNode),(s=a.astNode)===null||s===void 0?void 0:s.type])}}}}function Py(e,t){const r=Object.create(null);for(const n of t.getInterfaces()){if(!dt(n)){e.reportError(`Type ${Ae(t)} must only implement Interface types, it cannot implement ${Ae(n)}.`,Di(t,n));continue}if(t===n){e.reportError(`Type ${t.name} cannot implement itself because it would create a circular reference.`,Di(t,n));continue}if(r[n.name]){e.reportError(`Type ${t.name} can only implement ${n.name} once.`,Di(t,n));continue}r[n.name]=!0,B$(e,t,n),_$(e,t,n)}}function _$(e,t,r){const n=t.getFields();for(const i of Object.values(r.getFields())){const c=i.name,l=n[c];if(!l){e.reportError(`Interface field ${r.name}.${c} expected but ${t.name} does not provide it.`,[i.astNode,t.astNode,...t.extensionASTNodes]);continue}if(!na(e.schema,l.type,i.type)){var u,s;e.reportError(`Interface field ${r.name}.${c} expects type ${Ae(i.type)} but ${t.name}.${c} is type ${Ae(l.type)}.`,[(u=i.astNode)===null||u===void 0?void 0:u.type,(s=l.astNode)===null||s===void 0?void 0:s.type])}for(const p of i.args){const d=p.name,f=l.args.find(h=>h.name===d);if(!f){e.reportError(`Interface field argument ${r.name}.${c}(${d}:) expected but ${t.name}.${c} does not provide it.`,[p.astNode,l.astNode]);continue}if(!k2(p.type,f.type)){var o,a;e.reportError(`Interface field argument ${r.name}.${c}(${d}:) expects type ${Ae(p.type)} but ${t.name}.${c}(${d}:) is type ${Ae(f.type)}.`,[(o=p.astNode)===null||o===void 0?void 0:o.type,(a=f.astNode)===null||a===void 0?void 0:a.type])}}for(const p of l.args){const d=p.name;!i.args.find(h=>h.name===d)&&Ji(p)&&e.reportError(`Object field ${t.name}.${c} includes required argument ${d} that is missing from the Interface field ${r.name}.${c}.`,[p.astNode,i.astNode])}}}function B$(e,t,r){const n=t.getInterfaces();for(const u of r.getInterfaces())n.includes(u)||e.reportError(u===t?`Type ${t.name} cannot implement ${r.name} because it would create a circular reference.`:`Type ${t.name} must implement ${u.name} because it is implemented by ${r.name}.`,[...Di(r,u),...Di(t,r)])}function T$(e,t){const r=t.getTypes();r.length===0&&e.reportError(`Union type ${t.name} must define one or more member types.`,[t.astNode,...t.extensionASTNodes]);const n=Object.create(null);for(const u of r){if(n[u.name]){e.reportError(`Union type ${t.name} can only include type ${u.name} once.`,ky(t,u.name));continue}n[u.name]=!0,Xe(u)||e.reportError(`Union type ${t.name} can only include Object types, it cannot include ${Ae(u)}.`,ky(t,String(u)))}}function $$(e,t){const r=t.getValues();r.length===0&&e.reportError(`Enum type ${t.name} must define one or more values.`,[t.astNode,...t.extensionASTNodes]);for(const n of r)Xs(e,n)}function P$(e,t){const r=Object.values(t.getFields());r.length===0&&e.reportError(`Input Object type ${t.name} must define one or more fields.`,[t.astNode,...t.extensionASTNodes]);for(const s of r){if(Xs(e,s),!Sn(s.type)){var n;e.reportError(`The type of ${t.name}.${s.name} must be Input Type but got: ${Ae(s.type)}.`,(n=s.astNode)===null||n===void 0?void 0:n.type)}if(y5(s)&&s.deprecationReason!=null){var u;e.reportError(`Required input field ${t.name}.${s.name} cannot be deprecated.`,[pm(s.astNode),(u=s.astNode)===null||u===void 0?void 0:u.type])}}}function k$(e){const t=Object.create(null),r=[],n=Object.create(null);return u;function u(s){if(t[s.name])return;t[s.name]=!0,n[s.name]=r.length;const o=Object.values(s.getFields());for(const a of o)if(nt(a.type)&&At(a.type.ofType)){const i=a.type.ofType,c=n[i.name];if(r.push(a),c===void 0)u(i);else{const l=r.slice(c),p=l.map(d=>d.name).join(".");e.reportError(`Cannot reference Input Object "${i.name}" within itself through a series of non-null fields: "${p}".`,l.map(d=>d.astNode))}r.pop()}n[s.name]=void 0}}function Di(e,t){const{astNode:r,extensionASTNodes:n}=e;return(r!=null?[r,...n]:n).flatMap(s=>{var o;return(o=s.interfaces)!==null&&o!==void 0?o:[]}).filter(s=>s.name.value===t.name)}function ky(e,t){const{astNode:r,extensionASTNodes:n}=e;return(r!=null?[r,...n]:n).flatMap(s=>{var o;return(o=s.types)!==null&&o!==void 0?o:[]}).filter(s=>s.name.value===t)}function pm(e){var t;return e==null||(t=e.directives)===null||t===void 0?void 0:t.find(r=>r.name.value===xp.name)}function Jr(e,t){switch(t.kind){case j.LIST_TYPE:{const r=Jr(e,t.type);return r&&new Dr(r)}case j.NON_NULL_TYPE:{const r=Jr(e,t.type);return r&&new Qe(r)}case j.NAMED_TYPE:return e.getType(t.name.value)}}class P5{constructor(t,r,n){this._schema=t,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._getFieldDef=n??O$,r&&(Sn(r)&&this._inputTypeStack.push(r),as(r)&&this._parentTypeStack.push(r),fi(r)&&this._typeStack.push(r))}get[Symbol.toStringTag](){return"TypeInfo"}getType(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]}getParentType(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]}getInputType(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]}getParentInputType(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]}getFieldDef(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]}getDefaultValue(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]}getDirective(){return this._directive}getArgument(){return this._argument}getEnumValue(){return this._enumValue}enter(t){const r=this._schema;switch(t.kind){case j.SELECTION_SET:{const u=xr(this.getType());this._parentTypeStack.push(as(u)?u:void 0);break}case j.FIELD:{const u=this.getParentType();let s,o;u&&(s=this._getFieldDef(r,u,t),s&&(o=s.type)),this._fieldDefStack.push(s),this._typeStack.push(fi(o)?o:void 0);break}case j.DIRECTIVE:this._directive=r.getDirective(t.name.value);break;case j.OPERATION_DEFINITION:{const u=r.getRootType(t.operation);this._typeStack.push(Xe(u)?u:void 0);break}case j.INLINE_FRAGMENT:case j.FRAGMENT_DEFINITION:{const u=t.typeCondition,s=u?Jr(r,u):xr(this.getType());this._typeStack.push(fi(s)?s:void 0);break}case j.VARIABLE_DEFINITION:{const u=Jr(r,t.type);this._inputTypeStack.push(Sn(u)?u:void 0);break}case j.ARGUMENT:{var n;let u,s;const o=(n=this.getDirective())!==null&&n!==void 0?n:this.getFieldDef();o&&(u=o.args.find(a=>a.name===t.name.value),u&&(s=u.type)),this._argument=u,this._defaultValueStack.push(u?u.defaultValue:void 0),this._inputTypeStack.push(Sn(s)?s:void 0);break}case j.LIST:{const u=nm(this.getInputType()),s=qt(u)?u.ofType:u;this._defaultValueStack.push(void 0),this._inputTypeStack.push(Sn(s)?s:void 0);break}case j.OBJECT_FIELD:{const u=xr(this.getInputType());let s,o;At(u)&&(o=u.getFields()[t.name.value],o&&(s=o.type)),this._defaultValueStack.push(o?o.defaultValue:void 0),this._inputTypeStack.push(Sn(s)?s:void 0);break}case j.ENUM:{const u=xr(this.getInputType());let s;Kt(u)&&(s=u.getValue(t.value)),this._enumValue=s;break}}}leave(t){switch(t.kind){case j.SELECTION_SET:this._parentTypeStack.pop();break;case j.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case j.DIRECTIVE:this._directive=null;break;case j.OPERATION_DEFINITION:case j.INLINE_FRAGMENT:case j.FRAGMENT_DEFINITION:this._typeStack.pop();break;case j.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case j.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case j.LIST:case j.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case j.ENUM:this._enumValue=null;break}}}function O$(e,t,r){const n=r.name.value;if(n===Hl.name&&e.getQueryType()===t)return Hl;if(n===Wl.name&&e.getQueryType()===t)return Wl;if(n===Jl.name&&as(t))return Jl;if(Xe(t)||dt(t))return t.getFields()[n]}function k5(e,t){return{enter(...r){const n=r[0];e.enter(n);const u=Gl(t,n.kind).enter;if(u){const s=u.apply(t,r);return s!==void 0&&(e.leave(n),B2(s)&&e.enter(s)),s}},leave(...r){const n=r[0],u=Gl(t,n.kind).leave;let s;return u&&(s=u.apply(t,r)),e.leave(n),s}}}function I$(e){return O5(e)||I5(e)||N5(e)}function O5(e){return e.kind===j.OPERATION_DEFINITION||e.kind===j.FRAGMENT_DEFINITION}function I5(e){return e.kind===j.SCHEMA_DEFINITION||Xi(e)||e.kind===j.DIRECTIVE_DEFINITION}function Xi(e){return e.kind===j.SCALAR_TYPE_DEFINITION||e.kind===j.OBJECT_TYPE_DEFINITION||e.kind===j.INTERFACE_TYPE_DEFINITION||e.kind===j.UNION_TYPE_DEFINITION||e.kind===j.ENUM_TYPE_DEFINITION||e.kind===j.INPUT_OBJECT_TYPE_DEFINITION}function N5(e){return e.kind===j.SCHEMA_EXTENSION||dm(e)}function dm(e){return e.kind===j.SCALAR_TYPE_EXTENSION||e.kind===j.OBJECT_TYPE_EXTENSION||e.kind===j.INTERFACE_TYPE_EXTENSION||e.kind===j.UNION_TYPE_EXTENSION||e.kind===j.ENUM_TYPE_EXTENSION||e.kind===j.INPUT_OBJECT_TYPE_EXTENSION}function N$(e){return{Document(t){for(const r of t.definitions)if(!O5(r)){const n=r.kind===j.SCHEMA_DEFINITION||r.kind===j.SCHEMA_EXTENSION?"schema":'"'+r.name.value+'"';e.reportError(new De(`The ${n} definition is not executable.`,{nodes:r}))}return!1}}}function q$(e){return{Field(t){const r=e.getParentType();if(r&&!e.getFieldDef()){const u=e.getSchema(),s=t.name.value;let o=wu("to use an inline fragment on",x$(u,r,s));o===""&&(o=wu(R$(r,s))),e.reportError(new De(`Cannot query field "${s}" on type "${r.name}".`+o,{nodes:t}))}}}}function x$(e,t,r){if(!ts(t))return[];const n=new Set,u=Object.create(null);for(const o of e.getPossibleTypes(t))if(o.getFields()[r]){n.add(o),u[o.name]=1;for(const a of o.getInterfaces()){var s;a.getFields()[r]&&(n.add(a),u[a.name]=((s=u[a.name])!==null&&s!==void 0?s:0)+1)}}return[...n].sort((o,a)=>{const i=u[a.name]-u[o.name];return i!==0?i:dt(o)&&e.isSubType(o,a)?-1:dt(a)&&e.isSubType(a,o)?1:em(o.name,a.name)}).map(o=>o.name)}function R$(e,t){if(Xe(e)||dt(e)){const r=Object.keys(e.getFields());return ls(t,r)}return[]}function j$(e){return{InlineFragment(t){const r=t.typeCondition;if(r){const n=Jr(e.getSchema(),r);if(n&&!as(n)){const u=Wt(r);e.reportError(new De(`Fragment cannot condition on non composite type "${u}".`,{nodes:r}))}}},FragmentDefinition(t){const r=Jr(e.getSchema(),t.typeCondition);if(r&&!as(r)){const n=Wt(t.typeCondition);e.reportError(new De(`Fragment "${t.name.value}" cannot condition on non composite type "${n}".`,{nodes:t.typeCondition}))}}}}function M$(e){return{...q5(e),Argument(t){const r=e.getArgument(),n=e.getFieldDef(),u=e.getParentType();if(!r&&n&&u){const s=t.name.value,o=n.args.map(i=>i.name),a=ls(s,o);e.reportError(new De(`Unknown argument "${s}" on field "${u.name}.${n.name}".`+wu(a),{nodes:t}))}}}}function q5(e){const t=Object.create(null),r=e.getSchema(),n=r?r.getDirectives():no;for(const o of n)t[o.name]=o.args.map(a=>a.name);const u=e.getDocument().definitions;for(const o of u)if(o.kind===j.DIRECTIVE_DEFINITION){var s;const a=(s=o.arguments)!==null&&s!==void 0?s:[];t[o.name.value]=a.map(i=>i.name.value)}return{Directive(o){const a=o.name.value,i=t[a];if(o.arguments&&i)for(const c of o.arguments){const l=c.name.value;if(!i.includes(l)){const p=ls(l,i);e.reportError(new De(`Unknown argument "${l}" on directive "@${a}".`+wu(p),{nodes:c}))}}return!1}}}function x5(e){const t=Object.create(null),r=e.getSchema(),n=r?r.getDirectives():no;for(const s of n)t[s.name]=s.locations;const u=e.getDocument().definitions;for(const s of u)s.kind===j.DIRECTIVE_DEFINITION&&(t[s.name.value]=s.locations.map(o=>o.value));return{Directive(s,o,a,i,c){const l=s.name.value,p=t[l];if(!p){e.reportError(new De(`Unknown directive "@${l}".`,{nodes:s}));return}const d=L$(c);d&&!p.includes(d)&&e.reportError(new De(`Directive "@${l}" may not be used on ${d}.`,{nodes:s}))}}}function L$(e){const t=e[e.length-1];switch("kind"in t||Wr(!1),t.kind){case j.OPERATION_DEFINITION:return U$(t.operation);case j.FIELD:return Ue.FIELD;case j.FRAGMENT_SPREAD:return Ue.FRAGMENT_SPREAD;case j.INLINE_FRAGMENT:return Ue.INLINE_FRAGMENT;case j.FRAGMENT_DEFINITION:return Ue.FRAGMENT_DEFINITION;case j.VARIABLE_DEFINITION:return Ue.VARIABLE_DEFINITION;case j.SCHEMA_DEFINITION:case j.SCHEMA_EXTENSION:return Ue.SCHEMA;case j.SCALAR_TYPE_DEFINITION:case j.SCALAR_TYPE_EXTENSION:return Ue.SCALAR;case j.OBJECT_TYPE_DEFINITION:case j.OBJECT_TYPE_EXTENSION:return Ue.OBJECT;case j.FIELD_DEFINITION:return Ue.FIELD_DEFINITION;case j.INTERFACE_TYPE_DEFINITION:case j.INTERFACE_TYPE_EXTENSION:return Ue.INTERFACE;case j.UNION_TYPE_DEFINITION:case j.UNION_TYPE_EXTENSION:return Ue.UNION;case j.ENUM_TYPE_DEFINITION:case j.ENUM_TYPE_EXTENSION:return Ue.ENUM;case j.ENUM_VALUE_DEFINITION:return Ue.ENUM_VALUE;case j.INPUT_OBJECT_TYPE_DEFINITION:case j.INPUT_OBJECT_TYPE_EXTENSION:return Ue.INPUT_OBJECT;case j.INPUT_VALUE_DEFINITION:{const r=e[e.length-3];return"kind"in r||Wr(!1),r.kind===j.INPUT_OBJECT_TYPE_DEFINITION?Ue.INPUT_FIELD_DEFINITION:Ue.ARGUMENT_DEFINITION}default:Wr(!1,"Unexpected kind: "+Ae(t.kind))}}function U$(e){switch(e){case nr.QUERY:return Ue.QUERY;case nr.MUTATION:return Ue.MUTATION;case nr.SUBSCRIPTION:return Ue.SUBSCRIPTION}}function G$(e){return{FragmentSpread(t){const r=t.name.value;e.getFragment(r)||e.reportError(new De(`Unknown fragment "${r}".`,{nodes:t.name}))}}}function R5(e){const t=e.getSchema(),r=t?t.getTypeMap():Object.create(null),n=Object.create(null);for(const s of e.getDocument().definitions)Xi(s)&&(n[s.name.value]=!0);const u=[...Object.keys(r),...Object.keys(n)];return{NamedType(s,o,a,i,c){const l=s.name.value;if(!r[l]&&!n[l]){var p;const d=(p=c[2])!==null&&p!==void 0?p:a,f=d!=null&&V$(d);if(f&&Oy.includes(l))return;const h=ls(l,f?Oy.concat(u):u);e.reportError(new De(`Unknown type "${l}".`+wu(h),{nodes:s}))}}}}const Oy=[...um,...am].map(e=>e.name);function V$(e){return"kind"in e&&(I5(e)||N5(e))}function H$(e){let t=0;return{Document(r){t=r.definitions.filter(n=>n.kind===j.OPERATION_DEFINITION).length},OperationDefinition(r){!r.name&&t>1&&e.reportError(new De("This anonymous operation must be the only defined operation.",{nodes:r}))}}}function W$(e){var t,r,n;const u=e.getSchema(),s=(t=(r=(n=u==null?void 0:u.astNode)!==null&&n!==void 0?n:u==null?void 0:u.getQueryType())!==null&&r!==void 0?r:u==null?void 0:u.getMutationType())!==null&&t!==void 0?t:u==null?void 0:u.getSubscriptionType();let o=0;return{SchemaDefinition(a){if(s){e.reportError(new De("Cannot define a new schema within a schema extension.",{nodes:a}));return}o>0&&e.reportError(new De("Must provide only one schema definition.",{nodes:a})),++o}}}function J$(e){const t=Object.create(null),r=[],n=Object.create(null);return{OperationDefinition:()=>!1,FragmentDefinition(s){return u(s),!1}};function u(s){if(t[s.name.value])return;const o=s.name.value;t[o]=!0;const a=e.getFragmentSpreads(s.selectionSet);if(a.length!==0){n[o]=r.length;for(const i of a){const c=i.name.value,l=n[c];if(r.push(i),l===void 0){const p=e.getFragment(c);p&&u(p)}else{const p=r.slice(l),d=p.slice(0,-1).map(f=>'"'+f.name.value+'"').join(", ");e.reportError(new De(`Cannot spread fragment "${c}" within itself`+(d!==""?` via ${d}.`:"."),{nodes:p}))}r.pop()}n[o]=void 0}}}function z$(e){let t=Object.create(null);return{OperationDefinition:{enter(){t=Object.create(null)},leave(r){const n=e.getRecursiveVariableUsages(r);for(const{node:u}of n){const s=u.name.value;t[s]!==!0&&e.reportError(new De(r.name?`Variable "$${s}" is not defined by operation "${r.name.value}".`:`Variable "$${s}" is not defined.`,{nodes:[u,r]}))}}},VariableDefinition(r){t[r.variable.name.value]=!0}}}function K$(e){const t=[],r=[];return{OperationDefinition(n){return t.push(n),!1},FragmentDefinition(n){return r.push(n),!1},Document:{leave(){const n=Object.create(null);for(const u of t)for(const s of e.getRecursivelyReferencedFragments(u))n[s.name.value]=!0;for(const u of r){const s=u.name.value;n[s]!==!0&&e.reportError(new De(`Fragment "${s}" is never used.`,{nodes:u}))}}}}}function X$(e){let t=[];return{OperationDefinition:{enter(){t=[]},leave(r){const n=Object.create(null),u=e.getRecursiveVariableUsages(r);for(const{node:s}of u)n[s.name.value]=!0;for(const s of t){const o=s.variable.name.value;n[o]!==!0&&e.reportError(new De(r.name?`Variable "$${o}" is never used in operation "${r.name.value}".`:`Variable "$${o}" is never used.`,{nodes:s}))}}},VariableDefinition(r){t.push(r)}}}function fm(e){switch(e.kind){case j.OBJECT:return{...e,fields:Y$(e.fields)};case j.LIST:return{...e,values:e.values.map(fm)};case j.INT:case j.FLOAT:case j.STRING:case j.BOOLEAN:case j.NULL:case j.ENUM:case j.VARIABLE:return e}}function Y$(e){return e.map(t=>({...t,value:fm(t.value)})).sort((t,r)=>em(t.name.value,r.name.value))}function j5(e){return Array.isArray(e)?e.map(([t,r])=>`subfields "${t}" conflict because `+j5(r)).join(" and "):e}function Z$(e){const t=new nP,r=new Map;return{SelectionSet(n){const u=Q$(e,r,t,e.getParentType(),n);for(const[[s,o],a,i]of u){const c=j5(o);e.reportError(new De(`Fields "${s}" conflict because ${c}. Use different aliases on the fields to fetch both if this was intentional.`,{nodes:a.concat(i)}))}}}}function Q$(e,t,r,n,u){const s=[],[o,a]=Xl(e,t,n,u);if(tP(e,s,t,r,o),a.length!==0)for(let i=0;i1)for(let a=0;a({kind:j.OBJECT_FIELD,name:u.name,value:u.value}))};return Wt(fm(n))}function N2(e,t){return qt(e)?qt(t)?N2(e.ofType,t.ofType):!0:qt(t)?!0:nt(e)?nt(t)?N2(e.ofType,t.ofType):!0:nt(t)?!0:on(e)||on(t)?e!==t:!1}function Xl(e,t,r,n){const u=t.get(n);if(u)return u;const s=Object.create(null),o=Object.create(null);L5(e,r,n,s,o);const a=[s,Object.keys(o)];return t.set(n,a),a}function q2(e,t,r){const n=t.get(r.selectionSet);if(n)return n;const u=Jr(e.getSchema(),r.typeCondition);return Xl(e,t,u,r.selectionSet)}function L5(e,t,r,n,u){for(const s of r.selections)switch(s.kind){case j.FIELD:{const o=s.name.value;let a;(Xe(t)||dt(t))&&(a=t.getFields()[o]);const i=s.alias?s.alias.value:o;n[i]||(n[i]=[]),n[i].push([t,s,a]);break}case j.FRAGMENT_SPREAD:u[s.name.value]=!0;break;case j.INLINE_FRAGMENT:{const o=s.typeCondition,a=o?Jr(e.getSchema(),o):t;L5(e,a,s.selectionSet,n,u);break}}}function rP(e,t,r,n){if(e.length>0)return[[t,e.map(([u])=>u)],[r,...e.map(([,u])=>u).flat()],[n,...e.map(([,,u])=>u).flat()]]}class nP{constructor(){this._data=new Map}has(t,r,n){var u;const[s,o]=ts.name.value));for(const s of n.args)if(!u.has(s.name)&&Ji(s)){const o=Ae(s.type);e.reportError(new De(`Field "${n.name}" argument "${s.name}" of type "${o}" is required, but it was not provided.`,{nodes:t}))}}}}}function U5(e){var t;const r=Object.create(null),n=e.getSchema(),u=(t=n==null?void 0:n.getDirectives())!==null&&t!==void 0?t:no;for(const a of u)r[a.name]=zs(a.args.filter(Ji),i=>i.name);const s=e.getDocument().definitions;for(const a of s)if(a.kind===j.DIRECTIVE_DEFINITION){var o;const i=(o=a.arguments)!==null&&o!==void 0?o:[];r[a.name.value]=zs(i.filter(pP),c=>c.name.value)}return{Directive:{leave(a){const i=a.name.value,c=r[i];if(c){var l;const p=(l=a.arguments)!==null&&l!==void 0?l:[],d=new Set(p.map(f=>f.name.value));for(const[f,h]of Object.entries(c))if(!d.has(f)){const y=tm(h.type)?Ae(h.type):Wt(h.type);e.reportError(new De(`Directive "@${i}" argument "${f}" of type "${y}" is required, but it was not provided.`,{nodes:a}))}}}}}}function pP(e){return e.type.kind===j.NON_NULL_TYPE&&e.defaultValue==null}function dP(e){return{Field(t){const r=e.getType(),n=t.selectionSet;if(r){if(on(xr(r))){if(n){const u=t.name.value,s=Ae(r);e.reportError(new De(`Field "${u}" must not have a selection since type "${s}" has no subfields.`,{nodes:n}))}}else if(!n){const u=t.name.value,s=Ae(r);e.reportError(new De(`Field "${u}" of type "${s}" must have a selection of subfields. Did you mean "${u} { ... }"?`,{nodes:t}))}}}}}function G5(e){return e.map(t=>typeof t=="number"?"["+t.toString()+"]":"."+t).join("")}function Pi(e,t,r){return{prev:e,key:t,typename:r}}function Cn(e){const t=[];let r=e;for(;r;)t.push(r.key),r=r.prev;return t.reverse()}function fP(e,t,r=DP){return oi(e,t,r,void 0)}function DP(e,t,r){let n="Invalid value "+Ae(t);throw e.length>0&&(n+=` at "value${G5(e)}"`),r.message=n+": "+r.message,r}function oi(e,t,r,n){if(nt(t)){if(e!=null)return oi(e,t.ofType,r,n);r(Cn(n),e,new De(`Expected non-nullable type "${Ae(t)}" not to be null.`));return}if(e==null)return null;if(qt(t)){const u=t.ofType;return sm(e)?Array.from(e,(s,o)=>{const a=Pi(n,o,void 0);return oi(s,u,r,a)}):[oi(e,u,r,n)]}if(At(t)){if(!Pn(e)){r(Cn(n),e,new De(`Expected type "${t.name}" to be an object.`));return}const u={},s=t.getFields();for(const o of Object.values(s)){const a=e[o.name];if(a===void 0){if(o.defaultValue!==void 0)u[o.name]=o.defaultValue;else if(nt(o.type)){const i=Ae(o.type);r(Cn(n),e,new De(`Field "${o.name}" of required type "${i}" was not provided.`))}continue}u[o.name]=oi(a,o.type,r,Pi(n,o.name,t.name))}for(const o of Object.keys(e))if(!s[o]){const a=ls(o,Object.keys(t.getFields()));r(Cn(n),e,new De(`Field "${o}" is not defined by type "${t.name}".`+wu(a)))}return u}if(on(t)){let u;try{u=t.parseValue(e)}catch(s){s instanceof De?r(Cn(n),e,s):r(Cn(n),e,new De(`Expected type "${t.name}". `+s.message,{originalError:s}));return}return u===void 0&&r(Cn(n),e,new De(`Expected type "${t.name}".`)),u}Wr(!1,"Unexpected input type: "+Ae(t))}function Yu(e,t,r){if(e){if(e.kind===j.VARIABLE){const n=e.name.value;if(r==null||r[n]===void 0)return;const u=r[n];return u===null&&nt(t)?void 0:u}if(nt(t))return e.kind===j.NULL?void 0:Yu(e,t.ofType,r);if(e.kind===j.NULL)return null;if(qt(t)){const n=t.ofType;if(e.kind===j.LIST){const s=[];for(const o of e.values)if(Ny(o,r)){if(nt(n))return;s.push(null)}else{const a=Yu(o,n,r);if(a===void 0)return;s.push(a)}return s}const u=Yu(e,n,r);return u===void 0?void 0:[u]}if(At(t)){if(e.kind!==j.OBJECT)return;const n=Object.create(null),u=zs(e.fields,s=>s.name.value);for(const s of Object.values(t.getFields())){const o=u[s.name];if(!o||Ny(o.value,r)){if(s.defaultValue!==void 0)n[s.name]=s.defaultValue;else if(nt(s.type))return;continue}const a=Yu(o.value,s.type,r);if(a===void 0)return;n[s.name]=a}return n}if(on(t)){let n;try{n=t.parseLiteral(e,r)}catch{return}return n===void 0?void 0:n}Wr(!1,"Unexpected input type: "+Ae(t))}}function Ny(e,t){return e.kind===j.VARIABLE&&(t==null||t[e.name.value]===void 0)}function hP(e,t,r,n){const u=[],s=n==null?void 0:n.maxErrors;try{const o=mP(e,t,r,a=>{if(s!=null&&u.length>=s)throw new De("Too many errors processing variables, error limit reached. Execution aborted.");u.push(a)});if(u.length===0)return{coerced:o}}catch(o){u.push(o)}return{errors:u}}function mP(e,t,r,n){const u={};for(const s of t){const o=s.variable.name.value,a=Jr(e,s.type);if(!Sn(a)){const c=Wt(s.type);n(new De(`Variable "$${o}" expected value of type "${c}" which cannot be used as an input type.`,{nodes:s.type}));continue}if(!H5(r,o)){if(s.defaultValue)u[o]=Yu(s.defaultValue,a);else if(nt(a)){const c=Ae(a);n(new De(`Variable "$${o}" of required type "${c}" was not provided.`,{nodes:s}))}continue}const i=r[o];if(i===null&&nt(a)){const c=Ae(a);n(new De(`Variable "$${o}" of non-null type "${c}" must not be null.`,{nodes:s}));continue}u[o]=fP(i,a,(c,l,p)=>{let d=`Variable "$${o}" got invalid value `+Ae(l);c.length>0&&(d+=` at "${o}${G5(c)}"`),n(new De(d+"; "+p.message,{nodes:s,originalError:p.originalError}))})}return u}function V5(e,t,r){var n;const u={},s=(n=t.arguments)!==null&&n!==void 0?n:[],o=zs(s,a=>a.name.value);for(const a of e.args){const i=a.name,c=a.type,l=o[i];if(!l){if(a.defaultValue!==void 0)u[i]=a.defaultValue;else if(nt(c))throw new De(`Argument "${i}" of required type "${Ae(c)}" was not provided.`,{nodes:t});continue}const p=l.value;let d=p.kind===j.NULL;if(p.kind===j.VARIABLE){const h=p.name.value;if(r==null||!H5(r,h)){if(a.defaultValue!==void 0)u[i]=a.defaultValue;else if(nt(c))throw new De(`Argument "${i}" of required type "${Ae(c)}" was provided the variable "$${h}" which was not provided a runtime value.`,{nodes:p});continue}d=r[h]==null}if(d&&nt(c))throw new De(`Argument "${i}" of non-null type "${Ae(c)}" must not be null.`,{nodes:p});const f=Yu(p,c,r);if(f===void 0)throw new De(`Argument "${i}" has invalid value ${Wt(p)}.`,{nodes:p});u[i]=f}return u}function Yl(e,t,r){var n;const u=(n=t.directives)===null||n===void 0?void 0:n.find(s=>s.name.value===e.name);if(u)return V5(e,u,r)}function H5(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function W5(e,t,r,n,u){const s=new Map;return Zl(e,t,r,n,u,s,new Set),s}function EP(e,t,r,n,u){const s=new Map,o=new Set;for(const a of u)a.selectionSet&&Zl(e,t,r,n,a.selectionSet,s,o);return s}function Zl(e,t,r,n,u,s,o){for(const a of u.selections)switch(a.kind){case j.FIELD:{if(!rf(r,a))continue;const i=yP(a),c=s.get(i);c!==void 0?c.push(a):s.set(i,[a]);break}case j.INLINE_FRAGMENT:{if(!rf(r,a)||!qy(e,a,n))continue;Zl(e,t,r,n,a.selectionSet,s,o);break}case j.FRAGMENT_SPREAD:{const i=a.name.value;if(o.has(i)||!rf(r,a))continue;o.add(i);const c=t[i];if(!c||!qy(e,c,n))continue;Zl(e,t,r,n,c.selectionSet,s,o);break}}}function rf(e,t){const r=Yl(A5,t,e);if((r==null?void 0:r.if)===!0)return!1;const n=Yl(g5,t,e);return(n==null?void 0:n.if)!==!1}function qy(e,t,r){const n=t.typeCondition;if(!n)return!0;const u=Jr(e,n);return u===r?!0:ts(u)?e.isSubType(u,r):!1}function yP(e){return e.alias?e.alias.value:e.name.value}function vP(e){return{OperationDefinition(t){if(t.operation==="subscription"){const r=e.getSchema(),n=r.getSubscriptionType();if(n){const u=t.name?t.name.value:null,s=Object.create(null),o=e.getDocument(),a=Object.create(null);for(const c of o.definitions)c.kind===j.FRAGMENT_DEFINITION&&(a[c.name.value]=c);const i=W5(r,a,s,n,t.selectionSet);if(i.size>1){const p=[...i.values()].slice(1).flat();e.reportError(new De(u!=null?`Subscription "${u}" must select only one top level field.`:"Anonymous Subscription must select only one top level field.",{nodes:p}))}for(const c of i.values())c[0].name.value.startsWith("__")&&e.reportError(new De(u!=null?`Subscription "${u}" must not select an introspection top level field.`:"Anonymous Subscription must not select an introspection top level field.",{nodes:c}))}}}}}function hm(e,t){const r=new Map;for(const n of e){const u=t(n),s=r.get(u);s===void 0?r.set(u,[n]):s.push(n)}return r}function gP(e){return{DirectiveDefinition(n){var u;const s=(u=n.arguments)!==null&&u!==void 0?u:[];return r(`@${n.name.value}`,s)},InterfaceTypeDefinition:t,InterfaceTypeExtension:t,ObjectTypeDefinition:t,ObjectTypeExtension:t};function t(n){var u;const s=n.name.value,o=(u=n.fields)!==null&&u!==void 0?u:[];for(const i of o){var a;const c=i.name.value,l=(a=i.arguments)!==null&&a!==void 0?a:[];r(`${s}.${c}`,l)}return!1}function r(n,u){const s=hm(u,o=>o.name.value);for(const[o,a]of s)a.length>1&&e.reportError(new De(`Argument "${n}(${o}:)" can only be defined once.`,{nodes:a.map(i=>i.name)}));return!1}}function J5(e){return{Field:t,Directive:t};function t(r){var n;const u=(n=r.arguments)!==null&&n!==void 0?n:[],s=hm(u,o=>o.name.value);for(const[o,a]of s)a.length>1&&e.reportError(new De(`There can be only one argument named "${o}".`,{nodes:a.map(i=>i.name)}))}}function AP(e){const t=Object.create(null),r=e.getSchema();return{DirectiveDefinition(n){const u=n.name.value;if(r!=null&&r.getDirective(u)){e.reportError(new De(`Directive "@${u}" already exists in the schema. It cannot be redefined.`,{nodes:n.name}));return}return t[u]?e.reportError(new De(`There can be only one directive named "@${u}".`,{nodes:[t[u],n.name]})):t[u]=n.name,!1}}}function z5(e){const t=Object.create(null),r=e.getSchema(),n=r?r.getDirectives():no;for(const a of n)t[a.name]=!a.isRepeatable;const u=e.getDocument().definitions;for(const a of u)a.kind===j.DIRECTIVE_DEFINITION&&(t[a.name.value]=!a.repeatable);const s=Object.create(null),o=Object.create(null);return{enter(a){if(!("directives"in a)||!a.directives)return;let i;if(a.kind===j.SCHEMA_DEFINITION||a.kind===j.SCHEMA_EXTENSION)i=s;else if(Xi(a)||dm(a)){const c=a.name.value;i=o[c],i===void 0&&(o[c]=i=Object.create(null))}else i=Object.create(null);for(const c of a.directives){const l=c.name.value;t[l]&&(i[l]?e.reportError(new De(`The directive "@${l}" can only be used once at this location.`,{nodes:[i[l],c]})):i[l]=c)}}}}function FP(e){const t=e.getSchema(),r=t?t.getTypeMap():Object.create(null),n=Object.create(null);return{EnumTypeDefinition:u,EnumTypeExtension:u};function u(s){var o;const a=s.name.value;n[a]||(n[a]=Object.create(null));const i=(o=s.values)!==null&&o!==void 0?o:[],c=n[a];for(const l of i){const p=l.name.value,d=r[a];Kt(d)&&d.getValue(p)?e.reportError(new De(`Enum value "${a}.${p}" already exists in the schema. It cannot also be defined in this type extension.`,{nodes:l.name})):c[p]?e.reportError(new De(`Enum value "${a}.${p}" can only be defined once.`,{nodes:[c[p],l.name]})):c[p]=l.name}return!1}}function CP(e){const t=e.getSchema(),r=t?t.getTypeMap():Object.create(null),n=Object.create(null);return{InputObjectTypeDefinition:u,InputObjectTypeExtension:u,InterfaceTypeDefinition:u,InterfaceTypeExtension:u,ObjectTypeDefinition:u,ObjectTypeExtension:u};function u(s){var o;const a=s.name.value;n[a]||(n[a]=Object.create(null));const i=(o=s.fields)!==null&&o!==void 0?o:[],c=n[a];for(const l of i){const p=l.name.value;bP(r[a],p)?e.reportError(new De(`Field "${a}.${p}" already exists in the schema. It cannot also be defined in this type extension.`,{nodes:l.name})):c[p]?e.reportError(new De(`Field "${a}.${p}" can only be defined once.`,{nodes:[c[p],l.name]})):c[p]=l.name}return!1}}function bP(e,t){return Xe(e)||dt(e)||At(e)?e.getFields()[t]!=null:!1}function SP(e){const t=Object.create(null);return{OperationDefinition:()=>!1,FragmentDefinition(r){const n=r.name.value;return t[n]?e.reportError(new De(`There can be only one fragment named "${n}".`,{nodes:[t[n],r.name]})):t[n]=r.name,!1}}}function K5(e){const t=[];let r=Object.create(null);return{ObjectValue:{enter(){t.push(r),r=Object.create(null)},leave(){const n=t.pop();n||Wr(!1),r=n}},ObjectField(n){const u=n.name.value;r[u]?e.reportError(new De(`There can be only one input field named "${u}".`,{nodes:[r[u],n.name]})):r[u]=n.name}}}function wP(e){const t=Object.create(null);return{OperationDefinition(r){const n=r.name;return n&&(t[n.value]?e.reportError(new De(`There can be only one operation named "${n.value}".`,{nodes:[t[n.value],n]})):t[n.value]=n),!1},FragmentDefinition:()=>!1}}function _P(e){const t=e.getSchema(),r=Object.create(null),n=t?{query:t.getQueryType(),mutation:t.getMutationType(),subscription:t.getSubscriptionType()}:{};return{SchemaDefinition:u,SchemaExtension:u};function u(s){var o;const a=(o=s.operationTypes)!==null&&o!==void 0?o:[];for(const i of a){const c=i.operation,l=r[c];n[c]?e.reportError(new De(`Type for ${c} already defined in the schema. It cannot be redefined.`,{nodes:i})):l?e.reportError(new De(`There can be only one ${c} type in schema.`,{nodes:[l,i]})):r[c]=i}return!1}}function BP(e){const t=Object.create(null),r=e.getSchema();return{ScalarTypeDefinition:n,ObjectTypeDefinition:n,InterfaceTypeDefinition:n,UnionTypeDefinition:n,EnumTypeDefinition:n,InputObjectTypeDefinition:n};function n(u){const s=u.name.value;if(r!=null&&r.getType(s)){e.reportError(new De(`Type "${s}" already exists in the schema. It cannot also be defined in this type definition.`,{nodes:u.name}));return}return t[s]?e.reportError(new De(`There can be only one type named "${s}".`,{nodes:[t[s],u.name]})):t[s]=u.name,!1}}function TP(e){return{OperationDefinition(t){var r;const n=(r=t.variableDefinitions)!==null&&r!==void 0?r:[],u=hm(n,s=>s.variable.name.value);for(const[s,o]of u)o.length>1&&e.reportError(new De(`There can be only one variable named "$${s}".`,{nodes:o.map(a=>a.variable.name)}))}}}function $P(e){return{ListValue(t){const r=nm(e.getParentInputType());if(!qt(r))return Ss(e,t),!1},ObjectValue(t){const r=xr(e.getInputType());if(!At(r))return Ss(e,t),!1;const n=zs(t.fields,u=>u.name.value);for(const u of Object.values(r.getFields()))if(!n[u.name]&&y5(u)){const o=Ae(u.type);e.reportError(new De(`Field "${r.name}.${u.name}" of required type "${o}" was not provided.`,{nodes:t}))}},ObjectField(t){const r=xr(e.getParentInputType());if(!e.getInputType()&&At(r)){const u=ls(t.name.value,Object.keys(r.getFields()));e.reportError(new De(`Field "${t.name.value}" is not defined by type "${r.name}".`+wu(u),{nodes:t}))}},NullValue(t){const r=e.getInputType();nt(r)&&e.reportError(new De(`Expected value of type "${Ae(r)}", found ${Wt(t)}.`,{nodes:t}))},EnumValue:t=>Ss(e,t),IntValue:t=>Ss(e,t),FloatValue:t=>Ss(e,t),StringValue:t=>Ss(e,t),BooleanValue:t=>Ss(e,t)}}function Ss(e,t){const r=e.getInputType();if(!r)return;const n=xr(r);if(!on(n)){const u=Ae(r);e.reportError(new De(`Expected value of type "${u}", found ${Wt(t)}.`,{nodes:t}));return}try{if(n.parseLiteral(t,void 0)===void 0){const s=Ae(r);e.reportError(new De(`Expected value of type "${s}", found ${Wt(t)}.`,{nodes:t}))}}catch(u){const s=Ae(r);u instanceof De?e.reportError(u):e.reportError(new De(`Expected value of type "${s}", found ${Wt(t)}; `+u.message,{nodes:t,originalError:u}))}}function PP(e){return{VariableDefinition(t){const r=Jr(e.getSchema(),t.type);if(r!==void 0&&!Sn(r)){const n=t.variable.name.value,u=Wt(t.type);e.reportError(new De(`Variable "$${n}" cannot be non-input type "${u}".`,{nodes:t.type}))}}}}function kP(e){let t=Object.create(null);return{OperationDefinition:{enter(){t=Object.create(null)},leave(r){const n=e.getRecursiveVariableUsages(r);for(const{node:u,type:s,defaultValue:o}of n){const a=u.name.value,i=t[a];if(i&&s){const c=e.getSchema(),l=Jr(c,i.type);if(l&&!OP(c,l,i.defaultValue,s,o)){const p=Ae(l),d=Ae(s);e.reportError(new De(`Variable "$${a}" of type "${p}" used in position expecting type "${d}".`,{nodes:[i,u]}))}}}}},VariableDefinition(r){t[r.variable.name.value]=r}}}function OP(e,t,r,n,u){if(nt(n)&&!nt(t)){if(!(r!=null&&r.kind!==j.NULL)&&!(u!==void 0))return!1;const a=n.ofType;return na(e,t,a)}return na(e,t,n)}const IP=Object.freeze([N$,wP,H$,vP,R5,j$,PP,dP,q$,SP,G$,K$,uP,J$,TP,z$,X$,x5,z5,M$,J5,$P,lP,kP,Z$,K5]),NP=Object.freeze([W$,_P,BP,FP,CP,gP,AP,R5,x5,z5,oP,q5,J5,K5,U5]);class X5{constructor(t,r){this._ast=t,this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=r}get[Symbol.toStringTag](){return"ASTValidationContext"}reportError(t){this._onError(t)}getDocument(){return this._ast}getFragment(t){let r;if(this._fragments)r=this._fragments;else{r=Object.create(null);for(const n of this.getDocument().definitions)n.kind===j.FRAGMENT_DEFINITION&&(r[n.name.value]=n);this._fragments=r}return r[t]}getFragmentSpreads(t){let r=this._fragmentSpreads.get(t);if(!r){r=[];const n=[t];let u;for(;u=n.pop();)for(const s of u.selections)s.kind===j.FRAGMENT_SPREAD?r.push(s):s.selectionSet&&n.push(s.selectionSet);this._fragmentSpreads.set(t,r)}return r}getRecursivelyReferencedFragments(t){let r=this._recursivelyReferencedFragments.get(t);if(!r){r=[];const n=Object.create(null),u=[t.selectionSet];let s;for(;s=u.pop();)for(const o of this.getFragmentSpreads(s)){const a=o.name.value;if(n[a]!==!0){n[a]=!0;const i=this.getFragment(a);i&&(r.push(i),u.push(i.selectionSet))}}this._recursivelyReferencedFragments.set(t,r)}return r}}class qP extends X5{constructor(t,r,n){super(t,n),this._schema=r}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}}class xP extends X5{constructor(t,r,n,u){super(r,u),this._schema=t,this._typeInfo=n,this._variableUsages=new Map,this._recursiveVariableUsages=new Map}get[Symbol.toStringTag](){return"ValidationContext"}getSchema(){return this._schema}getVariableUsages(t){let r=this._variableUsages.get(t);if(!r){const n=[],u=new P5(this._schema);Wi(t,k5(u,{VariableDefinition:()=>!1,Variable(s){n.push({node:s,type:u.getInputType(),defaultValue:u.getDefaultValue()})}})),r=n,this._variableUsages.set(t,r)}return r}getRecursiveVariableUsages(t){let r=this._recursiveVariableUsages.get(t);if(!r){r=this.getVariableUsages(t);for(const n of this.getRecursivelyReferencedFragments(t))r=r.concat(this.getVariableUsages(n));this._recursiveVariableUsages.set(t,r)}return r}getType(){return this._typeInfo.getType()}getParentType(){return this._typeInfo.getParentType()}getInputType(){return this._typeInfo.getInputType()}getParentInputType(){return this._typeInfo.getParentInputType()}getFieldDef(){return this._typeInfo.getFieldDef()}getDirective(){return this._typeInfo.getDirective()}getArgument(){return this._typeInfo.getArgument()}getEnumValue(){return this._typeInfo.getEnumValue()}}function RP(e,t,r=IP,n,u=new P5(e)){var s;const o=(s=void 0)!==null&&s!==void 0?s:100;t||it(!1,"Must provide document."),$5(e);const a=Object.freeze({}),i=[],c=new xP(e,t,u,p=>{if(i.length>=o)throw i.push(new De("Too many validation errors, error limit reached. Validation aborted.")),a;i.push(p)}),l=l5(r.map(p=>p(c)));try{Wi(t,k5(u,l))}catch(p){if(p!==a)throw p}return i}function jP(e,t,r=NP){const n=[],u=new qP(e,t,o=>{n.push(o)}),s=r.map(o=>o(u));return Wi(e,l5(s)),n}function MP(e){const t=jP(e);if(t.length!==0)throw new Error(t.map(r=>r.message).join(` -`))}function jP(e){let t;return function(n,u,s){t===void 0&&(t=new WeakMap);let o=t.get(n);o===void 0&&(o=new WeakMap,t.set(n,o));let a=o.get(u);a===void 0&&(a=new WeakMap,o.set(u,a));let i=a.get(s);return i===void 0&&(i=e(n,u,s),a.set(s,i)),i}}function MP(e){return Promise.all(Object.values(e)).then(t=>{const r=Object.create(null);for(const[n,u]of Object.keys(e).entries())r[u]=t[n];return r})}function LP(e,t,r){let n=r;for(const u of e)n=sn(n)?n.then(s=>t(s,u)):t(n,u);return n}function UP(e){return e instanceof Error?e:new GP(e)}class GP extends Error{constructor(t){super("Unexpected error value: "+Ae(t)),this.name="NonErrorThrown",this.thrownValue=t}}function Ql(e,t,r){var n;const u=UP(e);return VP(u)?u:new De(u.message,{nodes:(n=u.nodes)!==null&&n!==void 0?n:t,source:u.source,positions:u.positions,path:r,originalError:u})}function VP(e){return Array.isArray(e.path)}const HP=jP((e,t,r)=>hP(e.schema,e.fragments,e.variableValues,t,r));function WP(e){arguments.length<2||it(!1,"graphql@16 dropped long-deprecated support for positional arguments, please pass an object instead.");const{schema:t,document:r,variableValues:n,rootValue:u}=e;JP(t,r,n);const s=zP(e);if(!("schema"in s))return{errors:s};try{const{operation:o}=s,a=KP(s,o,u);return sn(a)?a.then(i=>Lc(i,s.errors),i=>(s.errors.push(i),Lc(null,s.errors))):Lc(a,s.errors)}catch(o){return s.errors.push(o),Lc(null,s.errors)}}function Lc(e,t){return t.length===0?{data:e}:{errors:t,data:e}}function JP(e,t,r){t||it(!1,"Must provide document."),B5(e),r==null||Pn(r)||it(!1,"Variables must be provided as an Object where each property is a variable value. Perhaps look to see if an unparsed JSON string was provided.")}function zP(e){var t,r;const{schema:n,document:u,rootValue:s,contextValue:o,variableValues:a,operationName:i,fieldResolver:c,typeResolver:l,subscribeFieldResolver:p}=e;let d;const f=Object.create(null);for(const A of u.definitions)switch(A.kind){case j.OPERATION_DEFINITION:if(i==null){if(d!==void 0)return[new De("Must provide operation name if query contains multiple operations.")];d=A}else((t=A.name)===null||t===void 0?void 0:t.value)===i&&(d=A);break;case j.FRAGMENT_DEFINITION:f[A.name.value]=A;break}if(!d)return i!=null?[new De(`Unknown operation named "${i}".`)]:[new De("Must provide an operation.")];const h=(r=d.variableDefinitions)!==null&&r!==void 0?r:[],y=fP(n,h,a??{},{maxErrors:50});return y.errors?y.errors:{schema:n,fragments:f,rootValue:s,contextValue:o,operation:d,variableValues:y.coerced,fieldResolver:c??Ry,typeResolver:l??tk,subscribeFieldResolver:p??Ry,errors:[]}}function KP(e,t,r){const n=e.schema.getRootType(t.operation);if(n==null)throw new De(`Schema is not configured to execute ${t.operation} operation.`,{nodes:t});const u=V5(e.schema,e.fragments,e.variableValues,n,t.selectionSet),s=void 0;switch(t.operation){case nr.QUERY:return ep(e,n,r,s,u);case nr.MUTATION:return XP(e,n,r,s,u);case nr.SUBSCRIPTION:return ep(e,n,r,s,u)}}function XP(e,t,r,n,u){return LP(u.entries(),(s,[o,a])=>{const i=Pi(n,o,t.name),c=K5(e,t,r,a,i);return c===void 0?s:sn(c)?c.then(l=>(s[o]=l,s)):(s[o]=c,s)},Object.create(null))}function ep(e,t,r,n,u){const s=Object.create(null);let o=!1;for(const[a,i]of u.entries()){const c=Pi(n,a,t.name),l=K5(e,t,r,i,c);l!==void 0&&(s[a]=l,sn(l)&&(o=!0))}return o?MP(s):s}function K5(e,t,r,n,u){var s;const o=rk(e.schema,t,n[0]);if(!o)return;const a=o.type,i=(s=o.resolve)!==null&&s!==void 0?s:e.fieldResolver,c=YP(e,o,n,t,u);try{const l=U5(o,n[0],e.variableValues),p=e.contextValue,d=i(r,l,p,c);let f;return sn(d)?f=d.then(h=>ki(e,a,n,c,u,h)):f=ki(e,a,n,c,u,d),sn(f)?f.then(void 0,h=>{const y=Ql(h,n,Cn(u));return tp(y,a,e)}):f}catch(l){const p=Ql(l,n,Cn(u));return tp(p,a,e)}}function YP(e,t,r,n,u){return{fieldName:t.name,fieldNodes:r,returnType:t.type,parentType:n,path:u,schema:e.schema,fragments:e.fragments,rootValue:e.rootValue,operation:e.operation,variableValues:e.variableValues}}function tp(e,t,r){if(nt(t))throw e;return r.errors.push(e),null}function ki(e,t,r,n,u,s){if(s instanceof Error)throw s;if(nt(t)){const o=ki(e,t.ofType,r,n,u,s);if(o===null)throw new Error(`Cannot return null for non-nullable field ${n.parentType.name}.${n.fieldName}.`);return o}if(s==null)return null;if(qt(t))return ZP(e,t,r,n,u,s);if(on(t))return QP(t,s);if(ts(t))return ek(e,t,r,n,u,s);if(Xe(t))return q2(e,t,r,n,u,s);Wr(!1,"Cannot complete value of unexpected output type: "+Ae(t))}function ZP(e,t,r,n,u,s){if(!um(s))throw new De(`Expected Iterable, but did not find one for field "${n.parentType.name}.${n.fieldName}".`);const o=t.ofType;let a=!1;const i=Array.from(s,(c,l)=>{const p=Pi(u,l,void 0);try{let d;return sn(c)?d=c.then(f=>ki(e,o,r,n,p,f)):d=ki(e,o,r,n,p,c),sn(d)?(a=!0,d.then(void 0,f=>{const h=Ql(f,r,Cn(p));return tp(h,o,e)})):d}catch(d){const f=Ql(d,r,Cn(p));return tp(f,o,e)}});return a?Promise.all(i):i}function QP(e,t){const r=e.serialize(t);if(r==null)throw new Error(`Expected \`${Ae(e)}.serialize(${Ae(t)})\` to return non-nullable value, returned: ${Ae(r)}`);return r}function ek(e,t,r,n,u,s){var o;const a=(o=t.resolveType)!==null&&o!==void 0?o:e.typeResolver,i=e.contextValue,c=a(s,i,n,t);return sn(c)?c.then(l=>q2(e,qy(l,e,t,r,n,s),r,n,u,s)):q2(e,qy(c,e,t,r,n,s),r,n,u,s)}function qy(e,t,r,n,u,s){if(e==null)throw new De(`Abstract type "${r.name}" must resolve to an Object type at runtime for field "${u.parentType.name}.${u.fieldName}". Either the "${r.name}" type should provide a "resolveType" function or each possible type should provide an "isTypeOf" function.`,n);if(Xe(e))throw new De("Support for returning GraphQLObjectType from resolveType was removed in graphql-js@16.0.0 please return type name instead.");if(typeof e!="string")throw new De(`Abstract type "${r.name}" must resolve to an Object type at runtime for field "${u.parentType.name}.${u.fieldName}" with value ${Ae(s)}, received "${Ae(e)}".`);const o=t.schema.getType(e);if(o==null)throw new De(`Abstract type "${r.name}" was resolved to a type "${e}" that does not exist inside the schema.`,{nodes:n});if(!Xe(o))throw new De(`Abstract type "${r.name}" was resolved to a non-object type "${e}".`,{nodes:n});if(!t.schema.isSubType(r,o))throw new De(`Runtime Object type "${o.name}" is not a possible type for "${r.name}".`,{nodes:n});return o}function q2(e,t,r,n,u,s){const o=HP(e,t,r);if(t.isTypeOf){const a=t.isTypeOf(s,e.contextValue,n);if(sn(a))return a.then(i=>{if(!i)throw xy(t,s,r);return ep(e,t,s,u,o)});if(!a)throw xy(t,s,r)}return ep(e,t,s,u,o)}function xy(e,t,r){return new De(`Expected value of type "${e.name}" but got: ${Ae(t)}.`,{nodes:r})}const tk=function(e,t,r,n){if(Pn(e)&&typeof e.__typename=="string")return e.__typename;const u=r.schema.getPossibleTypes(n),s=[];for(let o=0;o{for(let a=0;at(X5(e)))}function uk(e){const t=X5(e);if(sn(t))throw new Error("GraphQL execution failed to complete synchronously.");return t}function X5(e){arguments.length<2||it(!1,"graphql@16 dropped long-deprecated support for positional arguments, please pass an object instead.");const{schema:t,source:r,rootValue:n,contextValue:u,variableValues:s,operationName:o,fieldResolver:a,typeResolver:i}=e,c=_5(t);if(c.length>0)return{errors:c};let l;try{l=Yh(r)}catch(d){return{errors:[d]}}const p=qP(t,l);return p.length>0?{errors:p}:WP({schema:t,document:l,rootValue:n,contextValue:u,variableValues:s,operationName:o,fieldResolver:a,typeResolver:i})}function sk(e,t,r){var n,u,s,o;const a=[],i=Object.create(null),c=[];let l;const p=[];for(const E of t.definitions)if(E.kind===j.SCHEMA_DEFINITION)l=E;else if(E.kind===j.SCHEMA_EXTENSION)p.push(E);else if(Xi(E))a.push(E);else if(pm(E)){const F=E.name.value,D=i[F];i[F]=D?D.concat([E]):[E]}else E.kind===j.DIRECTIVE_DEFINITION&&c.push(E);if(Object.keys(i).length===0&&a.length===0&&c.length===0&&p.length===0&&l==null)return e;const d=Object.create(null);for(const E of e.types)d[E.name]=v(E);for(const E of a){var f;const F=E.name.value;d[F]=(f=jy[F])!==null&&f!==void 0?f:O(E)}const h={query:e.query&&A(e.query),mutation:e.mutation&&A(e.mutation),subscription:e.subscription&&A(e.subscription),...l&&ee([l]),...ee(p)};return{description:(n=l)===null||n===void 0||(u=n.description)===null||u===void 0?void 0:u.value,...h,types:Object.values(d),directives:[...e.directives.map(m),...c.map(oe)],extensions:Object.create(null),astNode:(s=l)!==null&&s!==void 0?s:e.astNode,extensionASTNodes:e.extensionASTNodes.concat(p),assumeValid:(o=r==null?void 0:r.assumeValid)!==null&&o!==void 0?o:!1};function y(E){return qt(E)?new Dr(y(E.ofType)):nt(E)?new Qe(y(E.ofType)):A(E)}function A(E){return d[E.name]}function m(E){const F=E.toConfig();return new cs({...F,args:yu(F.args,G)})}function v(E){if(am(E)||zi(E))return E;if(zr(E))return T(E);if(Xe(E))return N(E);if(dt(E))return R(E);if(or(E))return J(E);if(Kt(E))return B(E);if(At(E))return C(E);Wr(!1,"Unexpected type: "+Ae(E))}function C(E){var F;const D=E.toConfig(),g=(F=i[D.name])!==null&&F!==void 0?F:[];return new Ks({...D,fields:()=>({...yu(D.fields,P=>({...P,type:y(P.type)})),...fe(g)}),extensionASTNodes:D.extensionASTNodes.concat(g)})}function B(E){var F;const D=E.toConfig(),g=(F=i[E.name])!==null&&F!==void 0?F:[];return new tu({...D,values:{...D.values,...ge(g)},extensionASTNodes:D.extensionASTNodes.concat(g)})}function T(E){var F;const D=E.toConfig(),g=(F=i[D.name])!==null&&F!==void 0?F:[];let P=D.specifiedByURL;for(const w of g){var b;P=(b=My(w))!==null&&b!==void 0?b:P}return new eu({...D,specifiedByURL:P,extensionASTNodes:D.extensionASTNodes.concat(g)})}function N(E){var F;const D=E.toConfig(),g=(F=i[D.name])!==null&&F!==void 0?F:[];return new jr({...D,interfaces:()=>[...E.getInterfaces().map(A),...pe(g)],fields:()=>({...yu(D.fields,q),...de(g)}),extensionASTNodes:D.extensionASTNodes.concat(g)})}function R(E){var F;const D=E.toConfig(),g=(F=i[D.name])!==null&&F!==void 0?F:[];return new is({...D,interfaces:()=>[...E.getInterfaces().map(A),...pe(g)],fields:()=>({...yu(D.fields,q),...de(g)}),extensionASTNodes:D.extensionASTNodes.concat(g)})}function J(E){var F;const D=E.toConfig(),g=(F=i[D.name])!==null&&F!==void 0?F:[];return new $i({...D,types:()=>[...E.getTypes().map(A),...z(g)],extensionASTNodes:D.extensionASTNodes.concat(g)})}function q(E){return{...E,type:y(E.type),args:E.args&&yu(E.args,G)}}function G(E){return{...E,type:y(E.type)}}function ee(E){const F={};for(const g of E){var D;const P=(D=g.operationTypes)!==null&&D!==void 0?D:[];for(const b of P)F[b.operation]=K(b.type)}return F}function K(E){var F;const D=E.name.value,g=(F=jy[D])!==null&&F!==void 0?F:d[D];if(g===void 0)throw new Error(`Unknown type: "${D}".`);return g}function ue(E){return E.kind===j.LIST_TYPE?new Dr(ue(E.type)):E.kind===j.NON_NULL_TYPE?new Qe(ue(E.type)):K(E)}function oe(E){var F;return new cs({name:E.name.value,description:(F=E.description)===null||F===void 0?void 0:F.value,locations:E.locations.map(({value:D})=>D),isRepeatable:E.repeatable,args:he(E.arguments),astNode:E})}function de(E){const F=Object.create(null);for(const P of E){var D;const b=(D=P.fields)!==null&&D!==void 0?D:[];for(const w of b){var g;F[w.name.value]={type:ue(w.type),description:(g=w.description)===null||g===void 0?void 0:g.value,args:he(w.arguments),deprecationReason:Uc(w),astNode:w}}}return F}function he(E){const F=E??[],D=Object.create(null);for(const P of F){var g;const b=ue(P.type);D[P.name.value]={type:b,description:(g=P.description)===null||g===void 0?void 0:g.value,defaultValue:Yu(P.defaultValue,b),deprecationReason:Uc(P),astNode:P}}return D}function fe(E){const F=Object.create(null);for(const P of E){var D;const b=(D=P.fields)!==null&&D!==void 0?D:[];for(const w of b){var g;const I=ue(w.type);F[w.name.value]={type:I,description:(g=w.description)===null||g===void 0?void 0:g.value,defaultValue:Yu(w.defaultValue,I),deprecationReason:Uc(w),astNode:w}}}return F}function ge(E){const F=Object.create(null);for(const P of E){var D;const b=(D=P.values)!==null&&D!==void 0?D:[];for(const w of b){var g;F[w.name.value]={description:(g=w.description)===null||g===void 0?void 0:g.value,deprecationReason:Uc(w),astNode:w}}}return F}function pe(E){return E.flatMap(F=>{var D,g;return(D=(g=F.interfaces)===null||g===void 0?void 0:g.map(K))!==null&&D!==void 0?D:[]})}function z(E){return E.flatMap(F=>{var D,g;return(D=(g=F.types)===null||g===void 0?void 0:g.map(K))!==null&&D!==void 0?D:[]})}function O(E){var F;const D=E.name.value,g=(F=i[D])!==null&&F!==void 0?F:[];switch(E.kind){case j.OBJECT_TYPE_DEFINITION:{var P;const L=[E,...g];return new jr({name:D,description:(P=E.description)===null||P===void 0?void 0:P.value,interfaces:()=>pe(L),fields:()=>de(L),astNode:E,extensionASTNodes:g})}case j.INTERFACE_TYPE_DEFINITION:{var b;const L=[E,...g];return new is({name:D,description:(b=E.description)===null||b===void 0?void 0:b.value,interfaces:()=>pe(L),fields:()=>de(L),astNode:E,extensionASTNodes:g})}case j.ENUM_TYPE_DEFINITION:{var w;const L=[E,...g];return new tu({name:D,description:(w=E.description)===null||w===void 0?void 0:w.value,values:ge(L),astNode:E,extensionASTNodes:g})}case j.UNION_TYPE_DEFINITION:{var I;const L=[E,...g];return new $i({name:D,description:(I=E.description)===null||I===void 0?void 0:I.value,types:()=>z(L),astNode:E,extensionASTNodes:g})}case j.SCALAR_TYPE_DEFINITION:{var $;return new eu({name:D,description:($=E.description)===null||$===void 0?void 0:$.value,specifiedByURL:My(E),astNode:E,extensionASTNodes:g})}case j.INPUT_OBJECT_TYPE_DEFINITION:{var M;const L=[E,...g];return new Ks({name:D,description:(M=E.description)===null||M===void 0?void 0:M.value,fields:()=>fe(L),astNode:E,extensionASTNodes:g})}}}}const jy=zs([...nm,...om],e=>e.name);function Uc(e){const t=Yl(xp,e);return t==null?void 0:t.reason}function My(e){const t=Yl(g5,e);return t==null?void 0:t.url}function Y5(e,t){e!=null&&e.kind===j.DOCUMENT||it(!1,"Must provide valid Document AST."),(t==null?void 0:t.assumeValid)!==!0&&(t==null?void 0:t.assumeValidSDL)!==!0&&RP(e);const n=sk({description:void 0,types:[],directives:[],extensions:Object.create(null),extensionASTNodes:[],assumeValid:!1},e,t);if(n.astNode==null)for(const s of n.types)switch(s.name){case"Query":n.query=s;break;case"Mutation":n.mutation=s;break;case"Subscription":n.subscription=s;break}const u=[...n.directives,...no.filter(s=>n.directives.every(o=>o.name!==s.name))];return new cm({...n,directives:u})}function ok(e,t){const r=Yh(e,{noLocation:t==null?void 0:t.noLocation,allowLegacyFragmentVariables:t==null?void 0:t.allowLegacyFragmentVariables});return Y5(r,{assumeValidSDL:t==null?void 0:t.assumeValidSDL,assumeValid:t==null?void 0:t.assumeValid})}const Z5=e=>Array.isArray(e)?e:e?[e]:[];function ak(e,t){return String(e)String(t)?1:0}function Ly(e){var t,r;let n;return"alias"in e&&(n=(t=e.alias)===null||t===void 0?void 0:t.value),n==null&&"name"in e&&(n=(r=e.name)===null||r===void 0?void 0:r.value),n==null&&(n=e.kind),n}function jp(e,t,r){const n=Ly(e),u=Ly(t);return typeof r=="function"?r(n,u):ak(n,u)}function Mp(e){return e!=null}function ik(e){return"errors"in e&&Array.isArray(e.errors)}const Q5=3;function ck(e){return Lp(e,[])}function Lp(e,t){switch(typeof e){case"string":return JSON.stringify(e);case"function":return e.name?`[function ${e.name}]`:"[function]";case"object":return lk(e,t);default:return String(e)}}function Uy(e){return e instanceof De?e.toString():`${e.name}: ${e.message}; - ${e.stack}`}function lk(e,t){if(e===null)return"null";if(e instanceof Error)return ik(e)?Uy(e)+` -`+Gy(e.errors,t):Uy(e);if(t.includes(e))return"[Circular]";const r=[...t,e];if(pk(e)){const n=e.toJSON();if(n!==e)return typeof n=="string"?n:Lp(n,r)}else if(Array.isArray(e))return Gy(e,r);return dk(e,r)}function pk(e){return typeof e.toJSON=="function"}function dk(e,t){const r=Object.entries(e);return r.length===0?"{}":t.length>Q5?"["+fk(e)+"]":"{ "+r.map(([u,s])=>u+": "+Lp(s,t)).join(", ")+" }"}function Gy(e,t){if(e.length===0)return"[]";if(t.length>Q5)return"[Array]";const r=e.length,n=[];for(let u=0;ur==null?r:r[n],e==null?void 0:e.extensions)}function _u(e){if(nt(e)){const t=_u(e.ofType);if(t.kind===j.NON_NULL_TYPE)throw new Error(`Invalid type node ${ck(e)}. Inner type of non-null type cannot be a non-null type.`);return{kind:j.NON_NULL_TYPE,type:t}}else if(qt(e))return{kind:j.LIST_TYPE,type:_u(e.ofType)};return{kind:j.NAMED_TYPE,name:{kind:j.NAME,value:e.name}}}function x2(e){if(e===null)return{kind:j.NULL};if(e===void 0)return null;if(Array.isArray(e)){const t=[];for(const r of e){const n=x2(r);n!=null&&t.push(n)}return{kind:j.LIST,values:t}}if(typeof e=="object"){const t=[];for(const r in e){const n=e[r],u=x2(n);u&&t.push({kind:j.OBJECT_FIELD,name:{kind:j.NAME,value:r},value:u})}return{kind:j.OBJECT,fields:t}}if(typeof e=="boolean")return{kind:j.BOOLEAN,value:e};if(typeof e=="number"&&isFinite(e)){const t=String(e);return Dk.test(t)?{kind:j.INT,value:t}:{kind:j.FLOAT,value:t}}if(typeof e=="string")return{kind:j.STRING,value:e};throw new TypeError(`Cannot convert value to AST: ${e}.`)}const Dk=/^-?(?:0|[1-9][0-9]*)$/;function hk(e){const t=new WeakMap;return function(n){const u=t.get(n);if(u===void 0){const s=e(n);return t.set(n,s),s}return u}}const mk=hk(function(t){const r=new Map,n=t.getQueryType();n&&r.set("query",n);const u=t.getMutationType();u&&r.set("mutation",u);const s=t.getSubscriptionType();return s&&r.set("subscription",s),r});function Ek(e,t={}){const r=t.pathToDirectivesInExtensions,n=e.getTypeMap(),u=yk(e,r),s=u!=null?[u]:[],o=e.getDirectives();for(const a of o)A5(a)||s.push(vk(a,e,r));for(const a in n){const i=n[a],c=zi(i),l=am(i);if(!(c||l))if(Xe(i))s.push(gk(i,e,r));else if(dt(i))s.push(Ak(i,e,r));else if(or(i))s.push(Fk(i,e,r));else if(At(i))s.push(Ck(i,e,r));else if(Kt(i))s.push(bk(i,e,r));else if(zr(i))s.push(Sk(i,e,r));else throw new Error(`Unknown type ${i}.`)}return{kind:j.DOCUMENT,definitions:s}}function yk(e,t){var r,n;const u=new Map([["query",void 0],["mutation",void 0],["subscription",void 0]]),s=[];if(e.astNode!=null&&s.push(e.astNode),e.extensionASTNodes!=null)for(const l of e.extensionASTNodes)s.push(l);for(const l of s)if(l.operationTypes)for(const p of l.operationTypes)u.set(p.operation,p);const o=mk(e);for(const[l,p]of u){const d=o.get(l);if(d!=null){const f=_u(d);p!=null?p.type=f:u.set(l,{kind:j.OPERATION_TYPE_DEFINITION,operation:l,type:f})}}const a=[...u.values()].filter(Mp),i=Sa(e,e,t);if(!a.length&&!i.length)return null;const c={kind:a!=null?j.SCHEMA_DEFINITION:j.SCHEMA_EXTENSION,operationTypes:a,directives:i};return c.description=((n=(r=e.astNode)===null||r===void 0?void 0:r.description)!==null&&n!==void 0?n:e.description!=null)?{kind:j.STRING,value:e.description,block:!0}:void 0,c}function vk(e,t,r){var n,u,s,o;return{kind:j.DIRECTIVE_DEFINITION,description:(u=(n=e.astNode)===null||n===void 0?void 0:n.description)!==null&&u!==void 0?u:e.description?{kind:j.STRING,value:e.description}:void 0,name:{kind:j.NAME,value:e.name},arguments:(s=e.args)===null||s===void 0?void 0:s.map(a=>e6(a,t,r)),repeatable:e.isRepeatable,locations:((o=e.locations)===null||o===void 0?void 0:o.map(a=>({kind:j.NAME,value:a})))||[]}}function Sa(e,t,r){const n=hm(e,r);let u=[];e.astNode!=null&&u.push(e.astNode),"extensionASTNodes"in e&&e.extensionASTNodes!=null&&(u=u.concat(e.extensionASTNodes));let s;if(n!=null)s=mm(t,n);else{s=[];for(const o of u)o.directives&&s.push(...o.directives)}return s}function Up(e,t,r){var n,u;let s=[],o=null;const a=hm(e,r);let i;return a!=null?i=mm(t,a):i=(n=e.astNode)===null||n===void 0?void 0:n.directives,i!=null&&(s=i.filter(c=>c.name.value!=="deprecated"),e.deprecationReason!=null&&(o=(u=i.filter(c=>c.name.value==="deprecated"))===null||u===void 0?void 0:u[0])),e.deprecationReason!=null&&o==null&&(o=Bk(e.deprecationReason)),o==null?s:[o].concat(s)}function e6(e,t,r){var n,u,s;return{kind:j.INPUT_VALUE_DEFINITION,description:(u=(n=e.astNode)===null||n===void 0?void 0:n.description)!==null&&u!==void 0?u:e.description?{kind:j.STRING,value:e.description,block:!0}:void 0,name:{kind:j.NAME,value:e.name},type:_u(e.type),defaultValue:e.defaultValue!==void 0&&(s=Xu(e.defaultValue,e.type))!==null&&s!==void 0?s:void 0,directives:Up(e,t,r)}}function gk(e,t,r){var n,u;return{kind:j.OBJECT_TYPE_DEFINITION,description:(u=(n=e.astNode)===null||n===void 0?void 0:n.description)!==null&&u!==void 0?u:e.description?{kind:j.STRING,value:e.description,block:!0}:void 0,name:{kind:j.NAME,value:e.name},fields:Object.values(e.getFields()).map(s=>t6(s,t,r)),interfaces:Object.values(e.getInterfaces()).map(s=>_u(s)),directives:Sa(e,t,r)}}function Ak(e,t,r){var n,u;const s={kind:j.INTERFACE_TYPE_DEFINITION,description:(u=(n=e.astNode)===null||n===void 0?void 0:n.description)!==null&&u!==void 0?u:e.description?{kind:j.STRING,value:e.description,block:!0}:void 0,name:{kind:j.NAME,value:e.name},fields:Object.values(e.getFields()).map(o=>t6(o,t,r)),directives:Sa(e,t,r)};return"getInterfaces"in e&&(s.interfaces=Object.values(e.getInterfaces()).map(o=>_u(o))),s}function Fk(e,t,r){var n,u;return{kind:j.UNION_TYPE_DEFINITION,description:(u=(n=e.astNode)===null||n===void 0?void 0:n.description)!==null&&u!==void 0?u:e.description?{kind:j.STRING,value:e.description,block:!0}:void 0,name:{kind:j.NAME,value:e.name},directives:Sa(e,t,r),types:e.getTypes().map(s=>_u(s))}}function Ck(e,t,r){var n,u;return{kind:j.INPUT_OBJECT_TYPE_DEFINITION,description:(u=(n=e.astNode)===null||n===void 0?void 0:n.description)!==null&&u!==void 0?u:e.description?{kind:j.STRING,value:e.description,block:!0}:void 0,name:{kind:j.NAME,value:e.name},fields:Object.values(e.getFields()).map(s=>wk(s,t,r)),directives:Sa(e,t,r)}}function bk(e,t,r){var n,u;return{kind:j.ENUM_TYPE_DEFINITION,description:(u=(n=e.astNode)===null||n===void 0?void 0:n.description)!==null&&u!==void 0?u:e.description?{kind:j.STRING,value:e.description,block:!0}:void 0,name:{kind:j.NAME,value:e.name},values:Object.values(e.getValues()).map(s=>_k(s,t,r)),directives:Sa(e,t,r)}}function Sk(e,t,r){var n,u,s;const o=hm(e,r),a=o?mm(t,o):((n=e.astNode)===null||n===void 0?void 0:n.directives)||[],i=e.specifiedByUrl||e.specifiedByURL;if(i&&!a.some(c=>c.name.value==="specifiedBy")){const c={url:i};a.push(rp("specifiedBy",c))}return{kind:j.SCALAR_TYPE_DEFINITION,description:(s=(u=e.astNode)===null||u===void 0?void 0:u.description)!==null&&s!==void 0?s:e.description?{kind:j.STRING,value:e.description,block:!0}:void 0,name:{kind:j.NAME,value:e.name},directives:a}}function t6(e,t,r){var n,u;return{kind:j.FIELD_DEFINITION,description:(u=(n=e.astNode)===null||n===void 0?void 0:n.description)!==null&&u!==void 0?u:e.description?{kind:j.STRING,value:e.description,block:!0}:void 0,name:{kind:j.NAME,value:e.name},arguments:e.args.map(s=>e6(s,t,r)),type:_u(e.type),directives:Up(e,t,r)}}function wk(e,t,r){var n,u,s;return{kind:j.INPUT_VALUE_DEFINITION,description:(u=(n=e.astNode)===null||n===void 0?void 0:n.description)!==null&&u!==void 0?u:e.description?{kind:j.STRING,value:e.description,block:!0}:void 0,name:{kind:j.NAME,value:e.name},type:_u(e.type),directives:Up(e,t,r),defaultValue:(s=Xu(e.defaultValue,e.type))!==null&&s!==void 0?s:void 0}}function _k(e,t,r){var n,u;return{kind:j.ENUM_VALUE_DEFINITION,description:(u=(n=e.astNode)===null||n===void 0?void 0:n.description)!==null&&u!==void 0?u:e.description?{kind:j.STRING,value:e.description,block:!0}:void 0,name:{kind:j.NAME,value:e.name},directives:Up(e,t,r)}}function Bk(e){return rp("deprecated",{reason:e},xp)}function rp(e,t,r){const n=[];if(r!=null)for(const u of r.args){const s=u.name,o=t[s];if(o!==void 0){const a=Xu(o,u.type);a&&n.push({kind:j.ARGUMENT,name:{kind:j.NAME,value:s},value:a})}}else for(const u in t){const s=t[u],o=x2(s);o&&n.push({kind:j.ARGUMENT,name:{kind:j.NAME,value:u},value:o})}return{kind:j.DIRECTIVE,name:{kind:j.NAME,value:e},arguments:n}}function mm(e,t){const r=[];for(const n in t){const u=t[n],s=e==null?void 0:e.getDirective(n);if(Array.isArray(u))for(const o of u)r.push(rp(n,o,s));else r.push(rp(n,u,s))}return r}const Tk=80;let ua={};function R2(){ua={}}function $k(e){var t;const r=(t=e.name)===null||t===void 0?void 0:t.value;if(r!=null)switch(Gc(e,r),e.kind){case"EnumTypeDefinition":if(e.values)for(const n of e.values)Gc(n,r,n.name.value);break;case"ObjectTypeDefinition":case"InputObjectTypeDefinition":case"InterfaceTypeDefinition":if(e.fields){for(const n of e.fields)if(Gc(n,r,n.name.value),qk(n)&&n.arguments)for(const u of n.arguments)Gc(u,r,n.name.value,u.name.value)}break}}function Gc(e,t,r,n){const u=xk(e);if(typeof u!="string"||u.length===0)return;const s=[t];r&&(s.push(r),n&&s.push(n));const o=s.join(".");ua[o]||(ua[o]=[]),ua[o].push(u)}function Pk(e){return` +`))}function LP(e){let t;return function(n,u,s){t===void 0&&(t=new WeakMap);let o=t.get(n);o===void 0&&(o=new WeakMap,t.set(n,o));let a=o.get(u);a===void 0&&(a=new WeakMap,o.set(u,a));let i=a.get(s);return i===void 0&&(i=e(n,u,s),a.set(s,i)),i}}function UP(e){return Promise.all(Object.values(e)).then(t=>{const r=Object.create(null);for(const[n,u]of Object.keys(e).entries())r[u]=t[n];return r})}function GP(e,t,r){let n=r;for(const u of e)n=sn(n)?n.then(s=>t(s,u)):t(n,u);return n}function VP(e){return e instanceof Error?e:new HP(e)}class HP extends Error{constructor(t){super("Unexpected error value: "+Ae(t)),this.name="NonErrorThrown",this.thrownValue=t}}function Ql(e,t,r){var n;const u=VP(e);return WP(u)?u:new De(u.message,{nodes:(n=u.nodes)!==null&&n!==void 0?n:t,source:u.source,positions:u.positions,path:r,originalError:u})}function WP(e){return Array.isArray(e.path)}const JP=LP((e,t,r)=>EP(e.schema,e.fragments,e.variableValues,t,r));function zP(e){arguments.length<2||it(!1,"graphql@16 dropped long-deprecated support for positional arguments, please pass an object instead.");const{schema:t,document:r,variableValues:n,rootValue:u}=e;KP(t,r,n);const s=XP(e);if(!("schema"in s))return{errors:s};try{const{operation:o}=s,a=YP(s,o,u);return sn(a)?a.then(i=>Lc(i,s.errors),i=>(s.errors.push(i),Lc(null,s.errors))):Lc(a,s.errors)}catch(o){return s.errors.push(o),Lc(null,s.errors)}}function Lc(e,t){return t.length===0?{data:e}:{errors:t,data:e}}function KP(e,t,r){t||it(!1,"Must provide document."),$5(e),r==null||Pn(r)||it(!1,"Variables must be provided as an Object where each property is a variable value. Perhaps look to see if an unparsed JSON string was provided.")}function XP(e){var t,r;const{schema:n,document:u,rootValue:s,contextValue:o,variableValues:a,operationName:i,fieldResolver:c,typeResolver:l,subscribeFieldResolver:p}=e;let d;const f=Object.create(null);for(const A of u.definitions)switch(A.kind){case j.OPERATION_DEFINITION:if(i==null){if(d!==void 0)return[new De("Must provide operation name if query contains multiple operations.")];d=A}else((t=A.name)===null||t===void 0?void 0:t.value)===i&&(d=A);break;case j.FRAGMENT_DEFINITION:f[A.name.value]=A;break}if(!d)return i!=null?[new De(`Unknown operation named "${i}".`)]:[new De("Must provide an operation.")];const h=(r=d.variableDefinitions)!==null&&r!==void 0?r:[],y=hP(n,h,a??{},{maxErrors:50});return y.errors?y.errors:{schema:n,fragments:f,rootValue:s,contextValue:o,operation:d,variableValues:y.coerced,fieldResolver:c??jy,typeResolver:l??nk,subscribeFieldResolver:p??jy,errors:[]}}function YP(e,t,r){const n=e.schema.getRootType(t.operation);if(n==null)throw new De(`Schema is not configured to execute ${t.operation} operation.`,{nodes:t});const u=W5(e.schema,e.fragments,e.variableValues,n,t.selectionSet),s=void 0;switch(t.operation){case nr.QUERY:return ep(e,n,r,s,u);case nr.MUTATION:return ZP(e,n,r,s,u);case nr.SUBSCRIPTION:return ep(e,n,r,s,u)}}function ZP(e,t,r,n,u){return GP(u.entries(),(s,[o,a])=>{const i=Pi(n,o,t.name),c=Y5(e,t,r,a,i);return c===void 0?s:sn(c)?c.then(l=>(s[o]=l,s)):(s[o]=c,s)},Object.create(null))}function ep(e,t,r,n,u){const s=Object.create(null);let o=!1;for(const[a,i]of u.entries()){const c=Pi(n,a,t.name),l=Y5(e,t,r,i,c);l!==void 0&&(s[a]=l,sn(l)&&(o=!0))}return o?UP(s):s}function Y5(e,t,r,n,u){var s;const o=uk(e.schema,t,n[0]);if(!o)return;const a=o.type,i=(s=o.resolve)!==null&&s!==void 0?s:e.fieldResolver,c=QP(e,o,n,t,u);try{const l=V5(o,n[0],e.variableValues),p=e.contextValue,d=i(r,l,p,c);let f;return sn(d)?f=d.then(h=>ki(e,a,n,c,u,h)):f=ki(e,a,n,c,u,d),sn(f)?f.then(void 0,h=>{const y=Ql(h,n,Cn(u));return tp(y,a,e)}):f}catch(l){const p=Ql(l,n,Cn(u));return tp(p,a,e)}}function QP(e,t,r,n,u){return{fieldName:t.name,fieldNodes:r,returnType:t.type,parentType:n,path:u,schema:e.schema,fragments:e.fragments,rootValue:e.rootValue,operation:e.operation,variableValues:e.variableValues}}function tp(e,t,r){if(nt(t))throw e;return r.errors.push(e),null}function ki(e,t,r,n,u,s){if(s instanceof Error)throw s;if(nt(t)){const o=ki(e,t.ofType,r,n,u,s);if(o===null)throw new Error(`Cannot return null for non-nullable field ${n.parentType.name}.${n.fieldName}.`);return o}if(s==null)return null;if(qt(t))return ek(e,t,r,n,u,s);if(on(t))return tk(t,s);if(ts(t))return rk(e,t,r,n,u,s);if(Xe(t))return x2(e,t,r,n,u,s);Wr(!1,"Cannot complete value of unexpected output type: "+Ae(t))}function ek(e,t,r,n,u,s){if(!sm(s))throw new De(`Expected Iterable, but did not find one for field "${n.parentType.name}.${n.fieldName}".`);const o=t.ofType;let a=!1;const i=Array.from(s,(c,l)=>{const p=Pi(u,l,void 0);try{let d;return sn(c)?d=c.then(f=>ki(e,o,r,n,p,f)):d=ki(e,o,r,n,p,c),sn(d)?(a=!0,d.then(void 0,f=>{const h=Ql(f,r,Cn(p));return tp(h,o,e)})):d}catch(d){const f=Ql(d,r,Cn(p));return tp(f,o,e)}});return a?Promise.all(i):i}function tk(e,t){const r=e.serialize(t);if(r==null)throw new Error(`Expected \`${Ae(e)}.serialize(${Ae(t)})\` to return non-nullable value, returned: ${Ae(r)}`);return r}function rk(e,t,r,n,u,s){var o;const a=(o=t.resolveType)!==null&&o!==void 0?o:e.typeResolver,i=e.contextValue,c=a(s,i,n,t);return sn(c)?c.then(l=>x2(e,xy(l,e,t,r,n,s),r,n,u,s)):x2(e,xy(c,e,t,r,n,s),r,n,u,s)}function xy(e,t,r,n,u,s){if(e==null)throw new De(`Abstract type "${r.name}" must resolve to an Object type at runtime for field "${u.parentType.name}.${u.fieldName}". Either the "${r.name}" type should provide a "resolveType" function or each possible type should provide an "isTypeOf" function.`,n);if(Xe(e))throw new De("Support for returning GraphQLObjectType from resolveType was removed in graphql-js@16.0.0 please return type name instead.");if(typeof e!="string")throw new De(`Abstract type "${r.name}" must resolve to an Object type at runtime for field "${u.parentType.name}.${u.fieldName}" with value ${Ae(s)}, received "${Ae(e)}".`);const o=t.schema.getType(e);if(o==null)throw new De(`Abstract type "${r.name}" was resolved to a type "${e}" that does not exist inside the schema.`,{nodes:n});if(!Xe(o))throw new De(`Abstract type "${r.name}" was resolved to a non-object type "${e}".`,{nodes:n});if(!t.schema.isSubType(r,o))throw new De(`Runtime Object type "${o.name}" is not a possible type for "${r.name}".`,{nodes:n});return o}function x2(e,t,r,n,u,s){const o=JP(e,t,r);if(t.isTypeOf){const a=t.isTypeOf(s,e.contextValue,n);if(sn(a))return a.then(i=>{if(!i)throw Ry(t,s,r);return ep(e,t,s,u,o)});if(!a)throw Ry(t,s,r)}return ep(e,t,s,u,o)}function Ry(e,t,r){return new De(`Expected value of type "${e.name}" but got: ${Ae(t)}.`,{nodes:r})}const nk=function(e,t,r,n){if(Pn(e)&&typeof e.__typename=="string")return e.__typename;const u=r.schema.getPossibleTypes(n),s=[];for(let o=0;o{for(let a=0;at(Z5(e)))}function ok(e){const t=Z5(e);if(sn(t))throw new Error("GraphQL execution failed to complete synchronously.");return t}function Z5(e){arguments.length<2||it(!1,"graphql@16 dropped long-deprecated support for positional arguments, please pass an object instead.");const{schema:t,source:r,rootValue:n,contextValue:u,variableValues:s,operationName:o,fieldResolver:a,typeResolver:i}=e,c=T5(t);if(c.length>0)return{errors:c};let l;try{l=Zh(r)}catch(d){return{errors:[d]}}const p=RP(t,l);return p.length>0?{errors:p}:zP({schema:t,document:l,rootValue:n,contextValue:u,variableValues:s,operationName:o,fieldResolver:a,typeResolver:i})}function ak(e,t,r){var n,u,s,o;const a=[],i=Object.create(null),c=[];let l;const p=[];for(const E of t.definitions)if(E.kind===j.SCHEMA_DEFINITION)l=E;else if(E.kind===j.SCHEMA_EXTENSION)p.push(E);else if(Xi(E))a.push(E);else if(dm(E)){const F=E.name.value,D=i[F];i[F]=D?D.concat([E]):[E]}else E.kind===j.DIRECTIVE_DEFINITION&&c.push(E);if(Object.keys(i).length===0&&a.length===0&&c.length===0&&p.length===0&&l==null)return e;const d=Object.create(null);for(const E of e.types)d[E.name]=v(E);for(const E of a){var f;const F=E.name.value;d[F]=(f=My[F])!==null&&f!==void 0?f:O(E)}const h={query:e.query&&A(e.query),mutation:e.mutation&&A(e.mutation),subscription:e.subscription&&A(e.subscription),...l&&ee([l]),...ee(p)};return{description:(n=l)===null||n===void 0||(u=n.description)===null||u===void 0?void 0:u.value,...h,types:Object.values(d),directives:[...e.directives.map(m),...c.map(oe)],extensions:Object.create(null),astNode:(s=l)!==null&&s!==void 0?s:e.astNode,extensionASTNodes:e.extensionASTNodes.concat(p),assumeValid:(o=r==null?void 0:r.assumeValid)!==null&&o!==void 0?o:!1};function y(E){return qt(E)?new Dr(y(E.ofType)):nt(E)?new Qe(y(E.ofType)):A(E)}function A(E){return d[E.name]}function m(E){const F=E.toConfig();return new cs({...F,args:yu(F.args,G)})}function v(E){if(im(E)||zi(E))return E;if(zr(E))return T(E);if(Xe(E))return N(E);if(dt(E))return R(E);if(or(E))return J(E);if(Kt(E))return B(E);if(At(E))return C(E);Wr(!1,"Unexpected type: "+Ae(E))}function C(E){var F;const D=E.toConfig(),g=(F=i[D.name])!==null&&F!==void 0?F:[];return new Ks({...D,fields:()=>({...yu(D.fields,P=>({...P,type:y(P.type)})),...fe(g)}),extensionASTNodes:D.extensionASTNodes.concat(g)})}function B(E){var F;const D=E.toConfig(),g=(F=i[E.name])!==null&&F!==void 0?F:[];return new tu({...D,values:{...D.values,...ge(g)},extensionASTNodes:D.extensionASTNodes.concat(g)})}function T(E){var F;const D=E.toConfig(),g=(F=i[D.name])!==null&&F!==void 0?F:[];let P=D.specifiedByURL;for(const w of g){var b;P=(b=Ly(w))!==null&&b!==void 0?b:P}return new eu({...D,specifiedByURL:P,extensionASTNodes:D.extensionASTNodes.concat(g)})}function N(E){var F;const D=E.toConfig(),g=(F=i[D.name])!==null&&F!==void 0?F:[];return new jr({...D,interfaces:()=>[...E.getInterfaces().map(A),...pe(g)],fields:()=>({...yu(D.fields,q),...de(g)}),extensionASTNodes:D.extensionASTNodes.concat(g)})}function R(E){var F;const D=E.toConfig(),g=(F=i[D.name])!==null&&F!==void 0?F:[];return new is({...D,interfaces:()=>[...E.getInterfaces().map(A),...pe(g)],fields:()=>({...yu(D.fields,q),...de(g)}),extensionASTNodes:D.extensionASTNodes.concat(g)})}function J(E){var F;const D=E.toConfig(),g=(F=i[D.name])!==null&&F!==void 0?F:[];return new $i({...D,types:()=>[...E.getTypes().map(A),...z(g)],extensionASTNodes:D.extensionASTNodes.concat(g)})}function q(E){return{...E,type:y(E.type),args:E.args&&yu(E.args,G)}}function G(E){return{...E,type:y(E.type)}}function ee(E){const F={};for(const g of E){var D;const P=(D=g.operationTypes)!==null&&D!==void 0?D:[];for(const b of P)F[b.operation]=K(b.type)}return F}function K(E){var F;const D=E.name.value,g=(F=My[D])!==null&&F!==void 0?F:d[D];if(g===void 0)throw new Error(`Unknown type: "${D}".`);return g}function ue(E){return E.kind===j.LIST_TYPE?new Dr(ue(E.type)):E.kind===j.NON_NULL_TYPE?new Qe(ue(E.type)):K(E)}function oe(E){var F;return new cs({name:E.name.value,description:(F=E.description)===null||F===void 0?void 0:F.value,locations:E.locations.map(({value:D})=>D),isRepeatable:E.repeatable,args:he(E.arguments),astNode:E})}function de(E){const F=Object.create(null);for(const P of E){var D;const b=(D=P.fields)!==null&&D!==void 0?D:[];for(const w of b){var g;F[w.name.value]={type:ue(w.type),description:(g=w.description)===null||g===void 0?void 0:g.value,args:he(w.arguments),deprecationReason:Uc(w),astNode:w}}}return F}function he(E){const F=E??[],D=Object.create(null);for(const P of F){var g;const b=ue(P.type);D[P.name.value]={type:b,description:(g=P.description)===null||g===void 0?void 0:g.value,defaultValue:Yu(P.defaultValue,b),deprecationReason:Uc(P),astNode:P}}return D}function fe(E){const F=Object.create(null);for(const P of E){var D;const b=(D=P.fields)!==null&&D!==void 0?D:[];for(const w of b){var g;const I=ue(w.type);F[w.name.value]={type:I,description:(g=w.description)===null||g===void 0?void 0:g.value,defaultValue:Yu(w.defaultValue,I),deprecationReason:Uc(w),astNode:w}}}return F}function ge(E){const F=Object.create(null);for(const P of E){var D;const b=(D=P.values)!==null&&D!==void 0?D:[];for(const w of b){var g;F[w.name.value]={description:(g=w.description)===null||g===void 0?void 0:g.value,deprecationReason:Uc(w),astNode:w}}}return F}function pe(E){return E.flatMap(F=>{var D,g;return(D=(g=F.interfaces)===null||g===void 0?void 0:g.map(K))!==null&&D!==void 0?D:[]})}function z(E){return E.flatMap(F=>{var D,g;return(D=(g=F.types)===null||g===void 0?void 0:g.map(K))!==null&&D!==void 0?D:[]})}function O(E){var F;const D=E.name.value,g=(F=i[D])!==null&&F!==void 0?F:[];switch(E.kind){case j.OBJECT_TYPE_DEFINITION:{var P;const L=[E,...g];return new jr({name:D,description:(P=E.description)===null||P===void 0?void 0:P.value,interfaces:()=>pe(L),fields:()=>de(L),astNode:E,extensionASTNodes:g})}case j.INTERFACE_TYPE_DEFINITION:{var b;const L=[E,...g];return new is({name:D,description:(b=E.description)===null||b===void 0?void 0:b.value,interfaces:()=>pe(L),fields:()=>de(L),astNode:E,extensionASTNodes:g})}case j.ENUM_TYPE_DEFINITION:{var w;const L=[E,...g];return new tu({name:D,description:(w=E.description)===null||w===void 0?void 0:w.value,values:ge(L),astNode:E,extensionASTNodes:g})}case j.UNION_TYPE_DEFINITION:{var I;const L=[E,...g];return new $i({name:D,description:(I=E.description)===null||I===void 0?void 0:I.value,types:()=>z(L),astNode:E,extensionASTNodes:g})}case j.SCALAR_TYPE_DEFINITION:{var $;return new eu({name:D,description:($=E.description)===null||$===void 0?void 0:$.value,specifiedByURL:Ly(E),astNode:E,extensionASTNodes:g})}case j.INPUT_OBJECT_TYPE_DEFINITION:{var M;const L=[E,...g];return new Ks({name:D,description:(M=E.description)===null||M===void 0?void 0:M.value,fields:()=>fe(L),astNode:E,extensionASTNodes:g})}}}}const My=zs([...um,...am],e=>e.name);function Uc(e){const t=Yl(xp,e);return t==null?void 0:t.reason}function Ly(e){const t=Yl(F5,e);return t==null?void 0:t.url}function Q5(e,t){e!=null&&e.kind===j.DOCUMENT||it(!1,"Must provide valid Document AST."),(t==null?void 0:t.assumeValid)!==!0&&(t==null?void 0:t.assumeValidSDL)!==!0&&MP(e);const n=ak({description:void 0,types:[],directives:[],extensions:Object.create(null),extensionASTNodes:[],assumeValid:!1},e,t);if(n.astNode==null)for(const s of n.types)switch(s.name){case"Query":n.query=s;break;case"Mutation":n.mutation=s;break;case"Subscription":n.subscription=s;break}const u=[...n.directives,...no.filter(s=>n.directives.every(o=>o.name!==s.name))];return new lm({...n,directives:u})}function ik(e,t){const r=Zh(e,{noLocation:t==null?void 0:t.noLocation,allowLegacyFragmentVariables:t==null?void 0:t.allowLegacyFragmentVariables});return Q5(r,{assumeValidSDL:t==null?void 0:t.assumeValidSDL,assumeValid:t==null?void 0:t.assumeValid})}const e6=e=>Array.isArray(e)?e:e?[e]:[];function ck(e,t){return String(e)String(t)?1:0}function Uy(e){var t,r;let n;return"alias"in e&&(n=(t=e.alias)===null||t===void 0?void 0:t.value),n==null&&"name"in e&&(n=(r=e.name)===null||r===void 0?void 0:r.value),n==null&&(n=e.kind),n}function jp(e,t,r){const n=Uy(e),u=Uy(t);return typeof r=="function"?r(n,u):ck(n,u)}function Mp(e){return e!=null}function lk(e){return"errors"in e&&Array.isArray(e.errors)}const t6=3;function pk(e){return Lp(e,[])}function Lp(e,t){switch(typeof e){case"string":return JSON.stringify(e);case"function":return e.name?`[function ${e.name}]`:"[function]";case"object":return dk(e,t);default:return String(e)}}function Gy(e){return e instanceof De?e.toString():`${e.name}: ${e.message}; + ${e.stack}`}function dk(e,t){if(e===null)return"null";if(e instanceof Error)return lk(e)?Gy(e)+` +`+Vy(e.errors,t):Gy(e);if(t.includes(e))return"[Circular]";const r=[...t,e];if(fk(e)){const n=e.toJSON();if(n!==e)return typeof n=="string"?n:Lp(n,r)}else if(Array.isArray(e))return Vy(e,r);return Dk(e,r)}function fk(e){return typeof e.toJSON=="function"}function Dk(e,t){const r=Object.entries(e);return r.length===0?"{}":t.length>t6?"["+hk(e)+"]":"{ "+r.map(([u,s])=>u+": "+Lp(s,t)).join(", ")+" }"}function Vy(e,t){if(e.length===0)return"[]";if(t.length>t6)return"[Array]";const r=e.length,n=[];for(let u=0;ur==null?r:r[n],e==null?void 0:e.extensions)}function _u(e){if(nt(e)){const t=_u(e.ofType);if(t.kind===j.NON_NULL_TYPE)throw new Error(`Invalid type node ${pk(e)}. Inner type of non-null type cannot be a non-null type.`);return{kind:j.NON_NULL_TYPE,type:t}}else if(qt(e))return{kind:j.LIST_TYPE,type:_u(e.ofType)};return{kind:j.NAMED_TYPE,name:{kind:j.NAME,value:e.name}}}function R2(e){if(e===null)return{kind:j.NULL};if(e===void 0)return null;if(Array.isArray(e)){const t=[];for(const r of e){const n=R2(r);n!=null&&t.push(n)}return{kind:j.LIST,values:t}}if(typeof e=="object"){const t=[];for(const r in e){const n=e[r],u=R2(n);u&&t.push({kind:j.OBJECT_FIELD,name:{kind:j.NAME,value:r},value:u})}return{kind:j.OBJECT,fields:t}}if(typeof e=="boolean")return{kind:j.BOOLEAN,value:e};if(typeof e=="number"&&isFinite(e)){const t=String(e);return mk.test(t)?{kind:j.INT,value:t}:{kind:j.FLOAT,value:t}}if(typeof e=="string")return{kind:j.STRING,value:e};throw new TypeError(`Cannot convert value to AST: ${e}.`)}const mk=/^-?(?:0|[1-9][0-9]*)$/;function Ek(e){const t=new WeakMap;return function(n){const u=t.get(n);if(u===void 0){const s=e(n);return t.set(n,s),s}return u}}const yk=Ek(function(t){const r=new Map,n=t.getQueryType();n&&r.set("query",n);const u=t.getMutationType();u&&r.set("mutation",u);const s=t.getSubscriptionType();return s&&r.set("subscription",s),r});function vk(e,t={}){const r=t.pathToDirectivesInExtensions,n=e.getTypeMap(),u=gk(e,r),s=u!=null?[u]:[],o=e.getDirectives();for(const a of o)C5(a)||s.push(Ak(a,e,r));for(const a in n){const i=n[a],c=zi(i),l=im(i);if(!(c||l))if(Xe(i))s.push(Fk(i,e,r));else if(dt(i))s.push(Ck(i,e,r));else if(or(i))s.push(bk(i,e,r));else if(At(i))s.push(Sk(i,e,r));else if(Kt(i))s.push(wk(i,e,r));else if(zr(i))s.push(_k(i,e,r));else throw new Error(`Unknown type ${i}.`)}return{kind:j.DOCUMENT,definitions:s}}function gk(e,t){var r,n;const u=new Map([["query",void 0],["mutation",void 0],["subscription",void 0]]),s=[];if(e.astNode!=null&&s.push(e.astNode),e.extensionASTNodes!=null)for(const l of e.extensionASTNodes)s.push(l);for(const l of s)if(l.operationTypes)for(const p of l.operationTypes)u.set(p.operation,p);const o=yk(e);for(const[l,p]of u){const d=o.get(l);if(d!=null){const f=_u(d);p!=null?p.type=f:u.set(l,{kind:j.OPERATION_TYPE_DEFINITION,operation:l,type:f})}}const a=[...u.values()].filter(Mp),i=Sa(e,e,t);if(!a.length&&!i.length)return null;const c={kind:a!=null?j.SCHEMA_DEFINITION:j.SCHEMA_EXTENSION,operationTypes:a,directives:i};return c.description=((n=(r=e.astNode)===null||r===void 0?void 0:r.description)!==null&&n!==void 0?n:e.description!=null)?{kind:j.STRING,value:e.description,block:!0}:void 0,c}function Ak(e,t,r){var n,u,s,o;return{kind:j.DIRECTIVE_DEFINITION,description:(u=(n=e.astNode)===null||n===void 0?void 0:n.description)!==null&&u!==void 0?u:e.description?{kind:j.STRING,value:e.description}:void 0,name:{kind:j.NAME,value:e.name},arguments:(s=e.args)===null||s===void 0?void 0:s.map(a=>r6(a,t,r)),repeatable:e.isRepeatable,locations:((o=e.locations)===null||o===void 0?void 0:o.map(a=>({kind:j.NAME,value:a})))||[]}}function Sa(e,t,r){const n=mm(e,r);let u=[];e.astNode!=null&&u.push(e.astNode),"extensionASTNodes"in e&&e.extensionASTNodes!=null&&(u=u.concat(e.extensionASTNodes));let s;if(n!=null)s=Em(t,n);else{s=[];for(const o of u)o.directives&&s.push(...o.directives)}return s}function Up(e,t,r){var n,u;let s=[],o=null;const a=mm(e,r);let i;return a!=null?i=Em(t,a):i=(n=e.astNode)===null||n===void 0?void 0:n.directives,i!=null&&(s=i.filter(c=>c.name.value!=="deprecated"),e.deprecationReason!=null&&(o=(u=i.filter(c=>c.name.value==="deprecated"))===null||u===void 0?void 0:u[0])),e.deprecationReason!=null&&o==null&&(o=$k(e.deprecationReason)),o==null?s:[o].concat(s)}function r6(e,t,r){var n,u,s;return{kind:j.INPUT_VALUE_DEFINITION,description:(u=(n=e.astNode)===null||n===void 0?void 0:n.description)!==null&&u!==void 0?u:e.description?{kind:j.STRING,value:e.description,block:!0}:void 0,name:{kind:j.NAME,value:e.name},type:_u(e.type),defaultValue:e.defaultValue!==void 0&&(s=Xu(e.defaultValue,e.type))!==null&&s!==void 0?s:void 0,directives:Up(e,t,r)}}function Fk(e,t,r){var n,u;return{kind:j.OBJECT_TYPE_DEFINITION,description:(u=(n=e.astNode)===null||n===void 0?void 0:n.description)!==null&&u!==void 0?u:e.description?{kind:j.STRING,value:e.description,block:!0}:void 0,name:{kind:j.NAME,value:e.name},fields:Object.values(e.getFields()).map(s=>n6(s,t,r)),interfaces:Object.values(e.getInterfaces()).map(s=>_u(s)),directives:Sa(e,t,r)}}function Ck(e,t,r){var n,u;const s={kind:j.INTERFACE_TYPE_DEFINITION,description:(u=(n=e.astNode)===null||n===void 0?void 0:n.description)!==null&&u!==void 0?u:e.description?{kind:j.STRING,value:e.description,block:!0}:void 0,name:{kind:j.NAME,value:e.name},fields:Object.values(e.getFields()).map(o=>n6(o,t,r)),directives:Sa(e,t,r)};return"getInterfaces"in e&&(s.interfaces=Object.values(e.getInterfaces()).map(o=>_u(o))),s}function bk(e,t,r){var n,u;return{kind:j.UNION_TYPE_DEFINITION,description:(u=(n=e.astNode)===null||n===void 0?void 0:n.description)!==null&&u!==void 0?u:e.description?{kind:j.STRING,value:e.description,block:!0}:void 0,name:{kind:j.NAME,value:e.name},directives:Sa(e,t,r),types:e.getTypes().map(s=>_u(s))}}function Sk(e,t,r){var n,u;return{kind:j.INPUT_OBJECT_TYPE_DEFINITION,description:(u=(n=e.astNode)===null||n===void 0?void 0:n.description)!==null&&u!==void 0?u:e.description?{kind:j.STRING,value:e.description,block:!0}:void 0,name:{kind:j.NAME,value:e.name},fields:Object.values(e.getFields()).map(s=>Bk(s,t,r)),directives:Sa(e,t,r)}}function wk(e,t,r){var n,u;return{kind:j.ENUM_TYPE_DEFINITION,description:(u=(n=e.astNode)===null||n===void 0?void 0:n.description)!==null&&u!==void 0?u:e.description?{kind:j.STRING,value:e.description,block:!0}:void 0,name:{kind:j.NAME,value:e.name},values:Object.values(e.getValues()).map(s=>Tk(s,t,r)),directives:Sa(e,t,r)}}function _k(e,t,r){var n,u,s;const o=mm(e,r),a=o?Em(t,o):((n=e.astNode)===null||n===void 0?void 0:n.directives)||[],i=e.specifiedByUrl||e.specifiedByURL;if(i&&!a.some(c=>c.name.value==="specifiedBy")){const c={url:i};a.push(rp("specifiedBy",c))}return{kind:j.SCALAR_TYPE_DEFINITION,description:(s=(u=e.astNode)===null||u===void 0?void 0:u.description)!==null&&s!==void 0?s:e.description?{kind:j.STRING,value:e.description,block:!0}:void 0,name:{kind:j.NAME,value:e.name},directives:a}}function n6(e,t,r){var n,u;return{kind:j.FIELD_DEFINITION,description:(u=(n=e.astNode)===null||n===void 0?void 0:n.description)!==null&&u!==void 0?u:e.description?{kind:j.STRING,value:e.description,block:!0}:void 0,name:{kind:j.NAME,value:e.name},arguments:e.args.map(s=>r6(s,t,r)),type:_u(e.type),directives:Up(e,t,r)}}function Bk(e,t,r){var n,u,s;return{kind:j.INPUT_VALUE_DEFINITION,description:(u=(n=e.astNode)===null||n===void 0?void 0:n.description)!==null&&u!==void 0?u:e.description?{kind:j.STRING,value:e.description,block:!0}:void 0,name:{kind:j.NAME,value:e.name},type:_u(e.type),directives:Up(e,t,r),defaultValue:(s=Xu(e.defaultValue,e.type))!==null&&s!==void 0?s:void 0}}function Tk(e,t,r){var n,u;return{kind:j.ENUM_VALUE_DEFINITION,description:(u=(n=e.astNode)===null||n===void 0?void 0:n.description)!==null&&u!==void 0?u:e.description?{kind:j.STRING,value:e.description,block:!0}:void 0,name:{kind:j.NAME,value:e.name},directives:Up(e,t,r)}}function $k(e){return rp("deprecated",{reason:e},xp)}function rp(e,t,r){const n=[];if(r!=null)for(const u of r.args){const s=u.name,o=t[s];if(o!==void 0){const a=Xu(o,u.type);a&&n.push({kind:j.ARGUMENT,name:{kind:j.NAME,value:s},value:a})}}else for(const u in t){const s=t[u],o=R2(s);o&&n.push({kind:j.ARGUMENT,name:{kind:j.NAME,value:u},value:o})}return{kind:j.DIRECTIVE,name:{kind:j.NAME,value:e},arguments:n}}function Em(e,t){const r=[];for(const n in t){const u=t[n],s=e==null?void 0:e.getDirective(n);if(Array.isArray(u))for(const o of u)r.push(rp(n,o,s));else r.push(rp(n,u,s))}return r}const Pk=80;let ua={};function j2(){ua={}}function kk(e){var t;const r=(t=e.name)===null||t===void 0?void 0:t.value;if(r!=null)switch(Gc(e,r),e.kind){case"EnumTypeDefinition":if(e.values)for(const n of e.values)Gc(n,r,n.name.value);break;case"ObjectTypeDefinition":case"InputObjectTypeDefinition":case"InterfaceTypeDefinition":if(e.fields){for(const n of e.fields)if(Gc(n,r,n.name.value),Rk(n)&&n.arguments)for(const u of n.arguments)Gc(u,r,n.name.value,u.name.value)}break}}function Gc(e,t,r,n){const u=jk(e);if(typeof u!="string"||u.length===0)return;const s=[t];r&&(s.push(r),n&&s.push(n));const o=s.join(".");ua[o]||(ua[o]=[]),ua[o].push(u)}function Ok(e){return` # `+e.replace(/\n/g,` -# `)}function $e(e,t){return e?e.filter(r=>r).join(t||""):""}function Vy(e){var t;return(t=e==null?void 0:e.some(r=>r.includes(` -`)))!==null&&t!==void 0?t:!1}function kk(e){return(t,r,n,u,s)=>{var o;const a=[],i=u.reduce((p,d)=>(["fields","arguments","values"].includes(d)&&p.name&&a.push(p.name.value),p[d]),s[0]),c=[...a,(o=i==null?void 0:i.name)===null||o===void 0?void 0:o.value].filter(Boolean).join("."),l=[];return t.kind.includes("Definition")&&ua[c]&&l.push(...ua[c]),$e([...l.map(Pk),t.description,e(t,r,n,u,s)],` +# `)}function $e(e,t){return e?e.filter(r=>r).join(t||""):""}function Hy(e){var t;return(t=e==null?void 0:e.some(r=>r.includes(` +`)))!==null&&t!==void 0?t:!1}function Ik(e){return(t,r,n,u,s)=>{var o;const a=[],i=u.reduce((p,d)=>(["fields","arguments","values"].includes(d)&&p.name&&a.push(p.name.value),p[d]),s[0]),c=[...a,(o=i==null?void 0:i.name)===null||o===void 0?void 0:o.value].filter(Boolean).join("."),l=[];return t.kind.includes("Definition")&&ua[c]&&l.push(...ua[c]),$e([...l.map(Ok),t.description,e(t,r,n,u,s)],` `)}}function hi(e){return e&&` ${e.replace(/\n/g,` `)}`}function Dn(e){return e&&e.length!==0?`{ ${hi($e(e,` `))} -}`:""}function Ot(e,t,r){return t?e+t+(r||""):""}function Ok(e,t=!1){const r=e.replace(/"""/g,'\\"""');return(e[0]===" "||e[0]===" ")&&e.indexOf(` +}`:""}function Ot(e,t,r){return t?e+t+(r||""):""}function Nk(e,t=!1){const r=e.replace(/"""/g,'\\"""');return(e[0]===" "||e[0]===" ")&&e.indexOf(` `)===-1?`"""${r.replace(/"$/,`" `)}"""`:`""" ${t?r:hi(r)} -"""`}const Hy={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>$e(e.definitions,` +"""`}const Wy={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>$e(e.definitions,` -`)},OperationDefinition:{leave:e=>{const t=Ot("(",$e(e.variableDefinitions,", "),")");return $e([e.operation,$e([e.name,t]),$e(e.directives," ")]," ")+" "+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:t,defaultValue:r,directives:n})=>e+": "+t+Ot(" = ",r)+Ot(" ",$e(n," "))},SelectionSet:{leave:({selections:e})=>Dn(e)},Field:{leave({alias:e,name:t,arguments:r,directives:n,selectionSet:u}){const s=Ot("",e,": ")+t;let o=s+Ot("(",$e(r,", "),")");return o.length>Tk&&(o=s+Ot(`( +`)},OperationDefinition:{leave:e=>{const t=Ot("(",$e(e.variableDefinitions,", "),")");return $e([e.operation,$e([e.name,t]),$e(e.directives," ")]," ")+" "+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:t,defaultValue:r,directives:n})=>e+": "+t+Ot(" = ",r)+Ot(" ",$e(n," "))},SelectionSet:{leave:({selections:e})=>Dn(e)},Field:{leave({alias:e,name:t,arguments:r,directives:n,selectionSet:u}){const s=Ot("",e,": ")+t;let o=s+Ot("(",$e(r,", "),")");return o.length>Pk&&(o=s+Ot(`( `,hi($e(r,` `)),` -)`)),$e([o,$e(n," "),u]," ")}},Argument:{leave:({name:e,value:t})=>e+": "+t},FragmentSpread:{leave:({name:e,directives:t})=>"..."+e+Ot(" ",$e(t," "))},InlineFragment:{leave:({typeCondition:e,directives:t,selectionSet:r})=>$e(["...",Ot("on ",e),$e(t," "),r]," ")},FragmentDefinition:{leave:({name:e,typeCondition:t,variableDefinitions:r,directives:n,selectionSet:u})=>`fragment ${e}${Ot("(",$e(r,", "),")")} on ${t} ${Ot("",$e(n," ")," ")}`+u},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:e,block:t})=>t?Ok(e):JSON.stringify(e)},BooleanValue:{leave:({value:e})=>e?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:e})=>e},ListValue:{leave:({values:e})=>"["+$e(e,", ")+"]"},ObjectValue:{leave:({fields:e})=>"{"+$e(e,", ")+"}"},ObjectField:{leave:({name:e,value:t})=>e+": "+t},Directive:{leave:({name:e,arguments:t})=>"@"+e+Ot("(",$e(t,", "),")")},NamedType:{leave:({name:e})=>e},ListType:{leave:({type:e})=>"["+e+"]"},NonNullType:{leave:({type:e})=>e+"!"},SchemaDefinition:{leave:({directives:e,operationTypes:t})=>$e(["schema",$e(e," "),Dn(t)]," ")},OperationTypeDefinition:{leave:({operation:e,type:t})=>e+": "+t},ScalarTypeDefinition:{leave:({name:e,directives:t})=>$e(["scalar",e,$e(t," ")]," ")},ObjectTypeDefinition:{leave:({name:e,interfaces:t,directives:r,fields:n})=>$e(["type",e,Ot("implements ",$e(t," & ")),$e(r," "),Dn(n)]," ")},FieldDefinition:{leave:({name:e,arguments:t,type:r,directives:n})=>e+(Vy(t)?Ot(`( +)`)),$e([o,$e(n," "),u]," ")}},Argument:{leave:({name:e,value:t})=>e+": "+t},FragmentSpread:{leave:({name:e,directives:t})=>"..."+e+Ot(" ",$e(t," "))},InlineFragment:{leave:({typeCondition:e,directives:t,selectionSet:r})=>$e(["...",Ot("on ",e),$e(t," "),r]," ")},FragmentDefinition:{leave:({name:e,typeCondition:t,variableDefinitions:r,directives:n,selectionSet:u})=>`fragment ${e}${Ot("(",$e(r,", "),")")} on ${t} ${Ot("",$e(n," ")," ")}`+u},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:e,block:t})=>t?Nk(e):JSON.stringify(e)},BooleanValue:{leave:({value:e})=>e?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:e})=>e},ListValue:{leave:({values:e})=>"["+$e(e,", ")+"]"},ObjectValue:{leave:({fields:e})=>"{"+$e(e,", ")+"}"},ObjectField:{leave:({name:e,value:t})=>e+": "+t},Directive:{leave:({name:e,arguments:t})=>"@"+e+Ot("(",$e(t,", "),")")},NamedType:{leave:({name:e})=>e},ListType:{leave:({type:e})=>"["+e+"]"},NonNullType:{leave:({type:e})=>e+"!"},SchemaDefinition:{leave:({directives:e,operationTypes:t})=>$e(["schema",$e(e," "),Dn(t)]," ")},OperationTypeDefinition:{leave:({operation:e,type:t})=>e+": "+t},ScalarTypeDefinition:{leave:({name:e,directives:t})=>$e(["scalar",e,$e(t," ")]," ")},ObjectTypeDefinition:{leave:({name:e,interfaces:t,directives:r,fields:n})=>$e(["type",e,Ot("implements ",$e(t," & ")),$e(r," "),Dn(n)]," ")},FieldDefinition:{leave:({name:e,arguments:t,type:r,directives:n})=>e+(Hy(t)?Ot(`( `,hi($e(t,` `)),` -)`):Ot("(",$e(t,", "),")"))+": "+r+Ot(" ",$e(n," "))},InputValueDefinition:{leave:({name:e,type:t,defaultValue:r,directives:n})=>$e([e+": "+t,Ot("= ",r),$e(n," ")]," ")},InterfaceTypeDefinition:{leave:({name:e,interfaces:t,directives:r,fields:n})=>$e(["interface",e,Ot("implements ",$e(t," & ")),$e(r," "),Dn(n)]," ")},UnionTypeDefinition:{leave:({name:e,directives:t,types:r})=>$e(["union",e,$e(t," "),Ot("= ",$e(r," | "))]," ")},EnumTypeDefinition:{leave:({name:e,directives:t,values:r})=>$e(["enum",e,$e(t," "),Dn(r)]," ")},EnumValueDefinition:{leave:({name:e,directives:t})=>$e([e,$e(t," ")]," ")},InputObjectTypeDefinition:{leave:({name:e,directives:t,fields:r})=>$e(["input",e,$e(t," "),Dn(r)]," ")},DirectiveDefinition:{leave:({name:e,arguments:t,repeatable:r,locations:n})=>"directive @"+e+(Vy(t)?Ot(`( +)`):Ot("(",$e(t,", "),")"))+": "+r+Ot(" ",$e(n," "))},InputValueDefinition:{leave:({name:e,type:t,defaultValue:r,directives:n})=>$e([e+": "+t,Ot("= ",r),$e(n," ")]," ")},InterfaceTypeDefinition:{leave:({name:e,interfaces:t,directives:r,fields:n})=>$e(["interface",e,Ot("implements ",$e(t," & ")),$e(r," "),Dn(n)]," ")},UnionTypeDefinition:{leave:({name:e,directives:t,types:r})=>$e(["union",e,$e(t," "),Ot("= ",$e(r," | "))]," ")},EnumTypeDefinition:{leave:({name:e,directives:t,values:r})=>$e(["enum",e,$e(t," "),Dn(r)]," ")},EnumValueDefinition:{leave:({name:e,directives:t})=>$e([e,$e(t," ")]," ")},InputObjectTypeDefinition:{leave:({name:e,directives:t,fields:r})=>$e(["input",e,$e(t," "),Dn(r)]," ")},DirectiveDefinition:{leave:({name:e,arguments:t,repeatable:r,locations:n})=>"directive @"+e+(Hy(t)?Ot(`( `,hi($e(t,` `)),` -)`):Ot("(",$e(t,", "),")"))+(r?" repeatable":"")+" on "+$e(n," | ")},SchemaExtension:{leave:({directives:e,operationTypes:t})=>$e(["extend schema",$e(e," "),Dn(t)]," ")},ScalarTypeExtension:{leave:({name:e,directives:t})=>$e(["extend scalar",e,$e(t," ")]," ")},ObjectTypeExtension:{leave:({name:e,interfaces:t,directives:r,fields:n})=>$e(["extend type",e,Ot("implements ",$e(t," & ")),$e(r," "),Dn(n)]," ")},InterfaceTypeExtension:{leave:({name:e,interfaces:t,directives:r,fields:n})=>$e(["extend interface",e,Ot("implements ",$e(t," & ")),$e(r," "),Dn(n)]," ")},UnionTypeExtension:{leave:({name:e,directives:t,types:r})=>$e(["extend union",e,$e(t," "),Ot("= ",$e(r," | "))]," ")},EnumTypeExtension:{leave:({name:e,directives:t,values:r})=>$e(["extend enum",e,$e(t," "),Dn(r)]," ")},InputObjectTypeExtension:{leave:({name:e,directives:t,fields:r})=>$e(["extend input",e,$e(t," "),Dn(r)]," ")}},Ik=Object.keys(Hy).reduce((e,t)=>({...e,[t]:{leave:kk(Hy[t].leave)}}),{});function Nk(e){return Wi(e,Ik)}function qk(e){return e.kind==="FieldDefinition"}function xk(e){const t=Rk(e);if(t!==void 0)return jk(` -${t}`)}function Rk(e){const t=e.loc;if(!t)return;const r=[];let n=t.startToken.prev;for(;n!=null&&n.kind===me.COMMENT&&n.next!=null&&n.prev!=null&&n.line+1===n.next.line&&n.line!==n.prev.line;){const u=String(n.value);r.push(u),n=n.prev}return r.length>0?r.reverse().join(` -`):void 0}function jk(e){const t=e.split(/\r\n|[\n\r]/g),r=Mk(t);if(r!==0)for(let n=1;n0&&Wy(t[0]);)t.shift();for(;t.length>0&&Wy(t[t.length-1]);)t.pop();return t.join(` -`)}function Mk(e){let t=null;for(let r=1;rs(d));return{typeMap:n,directives:u};function s(d){if(A5(d))return d;const f=d.toConfig();return f.args=o(f.args),new cs(f)}function o(d){const f={};for(const h in d){const y=d[h],A=p(y.type);A!=null&&(y.type=A,f[h]=y)}return f}function a(d){if(Xe(d)){const f=d.toConfig(),h={...f,fields:()=>i(f.fields),interfaces:()=>l(f.interfaces)};return new jr(h)}else if(dt(d)){const f=d.toConfig(),h={...f,fields:()=>i(f.fields)};return"interfaces"in h&&(h.interfaces=()=>l(f.interfaces)),new is(h)}else if(or(d)){const f=d.toConfig(),h={...f,types:()=>l(f.types)};return new $i(h)}else if(At(d)){const f=d.toConfig(),h={...f,fields:()=>c(f.fields)};return new Ks(h)}else if(Kt(d)){const f=d.toConfig();return new tu(f)}else if(zr(d)){if(zi(d))return d;const f=d.toConfig();return new eu(f)}throw new Error(`Unexpected schema type: ${d}`)}function i(d){const f={};for(const h in d){const y=d[h],A=p(y.type);A!=null&&y.args&&(y.type=A,y.args=o(y.args),f[h]=y)}return f}function c(d){const f={};for(const h in d){const y=d[h],A=p(y.type);A!=null&&(y.type=A,f[h]=y)}return f}function l(d){const f=[];for(const h of d){const y=p(h);y!=null&&f.push(y)}return f}function p(d){if(qt(d)){const f=p(d.ofType);return f!=null?new Dr(f):null}else if(nt(d)){const f=p(d.ofType);return f!=null?new Qe(f):null}else if(qp(d)){let f=r[d.name];return f===void 0&&(f=Lk(d)?Uk(d):a(d),n[f.name]=r[d.name]=f),f!=null?n[f.name]:null}return null}}function np(e,t,r=null,n=null){if(t==null)return t;const u=rm(e);if(on(u))return r!=null?r(u,t):t;if(qt(u))return Z5(t).map(s=>np(u.ofType,s,r,n));if(At(u)){const s=u.getFields(),o={};for(const a in t){const i=s[a];i!=null&&(o[a]=np(i.type,t[a],r,n))}return n!=null?n(u,o):o}}function n6(e,t){return np(e,t,(r,n)=>{try{return r.serialize(n)}catch{return n}})}function u6(e,t){return np(e,t,(r,n)=>{try{return r.parseValue(n)}catch{return n}})}function j2(e,t={}){const r=o6(s6(M2(Jy(Vk(M2(Jy(e.getTypeMap(),e,n6),e,t,a=>on(a)),e,t),e,u6),e,t,a=>!on(a)),e,t),e,t),n=e.getDirectives(),u=Hk(n,e,t),{typeMap:s,directives:o}=Gk(r,u);return new cm({...e.toConfig(),query:mo(s,mo(r,e.getQueryType())),mutation:mo(s,mo(r,e.getMutationType())),subscription:mo(s,mo(r,e.getSubscriptionType())),types:Object.values(s),directives:o})}function M2(e,t,r,n=()=>!0){const u={};for(const s in e)if(!s.startsWith("__")){const o=e[s];if(o==null||!n(o)){u[s]=o;continue}const a=Jk(t,r,s);if(a==null){u[s]=o;continue}const i=a(o,t);if(i===void 0){u[s]=o;continue}u[s]=i}return u}function Vk(e,t,r){const n=Zk(r);return n?M2(e,t,{[ze.ENUM_TYPE]:u=>{const s=u.toConfig(),o=s.values,a={};for(const i in o){const c=o[i],l=n(c,u.name,t,i);if(l===void 0)a[i]=c;else if(Array.isArray(l)){const[p,d]=l;a[p]=d===void 0?c:d}else l!==null&&(a[i]=l)}return Bl(new tu({...s,values:a}))}},u=>Kt(u)):e}function Jy(e,t,r){const n=o6(e,t,{[ze.ARGUMENT]:u=>{if(u.defaultValue===void 0)return u;const s=up(e,u.type);if(s!=null)return{...u,defaultValue:r(s,u.defaultValue)}}});return s6(n,t,{[ze.INPUT_OBJECT_FIELD]:u=>{if(u.defaultValue===void 0)return u;const s=up(n,u.type);if(s!=null)return{...u,defaultValue:r(s,u.defaultValue)}}})}function up(e,t){if(qt(t)){const r=up(e,t.ofType);return r!=null?new Dr(r):null}else if(nt(t)){const r=up(e,t.ofType);return r!=null?new Qe(r):null}else if(qp(t)){const r=e[t.name];return r??null}return null}function s6(e,t,r){const n={};for(const u in e)if(!u.startsWith("__")){const s=e[u];if(!Xe(s)&&!dt(s)&&!At(s)){n[u]=s;continue}const o=Kk(t,r,u);if(o==null){n[u]=s;continue}const a=s.toConfig(),i=a.fields,c={};for(const l in i){const p=i[l],d=o(p,l,u,t);if(d===void 0)c[l]=p;else if(Array.isArray(d)){const[f,h]=d;h.astNode!=null&&(h.astNode={...h.astNode,name:{...h.astNode.name,value:f}}),c[f]=h===void 0?p:h}else d!==null&&(c[l]=d)}Xe(s)?n[u]=Bl(new jr({...a,fields:c})):dt(s)?n[u]=Bl(new is({...a,fields:c})):n[u]=Bl(new Ks({...a,fields:c}))}return n}function o6(e,t,r){const n={};for(const u in e)if(!u.startsWith("__")){const s=e[u];if(!Xe(s)&&!dt(s)){n[u]=s;continue}const o=Xk(r);if(o==null){n[u]=s;continue}const a=s.toConfig(),i=a.fields,c={};for(const l in i){const p=i[l],d=p.args;if(d==null){c[l]=p;continue}const f=Object.keys(d);if(!f.length){c[l]=p;continue}const h={};for(const y of f){const A=d[y],m=o(A,l,u,t);if(m===void 0)h[y]=A;else if(Array.isArray(m)){const[v,C]=m;h[v]=C}else m!==null&&(h[y]=m)}c[l]={...p,args:h}}Xe(s)?n[u]=new jr({...a,fields:c}):dt(s)?n[u]=new is({...a,fields:c}):n[u]=new Ks({...a,fields:c})}return n}function Hk(e,t,r){const n=Yk(r);if(n==null)return e.slice();const u=[];for(const s of e){const o=n(s,t);o===void 0?u.push(s):o!==null&&u.push(o)}return u}function Wk(e,t){var r,n,u;const s=e.getType(t),o=[ze.TYPE];return Xe(s)?(o.push(ze.COMPOSITE_TYPE,ze.OBJECT_TYPE),t===((r=e.getQueryType())===null||r===void 0?void 0:r.name)?o.push(ze.ROOT_OBJECT,ze.QUERY):t===((n=e.getMutationType())===null||n===void 0?void 0:n.name)?o.push(ze.ROOT_OBJECT,ze.MUTATION):t===((u=e.getSubscriptionType())===null||u===void 0?void 0:u.name)&&o.push(ze.ROOT_OBJECT,ze.SUBSCRIPTION)):At(s)?o.push(ze.INPUT_OBJECT_TYPE):dt(s)?o.push(ze.COMPOSITE_TYPE,ze.ABSTRACT_TYPE,ze.INTERFACE_TYPE):or(s)?o.push(ze.COMPOSITE_TYPE,ze.ABSTRACT_TYPE,ze.UNION_TYPE):Kt(s)?o.push(ze.ENUM_TYPE):zr(s)&&o.push(ze.SCALAR_TYPE),o}function Jk(e,t,r){const n=Wk(e,r);let u;const s=[...n];for(;!u&&s.length>0;){const o=s.pop();u=t[o]}return u??null}function zk(e,t){var r,n,u;const s=e.getType(t),o=[ze.FIELD];return Xe(s)?(o.push(ze.COMPOSITE_FIELD,ze.OBJECT_FIELD),t===((r=e.getQueryType())===null||r===void 0?void 0:r.name)?o.push(ze.ROOT_FIELD,ze.QUERY_ROOT_FIELD):t===((n=e.getMutationType())===null||n===void 0?void 0:n.name)?o.push(ze.ROOT_FIELD,ze.MUTATION_ROOT_FIELD):t===((u=e.getSubscriptionType())===null||u===void 0?void 0:u.name)&&o.push(ze.ROOT_FIELD,ze.SUBSCRIPTION_ROOT_FIELD)):dt(s)?o.push(ze.COMPOSITE_FIELD,ze.INTERFACE_FIELD):At(s)&&o.push(ze.INPUT_OBJECT_FIELD),o}function Kk(e,t,r){const n=zk(e,r);let u;const s=[...n];for(;!u&&s.length>0;){const o=s.pop();u=t[o]}return u??null}function Xk(e){const t=e[ze.ARGUMENT];return t??null}function Yk(e){const t=e[ze.DIRECTIVE];return t??null}function Zk(e){const t=e[ze.ENUM_VALUE];return t??null}function Bl(e){if(Xe(e)){const t=e.toConfig();if(t.astNode!=null){const r=[];for(const n in t.fields){const u=t.fields[n];u.astNode!=null&&r.push(u.astNode)}t.astNode={...t.astNode,kind:j.OBJECT_TYPE_DEFINITION,fields:r}}return t.extensionASTNodes!=null&&(t.extensionASTNodes=t.extensionASTNodes.map(r=>({...r,kind:j.OBJECT_TYPE_EXTENSION,fields:void 0}))),new jr(t)}else if(dt(e)){const t=e.toConfig();if(t.astNode!=null){const r=[];for(const n in t.fields){const u=t.fields[n];u.astNode!=null&&r.push(u.astNode)}t.astNode={...t.astNode,kind:j.INTERFACE_TYPE_DEFINITION,fields:r}}return t.extensionASTNodes!=null&&(t.extensionASTNodes=t.extensionASTNodes.map(r=>({...r,kind:j.INTERFACE_TYPE_EXTENSION,fields:void 0}))),new is(t)}else if(At(e)){const t=e.toConfig();if(t.astNode!=null){const r=[];for(const n in t.fields){const u=t.fields[n];u.astNode!=null&&r.push(u.astNode)}t.astNode={...t.astNode,kind:j.INPUT_OBJECT_TYPE_DEFINITION,fields:r}}return t.extensionASTNodes!=null&&(t.extensionASTNodes=t.extensionASTNodes.map(r=>({...r,kind:j.INPUT_OBJECT_TYPE_EXTENSION,fields:void 0}))),new Ks(t)}else if(Kt(e)){const t=e.toConfig();if(t.astNode!=null){const r=[];for(const n in t.values){const u=t.values[n];u.astNode!=null&&r.push(u.astNode)}t.astNode={...t.astNode,values:r}}return t.extensionASTNodes!=null&&(t.extensionASTNodes=t.extensionASTNodes.map(r=>({...r,values:void 0}))),new tu(t)}else return e}function Qk(e){return eO(e.getTypeMap(),e.getDirectives()),e}function eO(e,t){const r=Object.create(null);for(const c in e){const l=e[c];if(l==null||c.startsWith("__"))continue;const p=l.name;if(!p.startsWith("__")){if(r[p]!=null){console.warn(`Duplicate schema type name ${p} found; keeping the existing one found in the schema`);continue}r[p]=l}}for(const c in r){const l=r[c];e[c]=l}for(const c of t)c.args=c.args.filter(l=>(l.type=i(l.type),l.type!==null));for(const c in e){const l=e[c];!c.startsWith("__")&&c in r&&l!=null&&n(l)}for(const c in e)!c.startsWith("__")&&!(c in r)&&delete e[c];function n(c){if(Xe(c)){u(c),s(c);return}else if(dt(c)){u(c),"getInterfaces"in c&&s(c);return}else if(or(c)){a(c);return}else if(At(c)){o(c);return}else if(on(c))return;throw new Error(`Unexpected schema type: ${c}`)}function u(c){const l=c.getFields();for(const[p,d]of Object.entries(l))d.args.map(f=>(f.type=i(f.type),f.type===null?null:f)).filter(Boolean),d.type=i(d.type),d.type===null&&delete l[p]}function s(c){if("getInterfaces"in c){const l=c.getInterfaces();l.push(...l.splice(0).map(p=>i(p)).filter(Boolean))}}function o(c){const l=c.getFields();for(const[p,d]of Object.entries(l))d.type=i(d.type),d.type===null&&delete l[p]}function a(c){const l=c.getTypes();l.push(...l.splice(0).map(p=>i(p)).filter(Boolean))}function i(c){if(qt(c)){const l=i(c.ofType);return l!=null?new Dr(l):null}else if(nt(c)){const l=i(c.ofType);return l!=null?new Qe(l):null}else if(qp(c)){const l=e[c.name];if(l&&c!==l)return l}return c}}function a6(e,t){const r=e.getTypeMap();for(const n in r){const u=r[n];if(!xr(u).name.startsWith("__")&&Xe(u)){const s=u.getFields();for(const o in s){const a=s[o];t(a,n,o)}}}}function zy(e,t){const r=e.getTypeMap();for(const n in r){const u=r[n];if(!xr(u).name.startsWith("__")){if(Xe(u)){const s=u.getFields();for(const o in s){const a=s[o];for(const i of a.args)i.defaultValue=t(i.type,i.defaultValue)}}else if(At(u)){const s=u.getFields();for(const o in s){const a=s[o];a.defaultValue=t(a.type,a.defaultValue)}}}}}function Gp(e,t=!1){const r=e[0]||{},n={};t&&Object.setPrototypeOf(n,Object.create(Object.getPrototypeOf(r)));for(const u of e)if(nf(r)&&nf(u)){if(t){const s=Object.getPrototypeOf(n),o=Object.getPrototypeOf(u);if(o)for(const a of Object.getOwnPropertyNames(o)){const i=Object.getOwnPropertyDescriptor(o,a);Mp(i)&&Object.defineProperty(s,a,i)}}for(const s in u)nf(u[s])?s in n?n[s]=Gp([n[s],u[s]],t):Object.assign(n,{[s]:u[s]}):Object.assign(n,{[s]:u[s]})}return n}function nf(e){return e&&typeof e=="object"&&!Array.isArray(e)}function tO(e){return e&&typeof e=="object"&&"kind"in e&&e.kind===j.DOCUMENT}function rO(e,t={}){const{requireResolversForArgs:r,requireResolversForNonScalar:n,requireResolversForAllFields:u}=t;if(u&&(r||n))throw new TypeError("requireResolversForAllFields takes precedence over the more specific assertions. Please configure either requireResolversForAllFields or requireResolversForArgs / requireResolversForNonScalar, but not a combination of them.");a6(e,(s,o,a)=>{u&&uf("requireResolversForAllFields",u,s,o,a),r&&s.args.length>0&&uf("requireResolversForArgs",r,s,o,a),n!=="ignore"&&!zr(xr(s.type))&&uf("requireResolversForNonScalar",n,s,o,a)})}function uf(e,t,r,n,u){if(!r.resolve){const s=`Resolver missing for "${n}.${u}". +)`):Ot("(",$e(t,", "),")"))+(r?" repeatable":"")+" on "+$e(n," | ")},SchemaExtension:{leave:({directives:e,operationTypes:t})=>$e(["extend schema",$e(e," "),Dn(t)]," ")},ScalarTypeExtension:{leave:({name:e,directives:t})=>$e(["extend scalar",e,$e(t," ")]," ")},ObjectTypeExtension:{leave:({name:e,interfaces:t,directives:r,fields:n})=>$e(["extend type",e,Ot("implements ",$e(t," & ")),$e(r," "),Dn(n)]," ")},InterfaceTypeExtension:{leave:({name:e,interfaces:t,directives:r,fields:n})=>$e(["extend interface",e,Ot("implements ",$e(t," & ")),$e(r," "),Dn(n)]," ")},UnionTypeExtension:{leave:({name:e,directives:t,types:r})=>$e(["extend union",e,$e(t," "),Ot("= ",$e(r," | "))]," ")},EnumTypeExtension:{leave:({name:e,directives:t,values:r})=>$e(["extend enum",e,$e(t," "),Dn(r)]," ")},InputObjectTypeExtension:{leave:({name:e,directives:t,fields:r})=>$e(["extend input",e,$e(t," "),Dn(r)]," ")}},qk=Object.keys(Wy).reduce((e,t)=>({...e,[t]:{leave:Ik(Wy[t].leave)}}),{});function xk(e){return Wi(e,qk)}function Rk(e){return e.kind==="FieldDefinition"}function jk(e){const t=Mk(e);if(t!==void 0)return Lk(` +${t}`)}function Mk(e){const t=e.loc;if(!t)return;const r=[];let n=t.startToken.prev;for(;n!=null&&n.kind===me.COMMENT&&n.next!=null&&n.prev!=null&&n.line+1===n.next.line&&n.line!==n.prev.line;){const u=String(n.value);r.push(u),n=n.prev}return r.length>0?r.reverse().join(` +`):void 0}function Lk(e){const t=e.split(/\r\n|[\n\r]/g),r=Uk(t);if(r!==0)for(let n=1;n0&&Jy(t[0]);)t.shift();for(;t.length>0&&Jy(t[t.length-1]);)t.pop();return t.join(` +`)}function Uk(e){let t=null;for(let r=1;rs(d));return{typeMap:n,directives:u};function s(d){if(C5(d))return d;const f=d.toConfig();return f.args=o(f.args),new cs(f)}function o(d){const f={};for(const h in d){const y=d[h],A=p(y.type);A!=null&&(y.type=A,f[h]=y)}return f}function a(d){if(Xe(d)){const f=d.toConfig(),h={...f,fields:()=>i(f.fields),interfaces:()=>l(f.interfaces)};return new jr(h)}else if(dt(d)){const f=d.toConfig(),h={...f,fields:()=>i(f.fields)};return"interfaces"in h&&(h.interfaces=()=>l(f.interfaces)),new is(h)}else if(or(d)){const f=d.toConfig(),h={...f,types:()=>l(f.types)};return new $i(h)}else if(At(d)){const f=d.toConfig(),h={...f,fields:()=>c(f.fields)};return new Ks(h)}else if(Kt(d)){const f=d.toConfig();return new tu(f)}else if(zr(d)){if(zi(d))return d;const f=d.toConfig();return new eu(f)}throw new Error(`Unexpected schema type: ${d}`)}function i(d){const f={};for(const h in d){const y=d[h],A=p(y.type);A!=null&&y.args&&(y.type=A,y.args=o(y.args),f[h]=y)}return f}function c(d){const f={};for(const h in d){const y=d[h],A=p(y.type);A!=null&&(y.type=A,f[h]=y)}return f}function l(d){const f=[];for(const h of d){const y=p(h);y!=null&&f.push(y)}return f}function p(d){if(qt(d)){const f=p(d.ofType);return f!=null?new Dr(f):null}else if(nt(d)){const f=p(d.ofType);return f!=null?new Qe(f):null}else if(qp(d)){let f=r[d.name];return f===void 0&&(f=Gk(d)?Vk(d):a(d),n[f.name]=r[d.name]=f),f!=null?n[f.name]:null}return null}}function np(e,t,r=null,n=null){if(t==null)return t;const u=nm(e);if(on(u))return r!=null?r(u,t):t;if(qt(u))return e6(t).map(s=>np(u.ofType,s,r,n));if(At(u)){const s=u.getFields(),o={};for(const a in t){const i=s[a];i!=null&&(o[a]=np(i.type,t[a],r,n))}return n!=null?n(u,o):o}}function s6(e,t){return np(e,t,(r,n)=>{try{return r.serialize(n)}catch{return n}})}function o6(e,t){return np(e,t,(r,n)=>{try{return r.parseValue(n)}catch{return n}})}function M2(e,t={}){const r=i6(a6(L2(zy(Wk(L2(zy(e.getTypeMap(),e,s6),e,t,a=>on(a)),e,t),e,o6),e,t,a=>!on(a)),e,t),e,t),n=e.getDirectives(),u=Jk(n,e,t),{typeMap:s,directives:o}=Hk(r,u);return new lm({...e.toConfig(),query:mo(s,mo(r,e.getQueryType())),mutation:mo(s,mo(r,e.getMutationType())),subscription:mo(s,mo(r,e.getSubscriptionType())),types:Object.values(s),directives:o})}function L2(e,t,r,n=()=>!0){const u={};for(const s in e)if(!s.startsWith("__")){const o=e[s];if(o==null||!n(o)){u[s]=o;continue}const a=Kk(t,r,s);if(a==null){u[s]=o;continue}const i=a(o,t);if(i===void 0){u[s]=o;continue}u[s]=i}return u}function Wk(e,t,r){const n=eO(r);return n?L2(e,t,{[ze.ENUM_TYPE]:u=>{const s=u.toConfig(),o=s.values,a={};for(const i in o){const c=o[i],l=n(c,u.name,t,i);if(l===void 0)a[i]=c;else if(Array.isArray(l)){const[p,d]=l;a[p]=d===void 0?c:d}else l!==null&&(a[i]=l)}return Bl(new tu({...s,values:a}))}},u=>Kt(u)):e}function zy(e,t,r){const n=i6(e,t,{[ze.ARGUMENT]:u=>{if(u.defaultValue===void 0)return u;const s=up(e,u.type);if(s!=null)return{...u,defaultValue:r(s,u.defaultValue)}}});return a6(n,t,{[ze.INPUT_OBJECT_FIELD]:u=>{if(u.defaultValue===void 0)return u;const s=up(n,u.type);if(s!=null)return{...u,defaultValue:r(s,u.defaultValue)}}})}function up(e,t){if(qt(t)){const r=up(e,t.ofType);return r!=null?new Dr(r):null}else if(nt(t)){const r=up(e,t.ofType);return r!=null?new Qe(r):null}else if(qp(t)){const r=e[t.name];return r??null}return null}function a6(e,t,r){const n={};for(const u in e)if(!u.startsWith("__")){const s=e[u];if(!Xe(s)&&!dt(s)&&!At(s)){n[u]=s;continue}const o=Yk(t,r,u);if(o==null){n[u]=s;continue}const a=s.toConfig(),i=a.fields,c={};for(const l in i){const p=i[l],d=o(p,l,u,t);if(d===void 0)c[l]=p;else if(Array.isArray(d)){const[f,h]=d;h.astNode!=null&&(h.astNode={...h.astNode,name:{...h.astNode.name,value:f}}),c[f]=h===void 0?p:h}else d!==null&&(c[l]=d)}Xe(s)?n[u]=Bl(new jr({...a,fields:c})):dt(s)?n[u]=Bl(new is({...a,fields:c})):n[u]=Bl(new Ks({...a,fields:c}))}return n}function i6(e,t,r){const n={};for(const u in e)if(!u.startsWith("__")){const s=e[u];if(!Xe(s)&&!dt(s)){n[u]=s;continue}const o=Zk(r);if(o==null){n[u]=s;continue}const a=s.toConfig(),i=a.fields,c={};for(const l in i){const p=i[l],d=p.args;if(d==null){c[l]=p;continue}const f=Object.keys(d);if(!f.length){c[l]=p;continue}const h={};for(const y of f){const A=d[y],m=o(A,l,u,t);if(m===void 0)h[y]=A;else if(Array.isArray(m)){const[v,C]=m;h[v]=C}else m!==null&&(h[y]=m)}c[l]={...p,args:h}}Xe(s)?n[u]=new jr({...a,fields:c}):dt(s)?n[u]=new is({...a,fields:c}):n[u]=new Ks({...a,fields:c})}return n}function Jk(e,t,r){const n=Qk(r);if(n==null)return e.slice();const u=[];for(const s of e){const o=n(s,t);o===void 0?u.push(s):o!==null&&u.push(o)}return u}function zk(e,t){var r,n,u;const s=e.getType(t),o=[ze.TYPE];return Xe(s)?(o.push(ze.COMPOSITE_TYPE,ze.OBJECT_TYPE),t===((r=e.getQueryType())===null||r===void 0?void 0:r.name)?o.push(ze.ROOT_OBJECT,ze.QUERY):t===((n=e.getMutationType())===null||n===void 0?void 0:n.name)?o.push(ze.ROOT_OBJECT,ze.MUTATION):t===((u=e.getSubscriptionType())===null||u===void 0?void 0:u.name)&&o.push(ze.ROOT_OBJECT,ze.SUBSCRIPTION)):At(s)?o.push(ze.INPUT_OBJECT_TYPE):dt(s)?o.push(ze.COMPOSITE_TYPE,ze.ABSTRACT_TYPE,ze.INTERFACE_TYPE):or(s)?o.push(ze.COMPOSITE_TYPE,ze.ABSTRACT_TYPE,ze.UNION_TYPE):Kt(s)?o.push(ze.ENUM_TYPE):zr(s)&&o.push(ze.SCALAR_TYPE),o}function Kk(e,t,r){const n=zk(e,r);let u;const s=[...n];for(;!u&&s.length>0;){const o=s.pop();u=t[o]}return u??null}function Xk(e,t){var r,n,u;const s=e.getType(t),o=[ze.FIELD];return Xe(s)?(o.push(ze.COMPOSITE_FIELD,ze.OBJECT_FIELD),t===((r=e.getQueryType())===null||r===void 0?void 0:r.name)?o.push(ze.ROOT_FIELD,ze.QUERY_ROOT_FIELD):t===((n=e.getMutationType())===null||n===void 0?void 0:n.name)?o.push(ze.ROOT_FIELD,ze.MUTATION_ROOT_FIELD):t===((u=e.getSubscriptionType())===null||u===void 0?void 0:u.name)&&o.push(ze.ROOT_FIELD,ze.SUBSCRIPTION_ROOT_FIELD)):dt(s)?o.push(ze.COMPOSITE_FIELD,ze.INTERFACE_FIELD):At(s)&&o.push(ze.INPUT_OBJECT_FIELD),o}function Yk(e,t,r){const n=Xk(e,r);let u;const s=[...n];for(;!u&&s.length>0;){const o=s.pop();u=t[o]}return u??null}function Zk(e){const t=e[ze.ARGUMENT];return t??null}function Qk(e){const t=e[ze.DIRECTIVE];return t??null}function eO(e){const t=e[ze.ENUM_VALUE];return t??null}function Bl(e){if(Xe(e)){const t=e.toConfig();if(t.astNode!=null){const r=[];for(const n in t.fields){const u=t.fields[n];u.astNode!=null&&r.push(u.astNode)}t.astNode={...t.astNode,kind:j.OBJECT_TYPE_DEFINITION,fields:r}}return t.extensionASTNodes!=null&&(t.extensionASTNodes=t.extensionASTNodes.map(r=>({...r,kind:j.OBJECT_TYPE_EXTENSION,fields:void 0}))),new jr(t)}else if(dt(e)){const t=e.toConfig();if(t.astNode!=null){const r=[];for(const n in t.fields){const u=t.fields[n];u.astNode!=null&&r.push(u.astNode)}t.astNode={...t.astNode,kind:j.INTERFACE_TYPE_DEFINITION,fields:r}}return t.extensionASTNodes!=null&&(t.extensionASTNodes=t.extensionASTNodes.map(r=>({...r,kind:j.INTERFACE_TYPE_EXTENSION,fields:void 0}))),new is(t)}else if(At(e)){const t=e.toConfig();if(t.astNode!=null){const r=[];for(const n in t.fields){const u=t.fields[n];u.astNode!=null&&r.push(u.astNode)}t.astNode={...t.astNode,kind:j.INPUT_OBJECT_TYPE_DEFINITION,fields:r}}return t.extensionASTNodes!=null&&(t.extensionASTNodes=t.extensionASTNodes.map(r=>({...r,kind:j.INPUT_OBJECT_TYPE_EXTENSION,fields:void 0}))),new Ks(t)}else if(Kt(e)){const t=e.toConfig();if(t.astNode!=null){const r=[];for(const n in t.values){const u=t.values[n];u.astNode!=null&&r.push(u.astNode)}t.astNode={...t.astNode,values:r}}return t.extensionASTNodes!=null&&(t.extensionASTNodes=t.extensionASTNodes.map(r=>({...r,values:void 0}))),new tu(t)}else return e}function tO(e){return rO(e.getTypeMap(),e.getDirectives()),e}function rO(e,t){const r=Object.create(null);for(const c in e){const l=e[c];if(l==null||c.startsWith("__"))continue;const p=l.name;if(!p.startsWith("__")){if(r[p]!=null){console.warn(`Duplicate schema type name ${p} found; keeping the existing one found in the schema`);continue}r[p]=l}}for(const c in r){const l=r[c];e[c]=l}for(const c of t)c.args=c.args.filter(l=>(l.type=i(l.type),l.type!==null));for(const c in e){const l=e[c];!c.startsWith("__")&&c in r&&l!=null&&n(l)}for(const c in e)!c.startsWith("__")&&!(c in r)&&delete e[c];function n(c){if(Xe(c)){u(c),s(c);return}else if(dt(c)){u(c),"getInterfaces"in c&&s(c);return}else if(or(c)){a(c);return}else if(At(c)){o(c);return}else if(on(c))return;throw new Error(`Unexpected schema type: ${c}`)}function u(c){const l=c.getFields();for(const[p,d]of Object.entries(l))d.args.map(f=>(f.type=i(f.type),f.type===null?null:f)).filter(Boolean),d.type=i(d.type),d.type===null&&delete l[p]}function s(c){if("getInterfaces"in c){const l=c.getInterfaces();l.push(...l.splice(0).map(p=>i(p)).filter(Boolean))}}function o(c){const l=c.getFields();for(const[p,d]of Object.entries(l))d.type=i(d.type),d.type===null&&delete l[p]}function a(c){const l=c.getTypes();l.push(...l.splice(0).map(p=>i(p)).filter(Boolean))}function i(c){if(qt(c)){const l=i(c.ofType);return l!=null?new Dr(l):null}else if(nt(c)){const l=i(c.ofType);return l!=null?new Qe(l):null}else if(qp(c)){const l=e[c.name];if(l&&c!==l)return l}return c}}function c6(e,t){const r=e.getTypeMap();for(const n in r){const u=r[n];if(!xr(u).name.startsWith("__")&&Xe(u)){const s=u.getFields();for(const o in s){const a=s[o];t(a,n,o)}}}}function Ky(e,t){const r=e.getTypeMap();for(const n in r){const u=r[n];if(!xr(u).name.startsWith("__")){if(Xe(u)){const s=u.getFields();for(const o in s){const a=s[o];for(const i of a.args)i.defaultValue=t(i.type,i.defaultValue)}}else if(At(u)){const s=u.getFields();for(const o in s){const a=s[o];a.defaultValue=t(a.type,a.defaultValue)}}}}}function Gp(e,t=!1){const r=e[0]||{},n={};t&&Object.setPrototypeOf(n,Object.create(Object.getPrototypeOf(r)));for(const u of e)if(nf(r)&&nf(u)){if(t){const s=Object.getPrototypeOf(n),o=Object.getPrototypeOf(u);if(o)for(const a of Object.getOwnPropertyNames(o)){const i=Object.getOwnPropertyDescriptor(o,a);Mp(i)&&Object.defineProperty(s,a,i)}}for(const s in u)nf(u[s])?s in n?n[s]=Gp([n[s],u[s]],t):Object.assign(n,{[s]:u[s]}):Object.assign(n,{[s]:u[s]})}return n}function nf(e){return e&&typeof e=="object"&&!Array.isArray(e)}function nO(e){return e&&typeof e=="object"&&"kind"in e&&e.kind===j.DOCUMENT}function uO(e,t={}){const{requireResolversForArgs:r,requireResolversForNonScalar:n,requireResolversForAllFields:u}=t;if(u&&(r||n))throw new TypeError("requireResolversForAllFields takes precedence over the more specific assertions. Please configure either requireResolversForAllFields or requireResolversForArgs / requireResolversForNonScalar, but not a combination of them.");c6(e,(s,o,a)=>{u&&uf("requireResolversForAllFields",u,s,o,a),r&&s.args.length>0&&uf("requireResolversForArgs",r,s,o,a),n!=="ignore"&&!zr(xr(s.type))&&uf("requireResolversForNonScalar",n,s,o,a)})}function uf(e,t,r,n,u){if(!r.resolve){const s=`Resolver missing for "${n}.${u}". To disable this validator, use: resolverValidationOptions: { ${e}: 'ignore' - }`;if(t==="error")throw new Error(s);t==="warn"&&console.warn(s);return}if(typeof r.resolve!="function")throw new Error(`Resolver "${n}.${u}" must be a function`)}function nO(e,t){j2(e,{[ze.ABSTRACT_TYPE]:r=>{if(!r.resolveType){const n=`Type "${r.name}" is missing a "__resolveType" resolver. Pass 'ignore' into "resolverValidationOptions.requireResolversForResolveType" to disable this error.`;if(t==="error")throw new Error(n);t==="warn"&&console.warn(n)}}})}function uO(e,t){const r={},n=e.getTypeMap();for(const u in n){const s=n[u];if("getInterfaces"in s){r[u]={};for(const a of s.getInterfaces())if(t[a.name])for(const i in t[a.name])(i==="__isTypeOf"||!i.startsWith("__"))&&(r[u][i]=t[a.name][i]);const o=t[u];r[u]={...r[u],...o}}else{const o=t[u];o!=null&&(r[u]=o)}}return r}function sO({schema:e,resolvers:t,defaultFieldResolver:r,resolverValidationOptions:n={},inheritResolversFromInterfaces:u=!1,updateResolversInPlace:s=!1}){const{requireResolversToMatchSchema:o="error",requireResolversForResolveType:a}=n,i=u?uO(e,t):t;for(const c in i){const l=i[c];if(typeof l!=="object")throw new Error(`"${c}" defined in resolvers, but has invalid value "${l}". The resolver's value must be of type object.`);const d=e.getType(c);if(d==null){if(o==="ignore")continue;throw new Error(`"${c}" defined in resolvers, but not in schema`)}else if(zi(d))for(const f in l)f.startsWith("__")?d[f.substring(2)]=l[f]:d[f]=l[f];else if(Kt(d)){const f=d.getValues();for(const h in l)if(!h.startsWith("__")&&!f.some(y=>y.name===h)&&o&&o!=="ignore")throw new Error(`${d.name}.${h} was defined in resolvers, but not present within ${d.name}`)}else if(or(d)){for(const f in l)if(!f.startsWith("__")&&o&&o!=="ignore")throw new Error(`${d.name}.${f} was defined in resolvers, but ${d.name} is not an object or interface type`)}else if(Xe(d)||dt(d)){for(const f in l)if(!f.startsWith("__"))if(d.getFields()[f]==null){if(o&&o!=="ignore")throw new Error(`${c}.${f} defined in resolvers, but not in schema`)}else{const A=l[f];if(typeof A!="function"&&typeof A!="object")throw new Error(`Resolver ${c}.${f} must be object or function`)}}}return e=s?oO(e,i,r):aO(e,i,r),a&&a!=="ignore"&&nO(e,a),e}function oO(e,t,r){var n,u,s,o,a,i,c,l,p,d,f,h;const y=e.getTypeMap();for(const A in t){const m=e.getType(A),v=t[A];if(zr(m))for(const C in v)C.startsWith("__")?m[C.substring(2)]=v[C]:C==="astNode"&&m.astNode!=null?m.astNode={...m.astNode,description:(u=(n=v==null?void 0:v.astNode)===null||n===void 0?void 0:n.description)!==null&&u!==void 0?u:m.astNode.description,directives:((s=m.astNode.directives)!==null&&s!==void 0?s:[]).concat((a=(o=v==null?void 0:v.astNode)===null||o===void 0?void 0:o.directives)!==null&&a!==void 0?a:[])}:C==="extensionASTNodes"&&m.extensionASTNodes!=null?m.extensionASTNodes=m.extensionASTNodes.concat((i=v==null?void 0:v.extensionASTNodes)!==null&&i!==void 0?i:[]):C==="extensions"&&m.extensions!=null&&v.extensions!=null?m.extensions=Object.assign(Object.create(null),m.extensions,v.extensions):m[C]=v[C];else if(Kt(m)){const C=m.toConfig(),B=C.values;for(const T in v)T.startsWith("__")?C[T.substring(2)]=v[T]:T==="astNode"&&C.astNode!=null?C.astNode={...C.astNode,description:(l=(c=v==null?void 0:v.astNode)===null||c===void 0?void 0:c.description)!==null&&l!==void 0?l:C.astNode.description,directives:((p=C.astNode.directives)!==null&&p!==void 0?p:[]).concat((f=(d=v==null?void 0:v.astNode)===null||d===void 0?void 0:d.directives)!==null&&f!==void 0?f:[])}:T==="extensionASTNodes"&&C.extensionASTNodes!=null?C.extensionASTNodes=C.extensionASTNodes.concat((h=v==null?void 0:v.extensionASTNodes)!==null&&h!==void 0?h:[]):T==="extensions"&&m.extensions!=null&&v.extensions!=null?m.extensions=Object.assign(Object.create(null),m.extensions,v.extensions):B[T]&&(B[T].value=v[T]);y[A]=new tu(C)}else if(or(m))for(const C in v)C.startsWith("__")&&(m[C.substring(2)]=v[C]);else if(Xe(m)||dt(m))for(const C in v){if(C.startsWith("__")){m[C.substring(2)]=v[C];continue}const T=m.getFields()[C];if(T!=null){const N=v[C];typeof N=="function"?T.resolve=N.bind(v):i6(T,N)}}}return zy(e,n6),Qk(e),zy(e,u6),r!=null&&a6(e,A=>{A.resolve||(A.resolve=r)}),e}function aO(e,t,r){return e=j2(e,{[ze.SCALAR_TYPE]:n=>{var u,s,o,a,i,c;const l=n.toConfig(),p=t[n.name];if(!zi(n)&&p!=null){for(const d in p)d.startsWith("__")?l[d.substring(2)]=p[d]:d==="astNode"&&l.astNode!=null?l.astNode={...l.astNode,description:(s=(u=p==null?void 0:p.astNode)===null||u===void 0?void 0:u.description)!==null&&s!==void 0?s:l.astNode.description,directives:((o=l.astNode.directives)!==null&&o!==void 0?o:[]).concat((i=(a=p==null?void 0:p.astNode)===null||a===void 0?void 0:a.directives)!==null&&i!==void 0?i:[])}:d==="extensionASTNodes"&&l.extensionASTNodes!=null?l.extensionASTNodes=l.extensionASTNodes.concat((c=p==null?void 0:p.extensionASTNodes)!==null&&c!==void 0?c:[]):d==="extensions"&&l.extensions!=null&&p.extensions!=null?l.extensions=Object.assign(Object.create(null),n.extensions,p.extensions):l[d]=p[d];return new eu(l)}},[ze.ENUM_TYPE]:n=>{var u,s,o,a,i,c;const l=t[n.name],p=n.toConfig(),d=p.values;if(l!=null){for(const f in l)f.startsWith("__")?p[f.substring(2)]=l[f]:f==="astNode"&&p.astNode!=null?p.astNode={...p.astNode,description:(s=(u=l==null?void 0:l.astNode)===null||u===void 0?void 0:u.description)!==null&&s!==void 0?s:p.astNode.description,directives:((o=p.astNode.directives)!==null&&o!==void 0?o:[]).concat((i=(a=l==null?void 0:l.astNode)===null||a===void 0?void 0:a.directives)!==null&&i!==void 0?i:[])}:f==="extensionASTNodes"&&p.extensionASTNodes!=null?p.extensionASTNodes=p.extensionASTNodes.concat((c=l==null?void 0:l.extensionASTNodes)!==null&&c!==void 0?c:[]):f==="extensions"&&p.extensions!=null&&l.extensions!=null?p.extensions=Object.assign(Object.create(null),n.extensions,l.extensions):d[f]&&(d[f].value=l[f]);return new tu(p)}},[ze.UNION_TYPE]:n=>{const u=t[n.name];if(u!=null){const s=n.toConfig();return u.__resolveType&&(s.resolveType=u.__resolveType),new $i(s)}},[ze.OBJECT_TYPE]:n=>{const u=t[n.name];if(u!=null){const s=n.toConfig();return u.__isTypeOf&&(s.isTypeOf=u.__isTypeOf),new jr(s)}},[ze.INTERFACE_TYPE]:n=>{const u=t[n.name];if(u!=null){const s=n.toConfig();return u.__resolveType&&(s.resolveType=u.__resolveType),new is(s)}},[ze.COMPOSITE_FIELD]:(n,u,s)=>{const o=t[s];if(o!=null){const a=o[u];if(a!=null){const i={...n};return typeof a=="function"?i.resolve=a.bind(o):i6(i,a),i}}}}),r!=null&&(e=j2(e,{[ze.OBJECT_FIELD]:n=>({...n,resolve:n.resolve!=null?n.resolve:r})})),e}function i6(e,t){for(const r in t)e[r]=t[r]}function c6(e,t){if(!e||Array.isArray(e)&&e.length===0)return{};if(!Array.isArray(e))return e;if(e.length===1)return e[0]||{};const r=new Array;for(let u of e)Array.isArray(u)&&(u=c6(u)),typeof u=="object"&&u&&r.push(u);return Gp(r,!0)}function iO(e,t,r){const n=cO([...t,...e].filter(Mp));return r&&r.sort&&n.sort(jp),n}function cO(e){return e.reduce((t,r)=>t.find(u=>u.name.value===r.name.value)?t:t.concat([r]),[])}function lO(e,t){return!!e.find(r=>r.name.value===t.name.value)}function pO(e,t){return t.some(({value:r})=>r===e.value)}function l6(e,t){const r=[...t];for(const n of e){const u=r.findIndex(s=>s.name.value===n.name.value);if(u>-1){const s=r[u];if(s.value.kind==="ListValue"){const o=s.value.values,a=n.value.values;s.value.values=hO(o,a,(i,c)=>{const l=i.value;return!l||!c.some(p=>p.value===l)})}else s.value=n.value}else r.push(n)}return r}function dO(e){return e.map((t,r,n)=>{const u=n.findIndex(s=>s.name.value===t.name.value);if(u!==r){const s=n[u];return t.arguments=l6(t.arguments,s.arguments),null}return t}).filter(Mp)}function $u(e=[],t=[],r){const n=r&&r.reverseDirectives,u=n?e:t,s=n?t:e,o=dO([...u]);for(const a of s)if(lO(o,a)){const i=o.findIndex(l=>l.name.value===a.name.value),c=o[i];o[i].arguments=l6(a.arguments||[],c.arguments||[])}else o.push(a);return o}function fO(e,t){const r=Wt({...e,description:void 0}),n=Wt({...t,description:void 0}),u=new RegExp("(directive @w*d*)|( on .*$)","g");if(!(r.replace(u,"")===n.replace(u,"")))throw new Error(`Unable to merge GraphQL directive "${e.name.value}". + }`;if(t==="error")throw new Error(s);t==="warn"&&console.warn(s);return}if(typeof r.resolve!="function")throw new Error(`Resolver "${n}.${u}" must be a function`)}function sO(e,t){M2(e,{[ze.ABSTRACT_TYPE]:r=>{if(!r.resolveType){const n=`Type "${r.name}" is missing a "__resolveType" resolver. Pass 'ignore' into "resolverValidationOptions.requireResolversForResolveType" to disable this error.`;if(t==="error")throw new Error(n);t==="warn"&&console.warn(n)}}})}function oO(e,t){const r={},n=e.getTypeMap();for(const u in n){const s=n[u];if("getInterfaces"in s){r[u]={};for(const a of s.getInterfaces())if(t[a.name])for(const i in t[a.name])(i==="__isTypeOf"||!i.startsWith("__"))&&(r[u][i]=t[a.name][i]);const o=t[u];r[u]={...r[u],...o}}else{const o=t[u];o!=null&&(r[u]=o)}}return r}function aO({schema:e,resolvers:t,defaultFieldResolver:r,resolverValidationOptions:n={},inheritResolversFromInterfaces:u=!1,updateResolversInPlace:s=!1}){const{requireResolversToMatchSchema:o="error",requireResolversForResolveType:a}=n,i=u?oO(e,t):t;for(const c in i){const l=i[c];if(typeof l!=="object")throw new Error(`"${c}" defined in resolvers, but has invalid value "${l}". The resolver's value must be of type object.`);const d=e.getType(c);if(d==null){if(o==="ignore")continue;throw new Error(`"${c}" defined in resolvers, but not in schema`)}else if(zi(d))for(const f in l)f.startsWith("__")?d[f.substring(2)]=l[f]:d[f]=l[f];else if(Kt(d)){const f=d.getValues();for(const h in l)if(!h.startsWith("__")&&!f.some(y=>y.name===h)&&o&&o!=="ignore")throw new Error(`${d.name}.${h} was defined in resolvers, but not present within ${d.name}`)}else if(or(d)){for(const f in l)if(!f.startsWith("__")&&o&&o!=="ignore")throw new Error(`${d.name}.${f} was defined in resolvers, but ${d.name} is not an object or interface type`)}else if(Xe(d)||dt(d)){for(const f in l)if(!f.startsWith("__"))if(d.getFields()[f]==null){if(o&&o!=="ignore")throw new Error(`${c}.${f} defined in resolvers, but not in schema`)}else{const A=l[f];if(typeof A!="function"&&typeof A!="object")throw new Error(`Resolver ${c}.${f} must be object or function`)}}}return e=s?iO(e,i,r):cO(e,i,r),a&&a!=="ignore"&&sO(e,a),e}function iO(e,t,r){var n,u,s,o,a,i,c,l,p,d,f,h;const y=e.getTypeMap();for(const A in t){const m=e.getType(A),v=t[A];if(zr(m))for(const C in v)C.startsWith("__")?m[C.substring(2)]=v[C]:C==="astNode"&&m.astNode!=null?m.astNode={...m.astNode,description:(u=(n=v==null?void 0:v.astNode)===null||n===void 0?void 0:n.description)!==null&&u!==void 0?u:m.astNode.description,directives:((s=m.astNode.directives)!==null&&s!==void 0?s:[]).concat((a=(o=v==null?void 0:v.astNode)===null||o===void 0?void 0:o.directives)!==null&&a!==void 0?a:[])}:C==="extensionASTNodes"&&m.extensionASTNodes!=null?m.extensionASTNodes=m.extensionASTNodes.concat((i=v==null?void 0:v.extensionASTNodes)!==null&&i!==void 0?i:[]):C==="extensions"&&m.extensions!=null&&v.extensions!=null?m.extensions=Object.assign(Object.create(null),m.extensions,v.extensions):m[C]=v[C];else if(Kt(m)){const C=m.toConfig(),B=C.values;for(const T in v)T.startsWith("__")?C[T.substring(2)]=v[T]:T==="astNode"&&C.astNode!=null?C.astNode={...C.astNode,description:(l=(c=v==null?void 0:v.astNode)===null||c===void 0?void 0:c.description)!==null&&l!==void 0?l:C.astNode.description,directives:((p=C.astNode.directives)!==null&&p!==void 0?p:[]).concat((f=(d=v==null?void 0:v.astNode)===null||d===void 0?void 0:d.directives)!==null&&f!==void 0?f:[])}:T==="extensionASTNodes"&&C.extensionASTNodes!=null?C.extensionASTNodes=C.extensionASTNodes.concat((h=v==null?void 0:v.extensionASTNodes)!==null&&h!==void 0?h:[]):T==="extensions"&&m.extensions!=null&&v.extensions!=null?m.extensions=Object.assign(Object.create(null),m.extensions,v.extensions):B[T]&&(B[T].value=v[T]);y[A]=new tu(C)}else if(or(m))for(const C in v)C.startsWith("__")&&(m[C.substring(2)]=v[C]);else if(Xe(m)||dt(m))for(const C in v){if(C.startsWith("__")){m[C.substring(2)]=v[C];continue}const T=m.getFields()[C];if(T!=null){const N=v[C];typeof N=="function"?T.resolve=N.bind(v):l6(T,N)}}}return Ky(e,s6),tO(e),Ky(e,o6),r!=null&&c6(e,A=>{A.resolve||(A.resolve=r)}),e}function cO(e,t,r){return e=M2(e,{[ze.SCALAR_TYPE]:n=>{var u,s,o,a,i,c;const l=n.toConfig(),p=t[n.name];if(!zi(n)&&p!=null){for(const d in p)d.startsWith("__")?l[d.substring(2)]=p[d]:d==="astNode"&&l.astNode!=null?l.astNode={...l.astNode,description:(s=(u=p==null?void 0:p.astNode)===null||u===void 0?void 0:u.description)!==null&&s!==void 0?s:l.astNode.description,directives:((o=l.astNode.directives)!==null&&o!==void 0?o:[]).concat((i=(a=p==null?void 0:p.astNode)===null||a===void 0?void 0:a.directives)!==null&&i!==void 0?i:[])}:d==="extensionASTNodes"&&l.extensionASTNodes!=null?l.extensionASTNodes=l.extensionASTNodes.concat((c=p==null?void 0:p.extensionASTNodes)!==null&&c!==void 0?c:[]):d==="extensions"&&l.extensions!=null&&p.extensions!=null?l.extensions=Object.assign(Object.create(null),n.extensions,p.extensions):l[d]=p[d];return new eu(l)}},[ze.ENUM_TYPE]:n=>{var u,s,o,a,i,c;const l=t[n.name],p=n.toConfig(),d=p.values;if(l!=null){for(const f in l)f.startsWith("__")?p[f.substring(2)]=l[f]:f==="astNode"&&p.astNode!=null?p.astNode={...p.astNode,description:(s=(u=l==null?void 0:l.astNode)===null||u===void 0?void 0:u.description)!==null&&s!==void 0?s:p.astNode.description,directives:((o=p.astNode.directives)!==null&&o!==void 0?o:[]).concat((i=(a=l==null?void 0:l.astNode)===null||a===void 0?void 0:a.directives)!==null&&i!==void 0?i:[])}:f==="extensionASTNodes"&&p.extensionASTNodes!=null?p.extensionASTNodes=p.extensionASTNodes.concat((c=l==null?void 0:l.extensionASTNodes)!==null&&c!==void 0?c:[]):f==="extensions"&&p.extensions!=null&&l.extensions!=null?p.extensions=Object.assign(Object.create(null),n.extensions,l.extensions):d[f]&&(d[f].value=l[f]);return new tu(p)}},[ze.UNION_TYPE]:n=>{const u=t[n.name];if(u!=null){const s=n.toConfig();return u.__resolveType&&(s.resolveType=u.__resolveType),new $i(s)}},[ze.OBJECT_TYPE]:n=>{const u=t[n.name];if(u!=null){const s=n.toConfig();return u.__isTypeOf&&(s.isTypeOf=u.__isTypeOf),new jr(s)}},[ze.INTERFACE_TYPE]:n=>{const u=t[n.name];if(u!=null){const s=n.toConfig();return u.__resolveType&&(s.resolveType=u.__resolveType),new is(s)}},[ze.COMPOSITE_FIELD]:(n,u,s)=>{const o=t[s];if(o!=null){const a=o[u];if(a!=null){const i={...n};return typeof a=="function"?i.resolve=a.bind(o):l6(i,a),i}}}}),r!=null&&(e=M2(e,{[ze.OBJECT_FIELD]:n=>({...n,resolve:n.resolve!=null?n.resolve:r})})),e}function l6(e,t){for(const r in t)e[r]=t[r]}function p6(e,t){if(!e||Array.isArray(e)&&e.length===0)return{};if(!Array.isArray(e))return e;if(e.length===1)return e[0]||{};const r=new Array;for(let u of e)Array.isArray(u)&&(u=p6(u)),typeof u=="object"&&u&&r.push(u);return Gp(r,!0)}function lO(e,t,r){const n=pO([...t,...e].filter(Mp));return r&&r.sort&&n.sort(jp),n}function pO(e){return e.reduce((t,r)=>t.find(u=>u.name.value===r.name.value)?t:t.concat([r]),[])}function dO(e,t){return!!e.find(r=>r.name.value===t.name.value)}function fO(e,t){return t.some(({value:r})=>r===e.value)}function d6(e,t){const r=[...t];for(const n of e){const u=r.findIndex(s=>s.name.value===n.name.value);if(u>-1){const s=r[u];if(s.value.kind==="ListValue"){const o=s.value.values,a=n.value.values;s.value.values=EO(o,a,(i,c)=>{const l=i.value;return!l||!c.some(p=>p.value===l)})}else s.value=n.value}else r.push(n)}return r}function DO(e){return e.map((t,r,n)=>{const u=n.findIndex(s=>s.name.value===t.name.value);if(u!==r){const s=n[u];return t.arguments=d6(t.arguments,s.arguments),null}return t}).filter(Mp)}function $u(e=[],t=[],r){const n=r&&r.reverseDirectives,u=n?e:t,s=n?t:e,o=DO([...u]);for(const a of s)if(dO(o,a)){const i=o.findIndex(l=>l.name.value===a.name.value),c=o[i];o[i].arguments=d6(a.arguments||[],c.arguments||[])}else o.push(a);return o}function hO(e,t){const r=Wt({...e,description:void 0}),n=Wt({...t,description:void 0}),u=new RegExp("(directive @w*d*)|( on .*$)","g");if(!(r.replace(u,"")===n.replace(u,"")))throw new Error(`Unable to merge GraphQL directive "${e.name.value}". Existing directive: ${n} Received directive: - ${r}`)}function DO(e,t){return t?(fO(e,t),{...e,locations:[...t.locations,...e.locations.filter(r=>!pO(r,t.locations))]}):e}function hO(e,t,r){return e.concat(t.filter(n=>r(n,e)))}function mO(e,t,r){if(r!=null&&r.consistentEnumMerge){const s=[];e&&s.push(...e),e=t,t=s}const n=new Map;if(e)for(const s of e)n.set(s.name.value,s);if(t)for(const s of t){const o=s.name.value;if(n.has(o)){const a=n.get(o);a.description=s.description||a.description,a.directives=$u(s.directives,a.directives)}else n.set(o,s)}const u=[...n.values()];return r&&r.sort&&u.sort(jp),u}function EO(e,t,r){return t?{name:e.name,description:e.description||t.description,kind:r!=null&&r.convertExtensions||e.kind==="EnumTypeDefinition"||t.kind==="EnumTypeDefinition"?"EnumTypeDefinition":"EnumTypeExtension",loc:e.loc,directives:$u(e.directives,t.directives,r),values:mO(e.values,t.values,r)}:r!=null&&r.convertExtensions?{...e,kind:j.ENUM_TYPE_DEFINITION}:e}function yO(e){return typeof e=="string"}function vO(e){return e instanceof Xh}function Ky(e){let t=e;for(;t.kind===j.LIST_TYPE||t.kind==="NonNullType";)t=t.type;return t}function Xy(e){return e.kind!==j.NAMED_TYPE}function L2(e){return e.kind===j.LIST_TYPE}function Ms(e){return e.kind===j.NON_NULL_TYPE}function sp(e){return L2(e)?`[${sp(e.type)}]`:Ms(e)?`${sp(e.type)}!`:e.name.value}var zu;(function(e){e[e.A_SMALLER_THAN_B=-1]="A_SMALLER_THAN_B",e[e.A_EQUALS_B=0]="A_EQUALS_B",e[e.A_GREATER_THAN_B=1]="A_GREATER_THAN_B"})(zu||(zu={}));function gO(e,t){return e==null&&t==null?zu.A_EQUALS_B:e==null?zu.A_SMALLER_THAN_B:t==null?zu.A_GREATER_THAN_B:et?zu.A_GREATER_THAN_B:zu.A_EQUALS_B}function AO(e,t,r){const n=e.find(u=>u.name.value===t.name.value);if(n&&!(r!=null&&r.ignoreFieldConflicts)){const u=Ky(n.type),s=Ky(t.type);if(u.name.value!==s.name.value)throw new Error(`Field "${t.name.value}" already defined with a different type. Declared as "${u.name.value}", but you tried to override with "${s.name.value}"`)}return!!n}function Em(e,t,r,n){const u=[];if(r!=null&&u.push(...r),t!=null)for(const s of t)if(AO(u,s,n)){const o=u.find(a=>a.name.value===s.name.value);n!=null&&n.ignoreFieldConflicts||(n!=null&&n.throwOnConflict?Yy(e,o,s,!1):Yy(e,o,s,!0),Ms(s.type)&&!Ms(o.type)&&(o.type=s.type)),o.arguments=iO(s.arguments||[],o.arguments||[],n),o.directives=$u(s.directives,o.directives,n),o.description=s.description||o.description}else u.push(s);if(n&&n.sort&&u.sort(jp),n&&n.exclusions){const s=n.exclusions;return u.filter(o=>!s.includes(`${e.name.value}.${o.name.value}`))}return u}function Yy(e,t,r,n=!1){const u=sp(t.type),s=sp(r.type);if(u!==s&&!ai(t.type,r.type,n))throw new Error(`Field '${e.name.value}.${t.name.value}' changed type from '${u}' to '${s}'`)}function ai(e,t,r=!1){if(!Xy(e)&&!Xy(t))return e.toString()===t.toString();if(Ms(t)){const n=Ms(e)?e.type:e;return ai(n,t.type)}return Ms(e)?ai(t,e,r):L2(e)?L2(t)&&ai(e.type,t.type)||Ms(t)&&ai(e,t.type):!1}function FO(e,t,r){if(t)try{return{name:e.name,description:e.description||t.description,kind:r!=null&&r.convertExtensions||e.kind==="InputObjectTypeDefinition"||t.kind==="InputObjectTypeDefinition"?"InputObjectTypeDefinition":"InputObjectTypeExtension",loc:e.loc,fields:Em(e,e.fields,t.fields,r),directives:$u(e.directives,t.directives,r)}}catch(n){throw new Error(`Unable to merge GraphQL input type "${e.name.value}": ${n.message}`)}return r!=null&&r.convertExtensions?{...e,kind:j.INPUT_OBJECT_TYPE_DEFINITION}:e}function CO(e,t){return!!e.find(r=>r.name.value===t.name.value)}function ym(e=[],t=[],r={}){const n=[...t,...e.filter(u=>!CO(t,u))];return r&&r.sort&&n.sort(jp),n}function bO(e,t,r){if(t)try{return{name:e.name,description:e.description||t.description,kind:r!=null&&r.convertExtensions||e.kind==="InterfaceTypeDefinition"||t.kind==="InterfaceTypeDefinition"?"InterfaceTypeDefinition":"InterfaceTypeExtension",loc:e.loc,fields:Em(e,e.fields,t.fields,r),directives:$u(e.directives,t.directives,r),interfaces:e.interfaces?ym(e.interfaces,t.interfaces,r):void 0}}catch(n){throw new Error(`Unable to merge GraphQL interface "${e.name.value}": ${n.message}`)}return r!=null&&r.convertExtensions?{...e,kind:j.INTERFACE_TYPE_DEFINITION}:e}function SO(e,t,r){if(t)try{return{name:e.name,description:e.description||t.description,kind:r!=null&&r.convertExtensions||e.kind==="ObjectTypeDefinition"||t.kind==="ObjectTypeDefinition"?"ObjectTypeDefinition":"ObjectTypeExtension",loc:e.loc,fields:Em(e,e.fields,t.fields,r),directives:$u(e.directives,t.directives,r),interfaces:ym(e.interfaces,t.interfaces,r)}}catch(n){throw new Error(`Unable to merge GraphQL type "${e.name.value}": ${n.message}`)}return r!=null&&r.convertExtensions?{...e,kind:j.OBJECT_TYPE_DEFINITION}:e}function wO(e,t,r){return t?{name:e.name,description:e.description||t.description,kind:r!=null&&r.convertExtensions||e.kind==="ScalarTypeDefinition"||t.kind==="ScalarTypeDefinition"?"ScalarTypeDefinition":"ScalarTypeExtension",loc:e.loc,directives:$u(e.directives,t.directives,r)}:r!=null&&r.convertExtensions?{...e,kind:j.SCALAR_TYPE_DEFINITION}:e}function _O(e,t,r){return t?{name:e.name,description:e.description||t.description,directives:$u(e.directives,t.directives,r),kind:r!=null&&r.convertExtensions||e.kind==="UnionTypeDefinition"||t.kind==="UnionTypeDefinition"?j.UNION_TYPE_DEFINITION:j.UNION_TYPE_EXTENSION,loc:e.loc,types:ym(e.types,t.types,r)}:r!=null&&r.convertExtensions?{...e,kind:j.UNION_TYPE_DEFINITION}:e}const U2={query:"Query",mutation:"Mutation",subscription:"Subscription"};function BO(e=[],t=[]){const r=[];for(const n in U2){const u=e.find(s=>s.operation===n)||t.find(s=>s.operation===n);u&&r.push(u)}return r}function TO(e,t,r){return t?{kind:e.kind===j.SCHEMA_DEFINITION||t.kind===j.SCHEMA_DEFINITION?j.SCHEMA_DEFINITION:j.SCHEMA_EXTENSION,description:e.description||t.description,directives:$u(e.directives,t.directives,r),operationTypes:BO(e.operationTypes,t.operationTypes)}:r!=null&&r.convertExtensions?{...e,kind:j.SCHEMA_DEFINITION}:e}const zo="SCHEMA_DEF_SYMBOL";function $O(e){return"name"in e}function PO(e,t){var r,n,u;const s={};for(const o of e)if($O(o)){const a=(r=o.name)===null||r===void 0?void 0:r.value;if(t!=null&&t.commentDescriptions&&$k(o),a==null)continue;if(!((n=t==null?void 0:t.exclusions)===null||n===void 0)&&n.includes(a+".*")||!((u=t==null?void 0:t.exclusions)===null||u===void 0)&&u.includes(a))delete s[a];else switch(o.kind){case j.OBJECT_TYPE_DEFINITION:case j.OBJECT_TYPE_EXTENSION:s[a]=SO(o,s[a],t);break;case j.ENUM_TYPE_DEFINITION:case j.ENUM_TYPE_EXTENSION:s[a]=EO(o,s[a],t);break;case j.UNION_TYPE_DEFINITION:case j.UNION_TYPE_EXTENSION:s[a]=_O(o,s[a],t);break;case j.SCALAR_TYPE_DEFINITION:case j.SCALAR_TYPE_EXTENSION:s[a]=wO(o,s[a],t);break;case j.INPUT_OBJECT_TYPE_DEFINITION:case j.INPUT_OBJECT_TYPE_EXTENSION:s[a]=FO(o,s[a],t);break;case j.INTERFACE_TYPE_DEFINITION:case j.INTERFACE_TYPE_EXTENSION:s[a]=bO(o,s[a],t);break;case j.DIRECTIVE_DEFINITION:s[a]=DO(o,s[a]);break}}else(o.kind===j.SCHEMA_DEFINITION||o.kind===j.SCHEMA_EXTENSION)&&(s[zo]=TO(o,s[zo],t));return s}function Zy(e,t){R2();const r={kind:j.DOCUMENT,definitions:kO(e,{useSchemaDefinition:!0,forceSchemaDefinition:!1,throwOnConflict:!1,commentDescriptions:!1,...t})};let n;return t!=null&&t.commentDescriptions?n=Nk(r):n=r,R2(),n}function Vo(e,t,r=[],n=new Set){if(e&&!n.has(e))if(n.add(e),typeof e=="function")Vo(e(),t,r,n);else if(Array.isArray(e))for(const u of e)Vo(u,t,r,n);else if(im(e)){const u=Ek(e,t);Vo(u.definitions,t,r,n)}else if(yO(e)||vO(e)){const u=Yh(e,t);Vo(u.definitions,t,r,n)}else if(typeof e=="object"&&k$(e))r.push(e);else if(tO(e))Vo(e.definitions,t,r,n);else throw new Error(`typeDefs must contain only strings, documents, schemas, or functions, got ${typeof e}`);return r}function kO(e,t){var r,n,u;R2();const s=Vo(e,t),o=PO(s,t);if(t!=null&&t.useSchemaDefinition){const i=o[zo]||{kind:j.SCHEMA_DEFINITION,operationTypes:[]},c=i.operationTypes;for(const l in U2)if(!c.find(d=>d.operation===l)){const d=U2[l],f=o[d];f!=null&&f.name!=null&&c.push({kind:j.OPERATION_TYPE_DEFINITION,type:{kind:j.NAMED_TYPE,name:f.name},operation:l})}((r=i==null?void 0:i.operationTypes)===null||r===void 0?void 0:r.length)!=null&&i.operationTypes.length>0&&(o[zo]=i)}t!=null&&t.forceSchemaDefinition&&!(!((u=(n=o[zo])===null||n===void 0?void 0:n.operationTypes)===null||u===void 0)&&u.length)&&(o[zo]={kind:j.SCHEMA_DEFINITION,operationTypes:[{kind:j.OPERATION_TYPE_DEFINITION,operation:"query",type:{kind:j.NAMED_TYPE,name:{kind:j.NAME,value:"Query"}}}]});const a=Object.values(o);if(t!=null&&t.sort){const i=typeof t.sort=="function"?t.sort:gO;a.sort((c,l)=>{var p,d;return i((p=c.name)===null||p===void 0?void 0:p.value,(d=l.name)===null||d===void 0?void 0:d.value)})}return a}function OO(e){return Gp(e)}function Eo(e,t){e&&(e.extensions=Gp([e.extensions||{},t||{}]))}function IO(e,t){Eo(e,t.schemaExtensions);for(const[r,n]of Object.entries(t.types||{})){const u=e.getType(r);if(u){if(Eo(u,n.extensions),n.type==="object"||n.type==="interface")for(const[s,o]of Object.entries(n.fields)){const a=u.getFields()[s];if(a){Eo(a,o.extensions);for(const[i,c]of Object.entries(o.arguments))Eo(a.args.find(l=>l.name===i),c)}}else if(n.type==="input")for(const[s,o]of Object.entries(n.fields)){const a=u.getFields()[s];Eo(a,o.extensions)}else if(n.type==="enum")for(const[s,o]of Object.entries(n.values)){const a=u.getValue(s);Eo(a,o)}}}return e}function NO({typeDefs:e,resolvers:t={},resolverValidationOptions:r={},inheritResolversFromInterfaces:n=!1,updateResolversInPlace:u=!1,schemaExtensions:s,...o}){if(typeof r!="object")throw new Error("Expected `resolverValidationOptions` to be an object");if(!e)throw new Error("Must provide typeDefs");let a;if(im(e))a=e;else if(o!=null&&o.commentDescriptions){const i=Zy(e,{...o,commentDescriptions:!0});a=ok(i,o)}else{const i=Zy(e,o);a=Y5(i,o)}return a=sO({schema:a,resolvers:c6(t),resolverValidationOptions:r,inheritResolversFromInterfaces:n,updateResolversInPlace:u}),Object.keys(r).length>0&&rO(a,r),s&&(s=OO(Z5(s)),IO(a,s)),a}const qO=new Error("request for lock canceled");var xO=function(e,t,r,n){function u(s){return s instanceof r?s:new r(function(o){o(s)})}return new(r||(r=Promise))(function(s,o){function a(l){try{c(n.next(l))}catch(p){o(p)}}function i(l){try{c(n.throw(l))}catch(p){o(p)}}function c(l){l.done?s(l.value):u(l.value).then(a,i)}c((n=n.apply(e,[])).next())})};class RO{constructor(t,r=qO){this._value=t,this._cancelError=r,this._weightedQueues=[],this._weightedWaiters=[]}acquire(t=1){if(t<=0)throw new Error(`invalid weight ${t}: must be positive`);return new Promise((r,n)=>{this._weightedQueues[t-1]||(this._weightedQueues[t-1]=[]),this._weightedQueues[t-1].push({resolve:r,reject:n}),this._dispatch()})}runExclusive(t,r=1){return xO(this,void 0,void 0,function*(){const[n,u]=yield this.acquire(r);try{return yield t(n)}finally{u()}})}waitForUnlock(t=1){if(t<=0)throw new Error(`invalid weight ${t}: must be positive`);return new Promise(r=>{this._weightedWaiters[t-1]||(this._weightedWaiters[t-1]=[]),this._weightedWaiters[t-1].push(r),this._dispatch()})}isLocked(){return this._value<=0}getValue(){return this._value}setValue(t){this._value=t,this._dispatch()}release(t=1){if(t<=0)throw new Error(`invalid weight ${t}: must be positive`);this._value+=t,this._dispatch()}cancel(){this._weightedQueues.forEach(t=>t.forEach(r=>r.reject(this._cancelError))),this._weightedQueues=[]}_dispatch(){var t;for(let r=this._value;r>0;r--){const n=(t=this._weightedQueues[r-1])===null||t===void 0?void 0:t.shift();if(!n)continue;const u=this._value,s=r;this._value-=r,r=this._value+1,n.resolve([u,this._newReleaser(s)])}this._drainUnlockWaiters()}_newReleaser(t){let r=!1;return()=>{r||(r=!0,this.release(t))}}_drainUnlockWaiters(){for(let t=this._value;t>0;t--)this._weightedWaiters[t-1]&&(this._weightedWaiters[t-1].forEach(r=>r()),this._weightedWaiters[t-1]=[])}}var jO=function(e,t,r,n){function u(s){return s instanceof r?s:new r(function(o){o(s)})}return new(r||(r=Promise))(function(s,o){function a(l){try{c(n.next(l))}catch(p){o(p)}}function i(l){try{c(n.throw(l))}catch(p){o(p)}}function c(l){l.done?s(l.value):u(l.value).then(a,i)}c((n=n.apply(e,[])).next())})};class MO{constructor(t){this._semaphore=new RO(1,t)}acquire(){return jO(this,void 0,void 0,function*(){const[,t]=yield this._semaphore.acquire();return t})}runExclusive(t){return this._semaphore.runExclusive(()=>t())}isLocked(){return this._semaphore.isLocked()}waitForUnlock(){return this._semaphore.waitForUnlock()}release(){this._semaphore.isLocked()&&this._semaphore.release()}cancel(){return this._semaphore.cancel()}}var G2={},LO={get exports(){return G2},set exports(e){G2=e}},p6={};p6.calculate=function(e){if(e==null)return null;for(var t=UO(e),r=-1,n=t.length,u=0,s=n,o;u>>8^GO[o];return(r^-1)>>>0};function UO(e){for(var t=[],r=0,n=e.length,u;r>6|192,u&63|128):t.push(u>>12|224,u>>6&63|128,u&63|128);return t}var GO=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117];(function(e){e.exports=p6})(LO);const d6=Z8(G2);var op={},VO={get exports(){return op},set exports(e){op=e}};/** + ${r}`)}function mO(e,t){return t?(hO(e,t),{...e,locations:[...t.locations,...e.locations.filter(r=>!fO(r,t.locations))]}):e}function EO(e,t,r){return e.concat(t.filter(n=>r(n,e)))}function yO(e,t,r){if(r!=null&&r.consistentEnumMerge){const s=[];e&&s.push(...e),e=t,t=s}const n=new Map;if(e)for(const s of e)n.set(s.name.value,s);if(t)for(const s of t){const o=s.name.value;if(n.has(o)){const a=n.get(o);a.description=s.description||a.description,a.directives=$u(s.directives,a.directives)}else n.set(o,s)}const u=[...n.values()];return r&&r.sort&&u.sort(jp),u}function vO(e,t,r){return t?{name:e.name,description:e.description||t.description,kind:r!=null&&r.convertExtensions||e.kind==="EnumTypeDefinition"||t.kind==="EnumTypeDefinition"?"EnumTypeDefinition":"EnumTypeExtension",loc:e.loc,directives:$u(e.directives,t.directives,r),values:yO(e.values,t.values,r)}:r!=null&&r.convertExtensions?{...e,kind:j.ENUM_TYPE_DEFINITION}:e}function gO(e){return typeof e=="string"}function AO(e){return e instanceof Yh}function Xy(e){let t=e;for(;t.kind===j.LIST_TYPE||t.kind==="NonNullType";)t=t.type;return t}function Yy(e){return e.kind!==j.NAMED_TYPE}function U2(e){return e.kind===j.LIST_TYPE}function Ms(e){return e.kind===j.NON_NULL_TYPE}function sp(e){return U2(e)?`[${sp(e.type)}]`:Ms(e)?`${sp(e.type)}!`:e.name.value}var zu;(function(e){e[e.A_SMALLER_THAN_B=-1]="A_SMALLER_THAN_B",e[e.A_EQUALS_B=0]="A_EQUALS_B",e[e.A_GREATER_THAN_B=1]="A_GREATER_THAN_B"})(zu||(zu={}));function FO(e,t){return e==null&&t==null?zu.A_EQUALS_B:e==null?zu.A_SMALLER_THAN_B:t==null?zu.A_GREATER_THAN_B:et?zu.A_GREATER_THAN_B:zu.A_EQUALS_B}function CO(e,t,r){const n=e.find(u=>u.name.value===t.name.value);if(n&&!(r!=null&&r.ignoreFieldConflicts)){const u=Xy(n.type),s=Xy(t.type);if(u.name.value!==s.name.value)throw new Error(`Field "${t.name.value}" already defined with a different type. Declared as "${u.name.value}", but you tried to override with "${s.name.value}"`)}return!!n}function ym(e,t,r,n){const u=[];if(r!=null&&u.push(...r),t!=null)for(const s of t)if(CO(u,s,n)){const o=u.find(a=>a.name.value===s.name.value);n!=null&&n.ignoreFieldConflicts||(n!=null&&n.throwOnConflict?Zy(e,o,s,!1):Zy(e,o,s,!0),Ms(s.type)&&!Ms(o.type)&&(o.type=s.type)),o.arguments=lO(s.arguments||[],o.arguments||[],n),o.directives=$u(s.directives,o.directives,n),o.description=s.description||o.description}else u.push(s);if(n&&n.sort&&u.sort(jp),n&&n.exclusions){const s=n.exclusions;return u.filter(o=>!s.includes(`${e.name.value}.${o.name.value}`))}return u}function Zy(e,t,r,n=!1){const u=sp(t.type),s=sp(r.type);if(u!==s&&!ai(t.type,r.type,n))throw new Error(`Field '${e.name.value}.${t.name.value}' changed type from '${u}' to '${s}'`)}function ai(e,t,r=!1){if(!Yy(e)&&!Yy(t))return e.toString()===t.toString();if(Ms(t)){const n=Ms(e)?e.type:e;return ai(n,t.type)}return Ms(e)?ai(t,e,r):U2(e)?U2(t)&&ai(e.type,t.type)||Ms(t)&&ai(e,t.type):!1}function bO(e,t,r){if(t)try{return{name:e.name,description:e.description||t.description,kind:r!=null&&r.convertExtensions||e.kind==="InputObjectTypeDefinition"||t.kind==="InputObjectTypeDefinition"?"InputObjectTypeDefinition":"InputObjectTypeExtension",loc:e.loc,fields:ym(e,e.fields,t.fields,r),directives:$u(e.directives,t.directives,r)}}catch(n){throw new Error(`Unable to merge GraphQL input type "${e.name.value}": ${n.message}`)}return r!=null&&r.convertExtensions?{...e,kind:j.INPUT_OBJECT_TYPE_DEFINITION}:e}function SO(e,t){return!!e.find(r=>r.name.value===t.name.value)}function vm(e=[],t=[],r={}){const n=[...t,...e.filter(u=>!SO(t,u))];return r&&r.sort&&n.sort(jp),n}function wO(e,t,r){if(t)try{return{name:e.name,description:e.description||t.description,kind:r!=null&&r.convertExtensions||e.kind==="InterfaceTypeDefinition"||t.kind==="InterfaceTypeDefinition"?"InterfaceTypeDefinition":"InterfaceTypeExtension",loc:e.loc,fields:ym(e,e.fields,t.fields,r),directives:$u(e.directives,t.directives,r),interfaces:e.interfaces?vm(e.interfaces,t.interfaces,r):void 0}}catch(n){throw new Error(`Unable to merge GraphQL interface "${e.name.value}": ${n.message}`)}return r!=null&&r.convertExtensions?{...e,kind:j.INTERFACE_TYPE_DEFINITION}:e}function _O(e,t,r){if(t)try{return{name:e.name,description:e.description||t.description,kind:r!=null&&r.convertExtensions||e.kind==="ObjectTypeDefinition"||t.kind==="ObjectTypeDefinition"?"ObjectTypeDefinition":"ObjectTypeExtension",loc:e.loc,fields:ym(e,e.fields,t.fields,r),directives:$u(e.directives,t.directives,r),interfaces:vm(e.interfaces,t.interfaces,r)}}catch(n){throw new Error(`Unable to merge GraphQL type "${e.name.value}": ${n.message}`)}return r!=null&&r.convertExtensions?{...e,kind:j.OBJECT_TYPE_DEFINITION}:e}function BO(e,t,r){return t?{name:e.name,description:e.description||t.description,kind:r!=null&&r.convertExtensions||e.kind==="ScalarTypeDefinition"||t.kind==="ScalarTypeDefinition"?"ScalarTypeDefinition":"ScalarTypeExtension",loc:e.loc,directives:$u(e.directives,t.directives,r)}:r!=null&&r.convertExtensions?{...e,kind:j.SCALAR_TYPE_DEFINITION}:e}function TO(e,t,r){return t?{name:e.name,description:e.description||t.description,directives:$u(e.directives,t.directives,r),kind:r!=null&&r.convertExtensions||e.kind==="UnionTypeDefinition"||t.kind==="UnionTypeDefinition"?j.UNION_TYPE_DEFINITION:j.UNION_TYPE_EXTENSION,loc:e.loc,types:vm(e.types,t.types,r)}:r!=null&&r.convertExtensions?{...e,kind:j.UNION_TYPE_DEFINITION}:e}const G2={query:"Query",mutation:"Mutation",subscription:"Subscription"};function $O(e=[],t=[]){const r=[];for(const n in G2){const u=e.find(s=>s.operation===n)||t.find(s=>s.operation===n);u&&r.push(u)}return r}function PO(e,t,r){return t?{kind:e.kind===j.SCHEMA_DEFINITION||t.kind===j.SCHEMA_DEFINITION?j.SCHEMA_DEFINITION:j.SCHEMA_EXTENSION,description:e.description||t.description,directives:$u(e.directives,t.directives,r),operationTypes:$O(e.operationTypes,t.operationTypes)}:r!=null&&r.convertExtensions?{...e,kind:j.SCHEMA_DEFINITION}:e}const zo="SCHEMA_DEF_SYMBOL";function kO(e){return"name"in e}function OO(e,t){var r,n,u;const s={};for(const o of e)if(kO(o)){const a=(r=o.name)===null||r===void 0?void 0:r.value;if(t!=null&&t.commentDescriptions&&kk(o),a==null)continue;if(!((n=t==null?void 0:t.exclusions)===null||n===void 0)&&n.includes(a+".*")||!((u=t==null?void 0:t.exclusions)===null||u===void 0)&&u.includes(a))delete s[a];else switch(o.kind){case j.OBJECT_TYPE_DEFINITION:case j.OBJECT_TYPE_EXTENSION:s[a]=_O(o,s[a],t);break;case j.ENUM_TYPE_DEFINITION:case j.ENUM_TYPE_EXTENSION:s[a]=vO(o,s[a],t);break;case j.UNION_TYPE_DEFINITION:case j.UNION_TYPE_EXTENSION:s[a]=TO(o,s[a],t);break;case j.SCALAR_TYPE_DEFINITION:case j.SCALAR_TYPE_EXTENSION:s[a]=BO(o,s[a],t);break;case j.INPUT_OBJECT_TYPE_DEFINITION:case j.INPUT_OBJECT_TYPE_EXTENSION:s[a]=bO(o,s[a],t);break;case j.INTERFACE_TYPE_DEFINITION:case j.INTERFACE_TYPE_EXTENSION:s[a]=wO(o,s[a],t);break;case j.DIRECTIVE_DEFINITION:s[a]=mO(o,s[a]);break}}else(o.kind===j.SCHEMA_DEFINITION||o.kind===j.SCHEMA_EXTENSION)&&(s[zo]=PO(o,s[zo],t));return s}function Qy(e,t){j2();const r={kind:j.DOCUMENT,definitions:IO(e,{useSchemaDefinition:!0,forceSchemaDefinition:!1,throwOnConflict:!1,commentDescriptions:!1,...t})};let n;return t!=null&&t.commentDescriptions?n=xk(r):n=r,j2(),n}function Vo(e,t,r=[],n=new Set){if(e&&!n.has(e))if(n.add(e),typeof e=="function")Vo(e(),t,r,n);else if(Array.isArray(e))for(const u of e)Vo(u,t,r,n);else if(cm(e)){const u=vk(e,t);Vo(u.definitions,t,r,n)}else if(gO(e)||AO(e)){const u=Zh(e,t);Vo(u.definitions,t,r,n)}else if(typeof e=="object"&&I$(e))r.push(e);else if(nO(e))Vo(e.definitions,t,r,n);else throw new Error(`typeDefs must contain only strings, documents, schemas, or functions, got ${typeof e}`);return r}function IO(e,t){var r,n,u;j2();const s=Vo(e,t),o=OO(s,t);if(t!=null&&t.useSchemaDefinition){const i=o[zo]||{kind:j.SCHEMA_DEFINITION,operationTypes:[]},c=i.operationTypes;for(const l in G2)if(!c.find(d=>d.operation===l)){const d=G2[l],f=o[d];f!=null&&f.name!=null&&c.push({kind:j.OPERATION_TYPE_DEFINITION,type:{kind:j.NAMED_TYPE,name:f.name},operation:l})}((r=i==null?void 0:i.operationTypes)===null||r===void 0?void 0:r.length)!=null&&i.operationTypes.length>0&&(o[zo]=i)}t!=null&&t.forceSchemaDefinition&&!(!((u=(n=o[zo])===null||n===void 0?void 0:n.operationTypes)===null||u===void 0)&&u.length)&&(o[zo]={kind:j.SCHEMA_DEFINITION,operationTypes:[{kind:j.OPERATION_TYPE_DEFINITION,operation:"query",type:{kind:j.NAMED_TYPE,name:{kind:j.NAME,value:"Query"}}}]});const a=Object.values(o);if(t!=null&&t.sort){const i=typeof t.sort=="function"?t.sort:FO;a.sort((c,l)=>{var p,d;return i((p=c.name)===null||p===void 0?void 0:p.value,(d=l.name)===null||d===void 0?void 0:d.value)})}return a}function NO(e){return Gp(e)}function Eo(e,t){e&&(e.extensions=Gp([e.extensions||{},t||{}]))}function qO(e,t){Eo(e,t.schemaExtensions);for(const[r,n]of Object.entries(t.types||{})){const u=e.getType(r);if(u){if(Eo(u,n.extensions),n.type==="object"||n.type==="interface")for(const[s,o]of Object.entries(n.fields)){const a=u.getFields()[s];if(a){Eo(a,o.extensions);for(const[i,c]of Object.entries(o.arguments))Eo(a.args.find(l=>l.name===i),c)}}else if(n.type==="input")for(const[s,o]of Object.entries(n.fields)){const a=u.getFields()[s];Eo(a,o.extensions)}else if(n.type==="enum")for(const[s,o]of Object.entries(n.values)){const a=u.getValue(s);Eo(a,o)}}}return e}function xO({typeDefs:e,resolvers:t={},resolverValidationOptions:r={},inheritResolversFromInterfaces:n=!1,updateResolversInPlace:u=!1,schemaExtensions:s,...o}){if(typeof r!="object")throw new Error("Expected `resolverValidationOptions` to be an object");if(!e)throw new Error("Must provide typeDefs");let a;if(cm(e))a=e;else if(o!=null&&o.commentDescriptions){const i=Qy(e,{...o,commentDescriptions:!0});a=ik(i,o)}else{const i=Qy(e,o);a=Q5(i,o)}return a=aO({schema:a,resolvers:p6(t),resolverValidationOptions:r,inheritResolversFromInterfaces:n,updateResolversInPlace:u}),Object.keys(r).length>0&&uO(a,r),s&&(s=NO(e6(s)),qO(a,s)),a}const RO=new Error("request for lock canceled");var jO=function(e,t,r,n){function u(s){return s instanceof r?s:new r(function(o){o(s)})}return new(r||(r=Promise))(function(s,o){function a(l){try{c(n.next(l))}catch(p){o(p)}}function i(l){try{c(n.throw(l))}catch(p){o(p)}}function c(l){l.done?s(l.value):u(l.value).then(a,i)}c((n=n.apply(e,[])).next())})};class MO{constructor(t,r=RO){this._value=t,this._cancelError=r,this._weightedQueues=[],this._weightedWaiters=[]}acquire(t=1){if(t<=0)throw new Error(`invalid weight ${t}: must be positive`);return new Promise((r,n)=>{this._weightedQueues[t-1]||(this._weightedQueues[t-1]=[]),this._weightedQueues[t-1].push({resolve:r,reject:n}),this._dispatch()})}runExclusive(t,r=1){return jO(this,void 0,void 0,function*(){const[n,u]=yield this.acquire(r);try{return yield t(n)}finally{u()}})}waitForUnlock(t=1){if(t<=0)throw new Error(`invalid weight ${t}: must be positive`);return new Promise(r=>{this._weightedWaiters[t-1]||(this._weightedWaiters[t-1]=[]),this._weightedWaiters[t-1].push(r),this._dispatch()})}isLocked(){return this._value<=0}getValue(){return this._value}setValue(t){this._value=t,this._dispatch()}release(t=1){if(t<=0)throw new Error(`invalid weight ${t}: must be positive`);this._value+=t,this._dispatch()}cancel(){this._weightedQueues.forEach(t=>t.forEach(r=>r.reject(this._cancelError))),this._weightedQueues=[]}_dispatch(){var t;for(let r=this._value;r>0;r--){const n=(t=this._weightedQueues[r-1])===null||t===void 0?void 0:t.shift();if(!n)continue;const u=this._value,s=r;this._value-=r,r=this._value+1,n.resolve([u,this._newReleaser(s)])}this._drainUnlockWaiters()}_newReleaser(t){let r=!1;return()=>{r||(r=!0,this.release(t))}}_drainUnlockWaiters(){for(let t=this._value;t>0;t--)this._weightedWaiters[t-1]&&(this._weightedWaiters[t-1].forEach(r=>r()),this._weightedWaiters[t-1]=[])}}var LO=function(e,t,r,n){function u(s){return s instanceof r?s:new r(function(o){o(s)})}return new(r||(r=Promise))(function(s,o){function a(l){try{c(n.next(l))}catch(p){o(p)}}function i(l){try{c(n.throw(l))}catch(p){o(p)}}function c(l){l.done?s(l.value):u(l.value).then(a,i)}c((n=n.apply(e,[])).next())})};class UO{constructor(t){this._semaphore=new MO(1,t)}acquire(){return LO(this,void 0,void 0,function*(){const[,t]=yield this._semaphore.acquire();return t})}runExclusive(t){return this._semaphore.runExclusive(()=>t())}isLocked(){return this._semaphore.isLocked()}waitForUnlock(){return this._semaphore.waitForUnlock()}release(){this._semaphore.isLocked()&&this._semaphore.release()}cancel(){return this._semaphore.cancel()}}var V2={},GO={get exports(){return V2},set exports(e){V2=e}},f6={};f6.calculate=function(e){if(e==null)return null;for(var t=VO(e),r=-1,n=t.length,u=0,s=n,o;u>>8^HO[o];return(r^-1)>>>0};function VO(e){for(var t=[],r=0,n=e.length,u;r>6|192,u&63|128):t.push(u>>12|224,u>>6&63|128,u&63|128);return t}var HO=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117];(function(e){e.exports=f6})(GO);const D6=e5(V2);var op={},WO={get exports(){return op},set exports(e){op=e}};/** * @license BitSet.js v5.1.1 2/1/2020 * http://www.xarg.org/2014/03/javascript-bit-array/ * * Copyright (c) 2020, Robert Eisele (robert@xarg.org) * Dual licensed under the MIT or GPL Version 2 licenses. - **/(function(e,t){(function(r){var n=32,u=5;function s(p){return p-=p>>>1&1431655765,p=(p&858993459)+(p>>>2&858993459),(p+(p>>>4)&252645135)*16843009>>>24}function o(p,d){for(var f=0,h=0;h0?y:0,A),f);if(isNaN(m))throw SyntaxError("Invalid param");if(p.data.push(m|0),y<=0)break;y-=h,A-=h}while(!0);break;default:p.data=[0];var v=p.data;if(d instanceof Array){for(var C=d.length-1;C>=0;C--){var B=d[C];B===1/0?p._=-1:(c(p,B),v[B>>>u]|=1<>>u]|=(N>>R&1)<>>u,h=p.data,y=p._,A=h.length;f>=A;f--)h.push(y)}var l={data:[],_:0};i.prototype={data:[],_:0,set:function(p,d){return p|=0,c(this,p),d===void 0||d?this.data[p>>>u]|=1<>>u]&=~(1<>>u;return f>=d.length?this._&1:d[f]>>>p&1},not:function(){for(var p=this.clone(),d=p.data,f=0;fm;v--)f[v]=h[v];for(;v>=0;v--)f[v]|=h[v];return d._|=l._,d},xor:function(p){a(l,p);var d=this.clone(),f=d.data,h=l.data,y=d._,A=l._,m=0,v=f.length-1,C=h.length-1;for(m=v;m>C;m--)f[m]^=A;for(m=C;m>v;m--)f[m]=y^h[m];for(;m>=0;m--)f[m]^=h[m];return d._^=A,d},andNot:function(p){return this.and(new i(p).flip())},flip:function(p,d){if(p===void 0){for(var f=this.data,h=0;h>>u]^=1<>>u]^=1<=0;h--)f[h]=0;this._=0}else if(d===void 0)p|=0,c(this,p),f[p>>>u]&=~(1<>>u]&=~(1<=0;f--)for(var h=d[f];h!==0;){var y=31-Math.clz32(h);h^=1<=0;y--){var A=d[y];A<0&&(A+=4294967296);var m=A.toString(p);f!==""&&(f+="0".repeat(h-m.length-1)),f+=m}return this._===0?(f=f.replace(/^0+/,""),f===""&&(f="0"),f):(f="1111"+f,f.replace(/^1+/,"...1111"))}else{if(2>p||p>36)throw SyntaxError("Invalid base");for(var f=[],v=[],y=d.length;y--;)for(var C=n;C--;)v.push(d[y]>>>C&1);do f.unshift(o(v,p).toString(p));while(!v.every(function(T){return T===0}));return f.join("")}},isEmpty:function(){if(this._!==0)return!1;for(var p=this.data,d=p.length-1;d>=0;d--)if(p[d]!==0)return!1;return!0},cardinality:function(){if(this._!==0)return 1/0;for(var p=0,d=this.data,f=0;f0;){var f=Math.clz32(p[d]);if(f!==n)return d*n+n-1-f}return 1/0}:function(){if(this._!==0)return 1/0;for(var p=this.data,d=p.length;d-- >0;){var f=p[d],h=0;if(f){for(;(f>>>=1)>0;h++);return d*n+h}}return 1/0},ntz:function(){for(var p=this.data,d=0;d>>1,d*n+s(f)}return 1/0},lsb:function(){for(var p=this.data,d=0;d>>=1;h++);return n*d+h}}return this._&1},equals:function(p){a(l,p);var d=this.data,f=l.data,h=this._,y=l._,A=d.length-1,m=f.length-1;if(y!==h)return!1;for(var v=Am;C--)if(d[C]!==y)return!1;for(C=m;C>A;C--)if(f[C]!==h)return!1;return!0},[Symbol.iterator]:function(){var p=this.data,d=0;if(this._===0){for(var f=0,h=p.length-1;h>=0;h--)if(p[h]!==0){f=h;break}return{next:function(){var y=d>>>u;return{done:y>f||y===f&&p[y]>>>d===0,value:y>f?0:p[y]>>>d++&1}}}}else return{next:function(){var y=d>>>u;return{done:!1,value:y>>d++&1:1}}}}},i.fromBinaryString=function(p){return new i("0b"+p)},i.fromHexString=function(p){return new i("0x"+p)},i.Random=function(p){(p===void 0||p<0)&&(p=n);for(var d=p%n,f=[],h=Math.ceil(p/n),y=Object.create(i.prototype),A=0;A0&&(f[h-1]&=(1<>6|192,t[r++]=u&63|128):(u&64512)==55296&&n+1>18|240,t[r++]=u>>12&63|128,t[r++]=u>>6&63|128,t[r++]=u&63|128):(t[r++]=u>>12|224,t[r++]=u>>6&63|128,t[r++]=u&63|128)}return t},cI=function(e){for(var t=[],r=0,n=0;r191&&u<224){var s=e[r++];t[n++]=String.fromCharCode((u&31)<<6|s&63)}else if(u>239&&u<365){var s=e[r++],o=e[r++],a=e[r++],i=((u&7)<<18|(s&63)<<12|(o&63)<<6|a&63)-65536;t[n++]=String.fromCharCode(55296+(i>>10)),t[n++]=String.fromCharCode(56320+(i&1023))}else{var s=e[r++],o=e[r++];t[n++]=String.fromCharCode((u&15)<<12|(s&63)<<6|o&63)}}return t.join("")};var Qy={utf8ByteArrayToString:cI,stringToUtf8ByteArray:iI},la={};la.byteLength=dI;la.toByteArray=DI;la.fromByteArray=EI;var Hn=[],rn=[],lI=typeof Uint8Array<"u"?Uint8Array:Array,sf="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var yo=0,pI=sf.length;yo0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");r===-1&&(r=t);var n=r===t?0:4-r%4;return[r,n]}function dI(e){var t=D6(e),r=t[0],n=t[1];return(r+n)*3/4-n}function fI(e,t,r){return(t+r)*3/4-r}function DI(e){var t,r=D6(e),n=r[0],u=r[1],s=new lI(fI(e,n,u)),o=0,a=u>0?n-4:n,i;for(i=0;i>16&255,s[o++]=t>>8&255,s[o++]=t&255;return u===2&&(t=rn[e.charCodeAt(i)]<<2|rn[e.charCodeAt(i+1)]>>4,s[o++]=t&255),u===1&&(t=rn[e.charCodeAt(i)]<<10|rn[e.charCodeAt(i+1)]<<4|rn[e.charCodeAt(i+2)]>>2,s[o++]=t>>8&255,s[o++]=t&255),s}function hI(e){return Hn[e>>18&63]+Hn[e>>12&63]+Hn[e>>6&63]+Hn[e&63]}function mI(e,t,r){for(var n,u=[],s=t;sa?a:o+s));return n===1?(t=e[r-1],u.push(Hn[t>>2]+Hn[t<<4&63]+"==")):n===2&&(t=(e[r-2]<<8)+e[r-1],u.push(Hn[t>>10]+Hn[t>>4&63]+Hn[t<<2&63]+"=")),u.join("")}const Sr=(e,t,r)=>{if(typeof e!="number")throw new Error(`Argument ${r} of ${t} should be a number, not '${e}' (${typeof e})`)};let Oi=class{constructor(t,r){t=t||64,r=r||0,this.growMax=1024*16,this.length=r,this.byteArray=new Uint8Array(t)}byte(t){if(Sr(t,"byte","n"),t>this.length-1)throw Error(`Attempt to read byte ${t} of ByteArray of length ${this.length}`);return this.byteArray[t]}bytes(t,r){if(Sr(t,"bytes","n"),Sr(r,"bytes","l"),t+r>this.length)throw Error(`Attempt to read ${r} bytes from start ${t} of ByteArray of length ${this.length}`);return this.byteArray.subarray(t,t+r)}setByte(t,r){if(Sr(t,"setByte","n"),Sr(r,"setByte","v"),t>this.length-1)throw Error(`Attempt to set byte ${t} of ByteArray of length ${this.length}`);if(typeof r!="number"||r<0||r>255)throw Error(`Expected value 0-255 when setting ByteArray, found ${r}`);this.byteArray[t]=r}setBytes(t,r){if(Sr(t,"setBytes","n"),t+r.length>this.length)throw Error(`Attempt to set ${r.length} bytes from start ${t} of ByteArray of length ${this.length}`);this.byteArray.set(r,t)}pushByte(t){if(typeof t!="number"||t<0||t>255)throw Error(`Expected value 0-255 when pushing to ByteArray, found ${t}`);this.length===this.byteArray.length&&this.grow(),this.byteArray[this.length]=t,this.length++}grow(t){const r=new Uint8Array(Math.max(t||0,this.byteArray.length+Math.min(this.growMax,Math.max(16,this.byteArray.length))));r.set(this.byteArray),this.byteArray=r}trim(){const t=new Uint8Array(this.length);t.set(this.byteArray.subarray(0,this.length)),this.byteArray=t}pushBytes(t){for(const r of t)this.pushByte(r)}pushNByte(t){if(Sr(t,"pushNByte","v"),typeof t!="number"||t<0)throw Error(`Expected positive number in pushNByte, found ${t}`);if(t<128)this.pushByte(t+128);else{const r=t%128;this.pushByte(r),this.pushNByte(t>>7)}}pushNBytes(t){for(const r of t)try{this.pushNByte(r)}catch{throw Error(`Error from pushNByte, called as pushNBytes(${JSON.stringify(t)})`)}}nByte(t){if(Sr(t,"nByte","n"),t>this.length-1)throw Error(`Attempt to read nByte ${t} of ByteArray of length ${this.length}`);const r=this.byteArray[t];return r>127?r-128:r+128*this.nByte(t+1)}nBytes(t,r){Sr(t,"nBytes","n"),Sr(r,"nBytes","nValues");const n=[];for(;r>0;){let u=!1,s=0,o=1;do{if(t>this.length-1)throw Error(`Attempt to read nByte ${t} of ByteArray of length ${this.length} in nBytes(${t}, ${r})`);const a=this.byteArray[t];a>127?(s+=(a-128)*o,n.push(s),s=0,u=!0):(s+=a*o,o*=128),t++}while(!u);r--}return n}nByteLength(t){if(Sr(t,"nByteLength","v"),t>=128**4)throw new Error("> 4 bytes found in nByteLength");let r=1;for(;t>127;)t=t>>7,r+=1;return r}pushCountedString(t){const r=Qy.stringToUtf8ByteArray(t);this.pushByte(r.length),this.pushBytes(r)}countedString(t){Sr(t,"countedString","n");const r=this.byte(t);return Qy.utf8ByteArrayToString(this.bytes(t+1,r))}clear(){this.byteArray.fill(0),this.length=0}base64(){return la.fromByteArray(this.byteArray)}fromBase64(t){this.byteArray=la.toByteArray(t),this.length=this.byteArray.length}deleteItem(t){Sr(t,"deleteItem","n");const r=this.byte(t)&63;if(this.length-=r,this.length>t){const n=this.byteArray.slice(t+r);this.byteArray.set(n,t)}}insert(t,r){Sr(t,"insert","n");const n=r.length,u=this.length+n;if(u>=this.byteArray.length+n&&this.grow(u),t{let r=0,n=0;for(;r{let r=0,n=0;const u=[];for(;r>>1&1431655765,p=(p&858993459)+(p>>>2&858993459),(p+(p>>>4)&252645135)*16843009>>>24}function o(p,d){for(var f=0,h=0;h0?y:0,A),f);if(isNaN(m))throw SyntaxError("Invalid param");if(p.data.push(m|0),y<=0)break;y-=h,A-=h}while(!0);break;default:p.data=[0];var v=p.data;if(d instanceof Array){for(var C=d.length-1;C>=0;C--){var B=d[C];B===1/0?p._=-1:(c(p,B),v[B>>>u]|=1<>>u]|=(N>>R&1)<>>u,h=p.data,y=p._,A=h.length;f>=A;f--)h.push(y)}var l={data:[],_:0};i.prototype={data:[],_:0,set:function(p,d){return p|=0,c(this,p),d===void 0||d?this.data[p>>>u]|=1<>>u]&=~(1<>>u;return f>=d.length?this._&1:d[f]>>>p&1},not:function(){for(var p=this.clone(),d=p.data,f=0;fm;v--)f[v]=h[v];for(;v>=0;v--)f[v]|=h[v];return d._|=l._,d},xor:function(p){a(l,p);var d=this.clone(),f=d.data,h=l.data,y=d._,A=l._,m=0,v=f.length-1,C=h.length-1;for(m=v;m>C;m--)f[m]^=A;for(m=C;m>v;m--)f[m]=y^h[m];for(;m>=0;m--)f[m]^=h[m];return d._^=A,d},andNot:function(p){return this.and(new i(p).flip())},flip:function(p,d){if(p===void 0){for(var f=this.data,h=0;h>>u]^=1<>>u]^=1<=0;h--)f[h]=0;this._=0}else if(d===void 0)p|=0,c(this,p),f[p>>>u]&=~(1<>>u]&=~(1<=0;f--)for(var h=d[f];h!==0;){var y=31-Math.clz32(h);h^=1<=0;y--){var A=d[y];A<0&&(A+=4294967296);var m=A.toString(p);f!==""&&(f+="0".repeat(h-m.length-1)),f+=m}return this._===0?(f=f.replace(/^0+/,""),f===""&&(f="0"),f):(f="1111"+f,f.replace(/^1+/,"...1111"))}else{if(2>p||p>36)throw SyntaxError("Invalid base");for(var f=[],v=[],y=d.length;y--;)for(var C=n;C--;)v.push(d[y]>>>C&1);do f.unshift(o(v,p).toString(p));while(!v.every(function(T){return T===0}));return f.join("")}},isEmpty:function(){if(this._!==0)return!1;for(var p=this.data,d=p.length-1;d>=0;d--)if(p[d]!==0)return!1;return!0},cardinality:function(){if(this._!==0)return 1/0;for(var p=0,d=this.data,f=0;f0;){var f=Math.clz32(p[d]);if(f!==n)return d*n+n-1-f}return 1/0}:function(){if(this._!==0)return 1/0;for(var p=this.data,d=p.length;d-- >0;){var f=p[d],h=0;if(f){for(;(f>>>=1)>0;h++);return d*n+h}}return 1/0},ntz:function(){for(var p=this.data,d=0;d>>1,d*n+s(f)}return 1/0},lsb:function(){for(var p=this.data,d=0;d>>=1;h++);return n*d+h}}return this._&1},equals:function(p){a(l,p);var d=this.data,f=l.data,h=this._,y=l._,A=d.length-1,m=f.length-1;if(y!==h)return!1;for(var v=Am;C--)if(d[C]!==y)return!1;for(C=m;C>A;C--)if(f[C]!==h)return!1;return!0},[Symbol.iterator]:function(){var p=this.data,d=0;if(this._===0){for(var f=0,h=p.length-1;h>=0;h--)if(p[h]!==0){f=h;break}return{next:function(){var y=d>>>u;return{done:y>f||y===f&&p[y]>>>d===0,value:y>f?0:p[y]>>>d++&1}}}}else return{next:function(){var y=d>>>u;return{done:!1,value:y>>d++&1:1}}}}},i.fromBinaryString=function(p){return new i("0b"+p)},i.fromHexString=function(p){return new i("0x"+p)},i.Random=function(p){(p===void 0||p<0)&&(p=n);for(var d=p%n,f=[],h=Math.ceil(p/n),y=Object.create(i.prototype),A=0;A0&&(f[h-1]&=(1<>6|192,t[r++]=u&63|128):(u&64512)==55296&&n+1>18|240,t[r++]=u>>12&63|128,t[r++]=u>>6&63|128,t[r++]=u&63|128):(t[r++]=u>>12|224,t[r++]=u>>6&63|128,t[r++]=u&63|128)}return t},pI=function(e){for(var t=[],r=0,n=0;r191&&u<224){var s=e[r++];t[n++]=String.fromCharCode((u&31)<<6|s&63)}else if(u>239&&u<365){var s=e[r++],o=e[r++],a=e[r++],i=((u&7)<<18|(s&63)<<12|(o&63)<<6|a&63)-65536;t[n++]=String.fromCharCode(55296+(i>>10)),t[n++]=String.fromCharCode(56320+(i&1023))}else{var s=e[r++],o=e[r++];t[n++]=String.fromCharCode((u&15)<<12|(s&63)<<6|o&63)}}return t.join("")};var ev={utf8ByteArrayToString:pI,stringToUtf8ByteArray:lI},la={};la.byteLength=DI;la.toByteArray=mI;la.fromByteArray=vI;var Hn=[],rn=[],dI=typeof Uint8Array<"u"?Uint8Array:Array,sf="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var yo=0,fI=sf.length;yo0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");r===-1&&(r=t);var n=r===t?0:4-r%4;return[r,n]}function DI(e){var t=m6(e),r=t[0],n=t[1];return(r+n)*3/4-n}function hI(e,t,r){return(t+r)*3/4-r}function mI(e){var t,r=m6(e),n=r[0],u=r[1],s=new dI(hI(e,n,u)),o=0,a=u>0?n-4:n,i;for(i=0;i>16&255,s[o++]=t>>8&255,s[o++]=t&255;return u===2&&(t=rn[e.charCodeAt(i)]<<2|rn[e.charCodeAt(i+1)]>>4,s[o++]=t&255),u===1&&(t=rn[e.charCodeAt(i)]<<10|rn[e.charCodeAt(i+1)]<<4|rn[e.charCodeAt(i+2)]>>2,s[o++]=t>>8&255,s[o++]=t&255),s}function EI(e){return Hn[e>>18&63]+Hn[e>>12&63]+Hn[e>>6&63]+Hn[e&63]}function yI(e,t,r){for(var n,u=[],s=t;sa?a:o+s));return n===1?(t=e[r-1],u.push(Hn[t>>2]+Hn[t<<4&63]+"==")):n===2&&(t=(e[r-2]<<8)+e[r-1],u.push(Hn[t>>10]+Hn[t>>4&63]+Hn[t<<2&63]+"=")),u.join("")}const Sr=(e,t,r)=>{if(typeof e!="number")throw new Error(`Argument ${r} of ${t} should be a number, not '${e}' (${typeof e})`)};let Oi=class{constructor(t,r){t=t||64,r=r||0,this.growMax=1024*16,this.length=r,this.byteArray=new Uint8Array(t)}byte(t){if(Sr(t,"byte","n"),t>this.length-1)throw Error(`Attempt to read byte ${t} of ByteArray of length ${this.length}`);return this.byteArray[t]}bytes(t,r){if(Sr(t,"bytes","n"),Sr(r,"bytes","l"),t+r>this.length)throw Error(`Attempt to read ${r} bytes from start ${t} of ByteArray of length ${this.length}`);return this.byteArray.subarray(t,t+r)}setByte(t,r){if(Sr(t,"setByte","n"),Sr(r,"setByte","v"),t>this.length-1)throw Error(`Attempt to set byte ${t} of ByteArray of length ${this.length}`);if(typeof r!="number"||r<0||r>255)throw Error(`Expected value 0-255 when setting ByteArray, found ${r}`);this.byteArray[t]=r}setBytes(t,r){if(Sr(t,"setBytes","n"),t+r.length>this.length)throw Error(`Attempt to set ${r.length} bytes from start ${t} of ByteArray of length ${this.length}`);this.byteArray.set(r,t)}pushByte(t){if(typeof t!="number"||t<0||t>255)throw Error(`Expected value 0-255 when pushing to ByteArray, found ${t}`);this.length===this.byteArray.length&&this.grow(),this.byteArray[this.length]=t,this.length++}grow(t){const r=new Uint8Array(Math.max(t||0,this.byteArray.length+Math.min(this.growMax,Math.max(16,this.byteArray.length))));r.set(this.byteArray),this.byteArray=r}trim(){const t=new Uint8Array(this.length);t.set(this.byteArray.subarray(0,this.length)),this.byteArray=t}pushBytes(t){for(const r of t)this.pushByte(r)}pushNByte(t){if(Sr(t,"pushNByte","v"),typeof t!="number"||t<0)throw Error(`Expected positive number in pushNByte, found ${t}`);if(t<128)this.pushByte(t+128);else{const r=t%128;this.pushByte(r),this.pushNByte(t>>7)}}pushNBytes(t){for(const r of t)try{this.pushNByte(r)}catch{throw Error(`Error from pushNByte, called as pushNBytes(${JSON.stringify(t)})`)}}nByte(t){if(Sr(t,"nByte","n"),t>this.length-1)throw Error(`Attempt to read nByte ${t} of ByteArray of length ${this.length}`);const r=this.byteArray[t];return r>127?r-128:r+128*this.nByte(t+1)}nBytes(t,r){Sr(t,"nBytes","n"),Sr(r,"nBytes","nValues");const n=[];for(;r>0;){let u=!1,s=0,o=1;do{if(t>this.length-1)throw Error(`Attempt to read nByte ${t} of ByteArray of length ${this.length} in nBytes(${t}, ${r})`);const a=this.byteArray[t];a>127?(s+=(a-128)*o,n.push(s),s=0,u=!0):(s+=a*o,o*=128),t++}while(!u);r--}return n}nByteLength(t){if(Sr(t,"nByteLength","v"),t>=128**4)throw new Error("> 4 bytes found in nByteLength");let r=1;for(;t>127;)t=t>>7,r+=1;return r}pushCountedString(t){const r=ev.stringToUtf8ByteArray(t);this.pushByte(r.length),this.pushBytes(r)}countedString(t){Sr(t,"countedString","n");const r=this.byte(t);return ev.utf8ByteArrayToString(this.bytes(t+1,r))}clear(){this.byteArray.fill(0),this.length=0}base64(){return la.fromByteArray(this.byteArray)}fromBase64(t){this.byteArray=la.toByteArray(t),this.length=this.byteArray.length}deleteItem(t){Sr(t,"deleteItem","n");const r=this.byte(t)&63;if(this.length-=r,this.length>t){const n=this.byteArray.slice(t+r);this.byteArray.set(n,t)}}insert(t,r){Sr(t,"insert","n");const n=r.length,u=this.length+n;if(u>=this.byteArray.length+n&&this.grow(u),t{let r=0,n=0;for(;r{let r=0,n=0;const u=[];for(;r ** @@ -136,19 +136,19 @@ Received directive: ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE ** SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*/(function(e){(function(t,r,n){e.exports=n(t),e.exports.default=e.exports})(Vs,"UUID",function(){var t=function(E,F,D,g,P,b){for(var w=function($,M){var L=$.toString(16);return L.length<2&&(L="0"+L),M&&(L=L.toUpperCase()),L},I=F;I<=D;I++)P[b++]=w(E[I],g);return P},r=function(E,F,D,g,P){for(var b=F;b<=D;b+=2)g[P++]=parseInt(E.substr(b,2),16)},n="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-:+=^!/*?&<>()[]{}@%$#".split(""),u=[0,68,0,84,83,82,72,0,75,76,70,65,0,63,62,69,0,1,2,3,4,5,6,7,8,9,64,0,73,66,74,71,81,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,77,0,78,67,0,0,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,79,0,80,0,0],s=function(E,F){for(var D="",g=0,P=0;g=1;){var w=Math.floor(P/b)%85;D+=n[w],b/=85}P=0}return D},o=function(E,F){var D=E.length;if(D%5!==0)throw new Error("z85_decode: invalid input length (multiple of 5 expected)");typeof F>"u"&&(F=new Array(D*4/5));for(var g=0,P=0,b=0;g=u.length)break;if(b=b*85+u[w],g%5===0){for(var I=16777216;I>=1;)F[P++]=Math.trunc(b/I%256),I/=256;b=0}}return F},a=function(E,F){var D={ibits:8,obits:8,obigendian:!0};for(var g in F)typeof D[g]<"u"&&(D[g]=F[g]);for(var P=[],b=0,w,I,$=0,M,L=0,Y=E.length;$===0&&(I=E.charCodeAt(b++)),w=I>>D.ibits-($+8)&255,$=($+8)%D.ibits,D.obigendian?L===0?M=w<=Y)););return P},i=function(E,F){var D={ibits:32,ibigendian:!0};for(var g in F)typeof D[g]<"u"&&(D[g]=F[g]);var P="",b=4294967295;D.ibits<32&&(b=(1<>D.ibits-8-M&255):P+=String.fromCharCode($>>M&255);return P},c=8,l=8,p=256,d=function(E,F,D,g,P,b,w,I){return[I,w,b,P,g,D,F,E]},f=function(){return d(0,0,0,0,0,0,0,0)},h=function(E){return E.slice(0)},y=function(E){for(var F=f(),D=0;D=0;D--)F*=p,F+=E[D];return Math.floor(F)},m=function(E,F){for(var D=0,g=0;g=0;b--)D[b+1]=D[b];for(D[0]=E[0],b=0;bc*l)throw new Error("ui64_ror: invalid number of bits to shift");var D=new Array(c+c),g;for(g=0;g>>b|D[g+1]<>>b&(1<c*l)throw new Error("ui64_rol: invalid number of bits to shift");var D=new Array(c+c),g;for(g=0;g0;g--)D[g+P]=(D[g]<>>l-b)&(1<=0;g--)D[g]=0;for(g=0;g>16)+(F>>16)+(D>>16);return g<<16|D&65535},ee=function(E,F){return E<>>32-F&4294967295},K=function(E,F){function D(Pe,Be,le,Te){return Pe<20?Be&le|~Be&Te:Pe<40?Be^le^Te:Pe<60?Be&le|Be&Te|le&Te:Be^le^Te}function g(Pe){return Pe<20?1518500249:Pe<40?1859775393:Pe<60?-1894007588:-899497514}E[F>>5]|=128<<24-F%32,E[(F+64>>9<<4)+15]=F;for(var P=Array(80),b=1732584193,w=-271733879,I=-1732584194,$=271733878,M=-1009589776,L=0;L>5]|=128<>>9<<4)+14]=F;for(var I=1732584193,$=-271733879,M=-1732584194,L=271733878,Y=0;Y>>0:Math.random()*4294967295>>>0),T(this.state,E),this.next()};he.prototype.next=function(){var E=h(this.state);C(this.state,this.mul),m(this.state,this.inc);var F=h(E);R(F,18),q(F,E),R(F,27);var D=h(E);R(D,59),B(F,this.mask);var g=A(D),P=h(F);return J(P,32-g),R(F,g),q(F,P),A(F)};var fe=new he,ge=function(E,F){for(var D=[],g=0;g=1&&typeof arguments[0]=="number")this.make.apply(this,arguments);else{if(arguments.length>=1)throw new Error("UUID: constructor: invalid arguments");for(var E=0;E<16;E++)this[E]=0}};return typeof Uint8Array<"u"?O.prototype=new Uint8Array(16):Buffer?O.prototype=Buffer.alloc(16):O.prototype=new Array(16),O.prototype.constructor=O,O.prototype.make=function(E){var F,D=this;if(E===1){var g=new Date,P=g.getTime();P!==pe?z=0:z++,pe=P;var b=y(P);v(b,1e3*10),m(b,d(1,178,29,210,19,129,64,0)),z>0&&m(b,y(z));var w;w=N(b,8),D[3]=w&255,w=N(b,8),D[2]=w&255,w=N(b,8),D[1]=w&255,w=N(b,8),D[0]=w&255,w=N(b,8),D[5]=w&255,w=N(b,8),D[4]=w&255,w=N(b,8),D[7]=w&255,w=N(b,8),D[6]=w&15;var I=ge(2,255);D[8]=I[0],D[9]=I[1];var $=ge(6,255);for($[0]|=1,$[0]|=2,F=0;F<6;F++)D[10+F]=$[F]}else if(E===4){var M=ge(16,255);for(F=0;F<16;F++)this[F]=M[F]}else if(E===3||E===5){var L="",Y=typeof arguments[1]=="object"&&arguments[1]instanceof O?arguments[1]:new O().parse(arguments[1]);for(F=0;F<16;F++)L+=String.fromCharCode(Y[F]);L+=arguments[2];var be=E===3?de(L):ue(L);for(F=0;F<16;F++)D[F]=be.charCodeAt(F)}else throw new Error("UUID: make: invalid version");return D[6]&=15,D[6]|=E<<4,D[8]&=63,D[8]|=128,D},O.prototype.format=function(E){var F,D;return E==="z85"?F=s(this,16):E==="b16"?(D=Array(32),t(this,0,15,!0,D,0),F=D.join("")):(E===void 0||E==="std")&&(D=new Array(36),t(this,0,3,!1,D,0),D[8]="-",t(this,4,5,!1,D,9),D[13]="-",t(this,6,7,!1,D,14),D[18]="-",t(this,8,9,!1,D,19),D[23]="-",t(this,10,15,!1,D,24),F=D.join("")),F},O.prototype.toString=function(E){return this.format(E)},O.prototype.toJSON=function(){return this.format("std")},O.prototype.parse=function(E,F){if(typeof E!="string")throw new Error("UUID: parse: invalid argument (type string expected)");if(F==="z85")o(E,this);else if(F==="b16")r(E,0,35,this,0);else if(F===void 0||F==="std"){var D={nil:"00000000-0000-0000-0000-000000000000","ns:DNS":"6ba7b810-9dad-11d1-80b4-00c04fd430c8","ns:URL":"6ba7b811-9dad-11d1-80b4-00c04fd430c8","ns:OID":"6ba7b812-9dad-11d1-80b4-00c04fd430c8","ns:X500":"6ba7b814-9dad-11d1-80b4-00c04fd430c8"};if(D[E]!==void 0)E=D[E];else if(!E.match(/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/))throw new Error('UUID: parse: invalid string representation (expected "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")');r(E,0,7,this,0),r(E,9,12,this,4),r(E,14,17,this,6),r(E,19,22,this,8),r(E,24,35,this,10)}return this},O.prototype.export=function(){for(var E=Array(16),F=0;F<16;F++)E[F]=this[F];return E},O.prototype.import=function(E){if(!(typeof E=="object"&&E instanceof Array))throw new Error("UUID: import: invalid argument (type Array expected)");if(E.length!==16)throw new Error("UUID: import: invalid argument (Array of length 16 expected)");for(var F=0;F<16;F++){if(typeof E[F]!="number")throw new Error("UUID: import: invalid array element #"+F+" (type Number expected)");if(!(isFinite(E[F])&&Math.floor(E[F])===E[F]))throw new Error("UUID: import: invalid array element #"+F+" (Number with integer value expected)");if(!(E[F]>=0&&E[F]<=255))throw new Error("UUID: import: invalid array element #"+F+" (Number with integer value in range 0...255 expected)");this[F]=E[F]}return this},O.prototype.compare=function(E){if(typeof E!="object")throw new Error("UUID: compare: invalid argument (type UUID expected)");if(!(E instanceof O))throw new Error("UUID: compare: invalid argument (type UUID expected)");for(var F=0;F<16;F++){if(this[F]E[F])return 1}return 0},O.prototype.equal=function(E){return this.compare(E)===0},O.prototype.fold=function(E){if(typeof E>"u")throw new Error("UUID: fold: invalid argument (number of fold operations expected)");if(E<1||E>4)throw new Error("UUID: fold: invalid argument (1-4 fold operations expected)");for(var F=16/Math.pow(2,E),D=new Array(F),g=0;g>(-2*A&6)));return C},p=function(h){h=String(h),/[^\0-\xFF]/.test(h)&&a("The string to be encoded contains characters outside of the Latin1 range.");for(var y=h.length%3,A="",m=-1,v,C,B,T,N=h.length-y;++m>18&63)+i.charAt(T>>12&63)+i.charAt(T>>6&63)+i.charAt(T&63);return y==2?(v=h.charCodeAt(m)<<8,C=h.charCodeAt(++m),T=v+C,A+=i.charAt(T>>10)+i.charAt(T>>4&63)+i.charAt(T<<2&63)+"="):y==1&&(T=h.charCodeAt(m),A+=i.charAt(T>>2)+i.charAt(T<<4&63)+"=="),A},d={encode:p,decode:l,version:"1.0.0"};if(n&&!n.nodeType)if(u)u.exports=d;else for(var f in d)d.hasOwnProperty(f)&&(n[f]=d[f]);else r.base64=d})(Vs)})(bI,ap);const SI=ap,wI=()=>SI.encode(new CI(4)).substring(0,12),_I={heading:"block",title:"block",endTitle:"block",remark:"block",footnote:"inline",xref:"inline",noteCaller:"inline",esbCat:"inline",table:"block",tree:"block",kv:"block"},BI={graftLocation:_I},E6={wordLike:0,punctuation:1,lineSpace:2,eol:3,softLineBreak:4,noBreakSpace:5,bareSlash:6,unknown:7},TI=Object.entries(E6).sort((e,t)=>e[1]-t[1]).map(e=>e[0]),$I={wordLike:"wordLike",punctuation:"notWordLike",lineSpace:"notWordLike",eol:"notWordLike",softLineBreak:"notWordLike",noBreakSpace:"notWordLike",bareSlash:"notWordLike",unknown:"notWordLike"},ip={tokenEnum:E6,tokenEnumLabels:TI,tokenCategory:$I},y6={blockTag:0,inline:1,chapter:2,pubChapter:3,altChapter:4,verses:5,verse:6,pubVerse:7,altVerse:8,esbCat:9,span:10,table:11,cell:12,milestone:13,spanWithAtts:14,attribute:15,hangingGraft:16,orphanTokens:17,tTableRow:18,tTableCol:19,tTreeNode:20,tTreeParent:21,tTreeChild:22,tTreeContent:23,kvPrimary:24,kvSecondary:25,kvField:26},PI=Object.entries(y6).sort((e,t)=>e[1]-t[1]).map(e=>e[0]),kI=e=>{const t=Z.exec(e,Z("([^1-9]+)(.*)")),r=t[1],n=t[2].length>0?t[2]:"1";return[r,n]},OI=e=>{const t={th:{type:"colHeading",align:"left"},thr:{type:"colHeading",align:"right"},tc:{type:"body",align:"left"},tcr:{type:"body",align:"right"}},[r,n]=kI(e);let u="1";if(n.includes("-")){const[s,o]=n.split("-");u=`${parseInt(o)-parseInt(s)+1}`}return`cell/${t[r].type}/${t[r].align}/${u}`},II=(e,t)=>{switch(e){case"blockTag":return`blockTag/${t[0]}`;case"inline":return`inline/${t[0]}`;case"chapter":return`chapter/${t[0]}`;case"verses":return`verses/${t[0]}`;case"verse":return`verse/${t[0]}`;case"span":return`span/${t[0]}`;case"table":return"table";case"cell":return OI(t[0]);case"milestone":return`milestone/${t[0]}`;case"spanWithAtts":return`spanWithAtts/${t[0]}`;case"attribute":return`attribute/${t[0]}/${t[1]}/${t[2]}/${t[3]}`;case"orphanTokens":return"orphanTokens";case"hangingGraft":return"hangingGraft";case"pubChapter":return`pubChapter/${t[0]}`;case"pubVerse":return`pubVerse/${t[0]}`;case"altChapter":return`altChapter/${t[0]}`;case"altVerse":return`altVerse/${t[0]}`;case"esbCat":return`esbCat/${t[0]}`;case"tTableRow":return`tTableRow/${t[0]}`;case"tTableCol":return`tTableCol/${t[0]}`;case"tTreeNode":return`tTreeNode/${t[0]}`;case"tTreeParent":return`tTreeParent/${t[0]}`;case"tTreeChild":return`tTreeChild/${t[0]}/${t[1]}`;case"tTreeContent":return`tTreeContent/${t[0]}`;case"kvPrimary":return`kvPrimary/${t[0]}`;case"kvSecondary":return`kvSecondary/${t[0]}/${t[1]}`;case"kvField":return`kvField/${t[0]}`;default:throw new Error(`Unknown scope type '${e}' in labelForScope`)}},NI=e=>{switch(e){case"orphanTokens":case"hangingGraft":case"table":return 1;case"blockTag":case"inline":case"chapter":case"verses":case"verse":case"span":case"milestone":case"spanWithAtts":case"pubChapter":case"altChapter":case"pubVerse":case"altVerse":case"esbCat":case"tTableRow":case"tTableCol":case"tTreeNode":case"tTreeParent":case"tTreeContent":case"kvPrimary":case"kvField":return 2;case"tTreeChild":case"kvSecondary":return 3;case"cell":return 4;case"attribute":return 6;default:throw new Error(`Unknown scope type '${e}' in nComponentsForScope`)}},Ii={scopeEnum:y6,scopeEnumLabels:PI,labelForScope:II,nComponentsForScope:NI},v6={token:0,graft:1,startScope:2,endScope:3},qI=Object.entries(v6).sort((e,t)=>e[1]-t[1]).map(e=>e[0]),g6=e=>({type:e[0],subType:e[1],payload:e[2]}),A6=e=>[e.type,e.subType,e.payload],xI=e=>e.map(t=>g6(t)),RI=e=>e.map(t=>A6(t)),Ni={itemEnum:v6,itemEnumLabels:qI,itemArray2Object:g6,itemObject2Array:A6,itemArrays2Objects:xI,itemObjects2Arrays:RI},jI=(e,t)=>{const r=e.byte(t),n=r>>6,u=r&63,s=e.byte(t+1);return[u,n,s]},MI=(e,t,r,n,u)=>{const s=ip.tokenCategory[ip.tokenEnumLabels[n]],o=t[s][r.nByte(u+2)];return e[s].countedString(o)},LI=(e,t,r,n,u)=>{const s=Ii.scopeEnumLabels[n];let o=Ii.nComponentsForScope(s),a=2,i="";for(;o>1;){const c=r.nByte(u+a),l=t.scopeBits[c],p=e.scopeBits.countedString(l);i+=`/${p}`,a+=r.nByteLength(c),o--}return`${s}${i}`},UI=e=>Ii.scopeEnumLabels[e],GI=(e,t,r)=>{const n=t.graftTypes[r];return e.graftTypes.countedString(n)},VI=(e,t,r,n)=>{const u=t.ids[r.nByte(n+2)];return e.ids.countedString(u)},HI=e=>{const t={};for(const[r,n]of Object.entries(e))t[r]=F6(r,n);return t},F6=(e,t)=>{const r=new Uint32Array(t.length);let n=0,u=0;for(;n{t||(t=!1);let r=0,n=0;const u=[];for(;r{throw new Error(`Undefined or null argument '${t}' in '${e}'`)},JI=(e,t,r)=>{t==null&&Hs("pushSuccinctTokenBytes","tokenEnumIndex"),r==null&&Hs("pushSuccinctTokenBytes","charsEnumIndex");const n=e.length;e.pushByte(0),e.pushByte(t),e.pushNByte(r),e.setByte(n,e.length-n|Ni.itemEnum.token<<6)},zI=(e,t,r)=>{t==null&&Hs("pushSuccinctGraftBytes","graftTypeEnumIndex"),r==null&&Hs("pushSuccinctGraftBytes","seqEnumIndex");const n=e.length;e.pushByte(0),e.pushByte(t),e.pushNByte(r),e.setByte(n,e.length-n|Ni.itemEnum.graft<<6)},KI=(e,t,r,n)=>{t==null&&Hs("pushSuccinctScopeBytes","itemTypeByte"),r==null&&Hs("pushSuccinctScopeBytes","scopeTypeByte"),n==null&&Hs("pushSuccinctScopeBytes","scopeBitBytes");const u=e.length;e.pushByte(0),e.pushByte(r);for(const s of n)e.pushNByte(s);e.setByte(u,e.length-u|t<<6)},Ku={enumIndex:F6,enumIndexes:HI,headerBytes:jI,pushSuccinctTokenBytes:JI,pushSuccinctGraftBytes:zI,pushSuccinctScopeBytes:KI,succinctTokenChars:MI,succinctScopeLabel:LI,succinctScopeType:UI,succinctGraftName:GI,succinctGraftSeqId:VI,unpackEnum:WI},XI=e=>{const t=new Oi;t.fromBase64(e);const r=[];r.push(`* Char length ${t.length} *`);for(const[n,u]of Ku.unpackEnum(t,!0))r.push(`${n} "${u}"`);return r.join(` -`)},YI=(e,t)=>{const r=new Oi;r.fromBase64(e);const n={};for(const[a,i]of Object.entries(t))n[a]=new Oi,n[a].fromBase64(i);const u=Ku.enumIndexes(n),s=[];s.push(`* Char length ${r.length} *`);let o=0;for(;o{for(const t of e)Vp(t)},Vp=e=>{if(!Z.exec(e,/^[a-z][A-za-z0-9]*(:.+)?$/))throw new Error(`Tag '${e}' is not valid (should be [a-z][A-za-z0-9]*(:.+)?)`)},tN=(e,t)=>{Vp(t),e.add(t)},rN=(e,t)=>{Vp(t),e.delete(t)},nN={validateTags:eN,validateTag:Vp,addTag:tN,removeTag:rN},uN=2,cp=3,Hp=["GEN","EXO","LEV","NUM","DEU","JOS","JDG","RUT","1SA","2SA","1KI","2KI","1CH","2CH","EZR","NEH","EST","JOB","PSA","PRO","ECC","SNG","ISA","JER","LAM","EZK","DAN","HOS","JOL","AMO","OBA","JON","MIC","NAM","HAB","ZEP","HAG","ZEC","MAL","MAT","MRK","LUK","JHN","ACT","ROM","1CO","2CO","GAL","EPH","PHP","COL","1TH","2TH","1TI","2TI","TIT","PHM","HEB","JAS","1PE","2PE","1JN","2JN","3JN","JUD","REV","TOB","JDT","ESG","WIS","SIR","BAR","LJE","S3Y","SUS","BEL","1MA","2MA","3MA","4MA","1ES","2ES","MAN","PS2","ODA","PSS","JSA","JDB","TBS","SST","DNT","BLT","EZA","5EZ","6EZ","DAG","PS3","2BA","LBA","JUB","ENO","1MQ","2MQ","3MQ","REP","4BA","LAO"],C6=()=>{const e={};for(const[t,r]of Object.entries(Hp))e[r]=parseInt(t);return e},sN=e=>{const t={};for(const r of e.split(/[\n\r]+/).map(n=>n.trim()).map(n=>Z.exec(n,Z("^([A-Z1-6]{3} [0-9]+:[0-9]+(-[0-9]+)?) = ([A-Z1-6]{3} [0-9]+:[0-9]+[a-z]?(-[0-9]+)?)$"))))r&&(r[1]in t||(t[r[1]]=[]),t[r[1]].push(r[3]));return{mappedVerses:t}},oN=e=>{const t={};for(const[r,n]of Object.entries(e.mappedVerses))for(const u of n)u in t?t[u].push(r):t[u]=[r];return{reverseMappedVerses:t}},b6=e=>{const t={};for(let[r,n]of Object.entries(e)){typeof n=="string"&&(n=[n]);const[u,s]=r.split(" "),o=n[0].split(" ")[0],a=o===u?["cv"]:["bcv"];let[i,c]=s.split(":"),l=c;if(c.includes("-")){const p=c.split("-");c=p[0],l=p[1]}a.push([parseInt(c),parseInt(l)]),a.push([]);for(const p of n.map(d=>d.split(" ")[1])){let[d,f]=p.split(":"),h=f;if(f.includes("-")){const y=f.split("-");f=y[0],h=y[1]}a[0]==="cv"?a[2].push([parseInt(d),parseInt(f),parseInt(h)]):a[2].push([parseInt(d),parseInt(f),parseInt(h),o])}u in t||(t[u]={}),i in t[u]||(t[u][i]=[]),t[u][i].push(a)}return t},aN=e=>{const t={},r=C6();for(const[n,u]of Object.entries(b6(e))){t[n]={};for(const[s,o]of Object.entries(u))t[n][s]=S6(o,r)}return t},S6=(e,t)=>{const r=(u,s)=>s+u*64,n=new Oi(64);for(const[u,[s,o],a]of e){const i=n.length,c=u==="bcv"?cp:uN;if(n.pushNBytes([0,s,o]),c===cp){const p=t[a[0][3]];n.pushNByte(p)}n.pushNByte(a.length);for(const[p,d]of a)n.pushNBytes([p,d]);const l=n.length-i;if(l>63)throw new Error(`Mapping in succinctifyVerseMapping ${JSON.stringify(a)} is too long (${l} bytes)`);n.setByte(i,r(c,l))}return n.trim(),n},w6=(e,t)=>{const r=e.byte(t);return[r>>6,r%64]},iN=(e,t,r)=>{const n=[];let u=0;for(;u{let u=null,s=0;for(;sl){s+=i;continue}let p=t;if(a===cp){const f=e.nByte(o);p=Hp[f],o+=e.nByteLength(f)}u=[p,[]];const d=e.nByte(o);for(o+=e.nByteLength(d);u[1].length{if(typeof t!="object")throw new Error(`DocSet constructor expects selectors to be object, found ${typeof e.selectors}`);const r={};for(const n of e.processor.selectors)r[n.name]=n;for(const[n,u]of Object.entries(t)){if(!(n in r))throw new Error(`Unexpected selector '${n}' (expected one of [${Object.keys(r).join(", ")}])`);if(typeof u=="string"&&r[n].type!=="string"||typeof u=="number"&&r[n].type!=="integer")throw new Error(`Selector '${n}' is of type ${typeof u} (expected ${r[n].type})`);if(typeof u=="number"){if(!Number.isInteger(u))throw new Error(`Value '${u}' of integer selector '${n}' is not an integer`);if("min"in r[n]&&ur[n].max)throw new Error(`Value '${u}' is greater than ${r[n].max}`)}else if("regex"in r[n]&&!Z.exec(u,Z(r[n].regex),0))throw new Error(`Value '${u}' does not match regex '${r[n].regex}'`);if("enum"in r[n]&&!r[n].enum.includes(u))throw new Error(`Value '${u}' of selector '${n}' is not in enum`)}for(const n of Object.keys(r))if(!(n in t))throw new Error(`Expected selector '${n}' not found`);return t},pN=(e,t,r)=>{const n=(o,a,i)=>[...e.unsuccinctifyScopes(o.os).map(l=>l[2]),...e.unsuccinctifyScopes(o.is).map(l=>l[2])].filter(l=>l.startsWith("chapter/")).map(l=>parseInt(l.split("/")[1])).filter(l=>l>a&&l0,u=(o,a,i)=>[...e.unsuccinctifyScopes(o.os).map(l=>l[2]),...e.unsuccinctifyScopes(o.is).map(l=>l[2])].includes(`chapter/${a}`)&&e.blockHasMatchingItem(o,(l,p)=>p.has(`chapter/${a}`)?Array.from(p).filter(d=>d.startsWith("verse/")).filter(d=>parseInt(d.split("/")[1])>=i).length>0||i===0&&l[0]==="token"&&l[2]&&Array.from(p).filter(d=>d.startsWith("verse")).length===0:!1,{}),s=(o,a,i)=>[...e.unsuccinctifyScopes(o.os).map(l=>l[2]),...e.unsuccinctifyScopes(o.is).map(l=>l[2])].includes(`chapter/${a}`)&&e.blockHasMatchingItem(o,(l,p)=>p.has(`chapter/${a}`)?Array.from(p).filter(d=>d.startsWith("verse/")).filter(d=>parseInt(d.split("/")[1])<=i).length>0||i===0&&l[0]==="token"&&l[2]&&Array.from(p).filter(d=>d.startsWith("verse")).length===0:!1,{});if(Z.exec(r,Z("^[1-9][0-9]*$"))){const o=[`chapter/${r}`];return t.filter(a=>e.allScopesInBlock(a,o))}else if(Z.exec(r,Z("^[1-9][0-9]*-[1-9][0-9]*$"))){const[o,a]=r.split("-").map(c=>parseInt(c));if(o>a)throw new Error(`Chapter range must be from min to max, not '${r}'`);const i=[...Array(a-o+1).keys()].map(c=>`chapter/${c+o}`);return t.filter(c=>e.anyScopeInBlock(c,i))}else if(Z.exec(r,Z("^[1-9][0-9]*:[0-9]+$"))){const[o,a]=r.split(":").map(i=>parseInt(i));if(a===0){const i=[`chapter/${o}`];return t.filter(c=>e.allScopesInBlock(c,i)).filter(c=>[...e.allBlockScopes(c)].filter(l=>l.startsWith("verse")).length===0)}else{const i=[`chapter/${o}`,`verse/${a}`];return t.filter(c=>e.allScopesInBlock(c,i))}}else if(Z.exec(r,Z("^[1-9][0-9]*:[0-9]+-[1-9][0-9]*$"))){const[o,a]=r.split(":"),[i,c]=a.split("-").map(d=>parseInt(d));if(i>c)throw new Error(`Verse range must be from min to max, not '${a}'`);const l=[`chapter/${o}`],p=[...Array(c-i+1).keys()].map(d=>`verse/${d+i}`);return t.filter(d=>e.allScopesInBlock(d,l)).filter(d=>e.anyScopeInBlock(d,p)||i===0&&[...e.allBlockScopes(d)].filter(f=>f.startsWith("verse")).length===0)}else if(Z.exec(r,Z("^[1-9][0-9]*:[0-9]+-[1-9][0-9]*:[0-9]+$"))){const[o,a]=r.split("-"),[i,c]=o.split(":").map(h=>parseInt(h)),[l,p]=a.split(":").map(h=>parseInt(h));if(i>l)throw new Error(`Chapter range must be from min to max, not '${i}-${p}'`);const d=[...Array(l-i+1).keys()].map(h=>`chapter/${h+i}`);return t.filter(h=>e.anyScopeInBlock(h,d)).filter(h=>n(h,i,l)||u(h,i,c)||s(h,l,p))}else throw new Error(`Bad cv reference '${r}'`)},dN=(e,t)=>{const[r,n,u]=ye.succinct.headerBytes(t.bs,0),s=e.unsuccinctifyScope(t.bs,n,u,0);return new Set([...e.unsuccinctifyScopes(t.os).map(o=>o[2]),...e.unsuccinctifyScopes(t.is).map(o=>o[2]),s[2]])},fN=(e,t,r)=>{const n=e.allBlockScopes(t);for(const u of r)if(!n.has(u))return!1;return!0},DN=(e,t,r)=>{const n=e.allBlockScopes(t);for(const u of r)if(n.has(u))return!0;return!1},hN=(e,t,r)=>{const[n,u,s]=ye.succinct.headerBytes(t.bs,0);return e.unsuccinctifyScope(t.bs,u,s,0)[2]===r},mN=(e,t,r)=>{let n=!1,u=0;const s=t.c;if(r.includes(-1))return!1;for(;!n&&u{const u=new Set(e.unsuccinctifyScopes(t.os).map(s=>s[2]));for(const s of e.unsuccinctifyItems(t.c,n,0)){if(s[0]==="scope"&&s[1]==="start"&&u.add(s[2]),r(s,u))return!0;s[0]==="scope"&&s[1]==="end"&&u.delete(s[2])}return!1},yN=(e,t,r)=>{e.maybeBuildEnumIndexes();const n=t.bs,[u,s,o]=ye.succinct.headerBytes(n,0),a=e.unsuccinctifyScope(n,s,o,0),i=e.unsuccinctifyGrafts(t.bg),c=e.unsuccinctifyScopes(t.os),l=e.unsuccinctifyScopes(t.is),p=t.nt.nByte(0),d=e.unsuccinctifyItems(t.c,r||{},p);return{bs:a,bg:i,c:d,os:c,is:l,nt:p}},vN=(e,t,r,n,u)=>{if(n===void 0)throw new Error("nextToken (previously includeContext) must now be provided to unsuccinctifyItems");if(n!==null&&typeof n!="number")throw new Error(`nextToken (previously includeContext) must be null or an integer, not ${typeof n} '${JSON.stringify(n)}' in unsuccinctifyItems`);const s=[];let o=0,a=n||0;const i=new Set(u||[]),c=[ye.itemDefs.itemEnum.startScope,ye.itemDefs.itemEnum.endScope];for(;o0){if(!r.scopes&&c.includes(p)){o+=l;continue}if(!r.tokens&&p===ye.itemDefs.itemEnum.token){o+=l;continue}if(!r.grafts&&p===ye.itemDefs.itemEnum.graft){o+=l;continue}}if(c.includes(p)){const h=ye.succinct.succinctScopeType(d);if(Object.keys(r).length>0&&r.scopes&&r.excludeScopeTypes&&r.excludeScopeTypes.includes(h)){o+=l;continue}}const f=e.unsuccinctifyItem(t,o,{})[0];f[0]==="token"?(Object.keys(r).length===0||r.tokens)&&(n!==null&&(f.push(f[0]==="token"&&f[1]==="wordLike"?a++:null),f.push([...i])),s.push(f)):f[0]==="scope"&&f[1]==="start"?(Object.keys(r).length===0||r.scopes)&&(i.add(f[2]),s.push(f)):f[0]==="scope"&&f[1]==="end"?(Object.keys(r).length===0||r.scopes)&&(i.delete(f[2]),s.push(f)):f[0]==="graft"&&(Object.keys(r).length===0||r.grafts)&&s.push(f),o+=l}return s},gN=(e,t,r,n)=>{let u=null;const[s,o,a]=ye.succinct.headerBytes(t,r);switch(o){case ye.itemDefs.itemEnum.token:(Object.keys(n).length===0||n.tokens)&&(u=e.unsuccinctifyToken(t,a,r));break;case ye.itemDefs.itemEnum.startScope:case ye.itemDefs.itemEnum.endScope:(Object.keys(n).length===0||n.scopes)&&(u=e.unsuccinctifyScope(t,o,a,r));break;case ye.itemDefs.itemEnum.graft:(Object.keys(n).length===0||n.grafts)&&(u=e.unsuccinctifyGraft(t,a,r));break}return[u,s]},AN=(e,t,r)=>{const n=new Set(e.unsuccinctifyScopes(t.os).map(p=>p[2])),u=r.requiredScopes||[],i=r.anyScope||!1?()=>{for(const p of u)if(n.has(p))return!0;return u.length===0}:()=>{for(const p of u)if(!n.has(p))return!1;return!0},c=p=>!r.withChars||r.withChars.length===0||p[0]==="token"&&r.withChars.includes(p[2]),l=[];for(const p of e.unsuccinctifyItems(t.c,r,t.nt.nByte(0),n))p[0]==="scope"&&p[1]==="start"&&n.add(p[2]),i()&&c(p)&&l.push(p),p[0]==="scope"&&p[1]==="end"&&n.delete(p[2]);return l},FN=(e,t,r,n)=>{n=n||{};const u=new Set(e.unsuccinctifyScopes(t.os).map(c=>c[2])),o=(()=>{if(Z.exec(r,Z("^[1-9][0-9]*$")))return()=>u.has(`chapter/${r}`);if(Z.exec(r,Z("^[1-9][0-9]*-[1-9][0-9]*$")))return()=>{const[c,l]=r.split("-").map(p=>parseInt(p));if(c>l)throw new Error(`Chapter range must be from min to max, not '${r}'`);for(const p of[...Array(l-c+1).keys()].map(d=>`chapter/${d+c}`))if(u.has(p))return!0;return!1};if(Z.exec(r,Z("^[1-9][0-9]*:[0-9]+$")))return()=>{const[c,l]=r.split(":").map(p=>parseInt(p));if(l===0)return u.has(`chapter/${c}`)&&[...u].filter(p=>p.startsWith("verse")).length===0;for(const p of[`chapter/${c}`,`verse/${l}`])if(!u.has(p))return!1;return!0};if(Z.exec(r,Z("^[1-9][0-9]*:[0-9]+-[1-9][0-9]*$")))return()=>{const[c,l]=r.split(":"),[p,d]=l.split("-").map(y=>parseInt(y));if(p>d)throw new Error(`Verse range must be from min to max, not '${l}'`);const f=`chapter/${c}`,h=[...Array(d-p+1).keys()].map(y=>`verse/${y+p}`);if(!u.has(f))return!1;for(const y of h)if(u.has(y))return!0;return p===0&&[...u].filter(y=>y.startsWith("verse")).length===0};if(Z.exec(r,Z("^[1-9][0-9]*:[0-9]+-[1-9][0-9]*:[0-9]+$")))return()=>{const[c,l]=r.split("-"),[p,d]=c.split(":").map(v=>parseInt(v)),[f,h]=l.split(":").map(v=>parseInt(v));if(p>f)throw new Error(`Chapter range must be from min to max, not '${p}-${h}'`);const y=[...u],A=y.filter(v=>v.startsWith("chapter/"));if(A.length>1)throw new Error(`Expected zero or one chapter for item, found ${A.length}`);const m=parseInt(A[0].split("/")[1]);return mf?!1:m===p?y.filter(v=>v.startsWith("verse/")&&parseInt(v.split("/")[1])>=d).length>0||d===0&&y.filter(v=>v.startsWith("verse")).length===0:m===f?y.filter(v=>v.startsWith("verse/")&&parseInt(v.split("/")[1])<=h).length>0||h===0&&y.filter(v=>v.startsWith("verse")).length===0:!0};throw new Error(`Bad cv reference '${r}'`)})(),a=c=>{if(!n||Object.keys(n).length===0)return!0;{const l=c[0];return l==="token"&&"tokens"in n||l==="graft"&&"grafts"in n||l==="scope"&&"scopes"in n}},i=[];if(n.excludeScopeTypes)for(const c of e.unsuccinctifyItems(t.c,n,t.nt.nByte(0)))c[0]==="scope"&&c[1]==="start"&&u.add(c[2]),o()&&a(c)&&i.push(c),c[0]==="scope"&&c[1]==="end"&&u.delete(c[2]);else for(const c of e.unsuccinctifyItems(t.c,{},t.nt.nByte(0)))c[0]==="scope"&&c[1]==="start"&&u.add(c[2]),o()&&a(c)&&i.push(c),c[0]==="scope"&&c[1]==="end"&&u.delete(c[2]);return i},CN=(e,t)=>{const r=new Map;let n=0,u=0;for(;n{if(!(t in e.preEnums))throw new Error(`Unknown category ${t} in recordPreEnum. Maybe call buildPreEnums()?`);r.length>255&&console.log("Value length of",r.length,"in recordPreEnum"),e.preEnums[t].has(r)?e.preEnums[t].get(r).frequency++:e.preEnums[t].set(r,{enum:e.preEnums[t].size,frequency:1})},SN=(e,t,r)=>{const n=new Map([...r.entries()]);for(const u of n.keys())u.length>255&&console.log("enum text for",t,"has length",u.length,"in buildEnum - truncating"),e.enums[t].pushCountedString(u.substring(0,255));e.enums[t].trim()},wN=(e,t,r,n)=>{if(n||(n=!1),!(t in e.preEnums))throw new Error(`Unknown category ${t} in preEnums. Maybe call buildPreEnums()?`);if(e.preEnums[t].has(r))return e.preEnums[t].get(r).enum;if(n)return e.preEnums[t].set(r,{enum:e.preEnums[t].size,frequency:1}),e.enums[t].pushCountedString(r),e.buildEnumIndex(t),e.preEnums[t].get(r).enum;throw new Error(`Unknown value '${r}' for category ${t} in enumForCategoryValue. Maybe call buildPreEnums()?`)},_N=(e,t)=>{let r=0,n=0;for(;n{let u=[];if(!r)return u;let s=r.startBlock,o=r.nextToken;for(;s<=r.endBlock;){let a=e.unsuccinctifyItems(t.blocks[s].c,{},o);const i=e.unsuccinctifyScopes(t.blocks[s].bs)[0],c=e.unsuccinctifyGrafts(t.blocks[s].bg);if(s===r.startBlock&&s===r.endBlock?a=a.slice(r.startItem,r.endItem+1):s===r.startBlock?a=a.slice(r.startItem):s===r.endBlock&&(a=a.slice(0,r.endItem+1)),n){let l=[];for(const p of a)l.push(p.concat([p[0]==="token"&&p[1]==="wordLike"?o++:null]));a=l}u.push([...c,["scope","start",i[2]],...a,["scope","end",i[2]]]),s++}return u},TN=(e,t,r)=>{let n=[];const u=()=>{for(const c of r)if(!s(c))return!1;return!0},s=c=>{for(const l of n)if(l.startsWith(c))return l;return null};e.maybeBuildEnumIndexes();const o=[];let a=new Set([]),i=!0;for(const[c,l]of t.entries()){const[p,d,f]=ye.succinct.headerBytes(l.bs,0),h=e.unsuccinctifyScope(l.bs,d,f,0)[2],y=["scope","start",h],A=["scope","end",h],m=e.unsuccinctifyGrafts(l.bg);n=new Set(e.unsuccinctifyScopes(l.os).map(v=>v[2]).concat([h]));for(const v of m.concat([y,...e.unsuccinctifyItems(l.c,{},l.nt.nByte(0),n),A]).concat(c!==t.length-1?[["token","lineSpace"," "]]:[])){if(v[0]==="scope"&&v[1]==="start"&&a.add(v[2]),v[0]==="token"&&a.size>0){for(const C of Array.from(a))n.add(C);a.clear()}u()?(i&&o.push([[...n],[]]),o[o.length-1][1].push(v),i=!1):i=!0,v[0]==="scope"&&v[1]==="end"&&(n.delete(v[2]),a.delete(v[2]))}}return o},$N=(e,t,r)=>{let n=new Set([]);const u=o=>o[0]==="scope"&&o[1]==="start"&&r.includes(o[2]);e.maybeBuildEnumIndexes();const s=[[[],[]]];for(const o of t){const[a,i,c]=ye.succinct.headerBytes(o.bs,0),l=e.unsuccinctifyScope(o.bs,i,c,0)[2],p=e.unsuccinctifyGrafts(o.bg);n.add(l),e.unsuccinctifyScopes(o.os).forEach(f=>n.add(f[2]));const d=p.concat([l].concat(e.unsuccinctifyItems(o.c,{},o.nt.nByte(0))));for(const f of d){if(f[0]==="scope"&&f[1]==="start"&&n.add(f[2]),u(f)){s[s.length-1][0]=[...n].sort(),s.push([[],[]]);for(const h of[...n].filter(y=>["blockTag","verse","verses","chapter"].includes(y.split("/")[0])||r.includes(y)))n.delete(h);n.add(l)}s[s.length-1][1].push(f)}s[s.length-1][1].push(["scope","end",l]),s[s.length-1][1].push(["token","punctuation",` -`])}return s[s.length-1][0]=[...n].sort(),s},PN=e=>{e.preEnums={};for(const r of Object.keys(e.enums))e.preEnums[r]=new Map;e.maybeBuildEnumIndexes();for(const r of e.documents())for(const n of Object.values(r.sequences))r.rerecordPreEnums(e,n);e.sortPreEnums();const t=e.makeRehashEnumMap();for(const r of e.documents())for(const n of Object.values(r.sequences))r.rewriteSequenceBlocks(n.id,t);return e.buildEnums(),e.buildEnumIndexes(),!0},kN=e=>{const t={};for(const[r,n]of Object.entries(e.enums)){t[r]=[];let u=0;for(;u{const o=e.processor.documents[t];if(!o)throw new Error(`Document '${t}' not found`);let a;if(r){if(a=o.sequences[r],!a)throw new Error(`Sequence '${r}' not found`)}else a=o.sequences[o.mainId];if(a.blocks.length<=n)throw new Error(`Could not find block ${n} (length=${a.blocks.length})`);const i=a.blocks[n],c=new qi(s.length);e.maybeBuildPreEnums();let l=0;n<0&&(l=a.blocks[n-1].nt.nByte(0));let p,d,f,h,y,A=null;for(const m of s)switch(m.type){case"token":p=e.enumForCategoryValue(NN[m.subType],m.payload,!0),IN(c,qN[m.subType],p),l++;break;case"graft":d=e.enumForCategoryValue("graftTypes",m.subType,!0),f=e.enumForCategoryValue("ids",m.payload,!0),ON(c,d,f);break;case"scope":if(h=m.payload.split("/"),y=Am[h[0]],!y&&y!==0)throw new Error(`"${h[0]}" is not a scope type`);A=h.slice(1).map(v=>e.enumForCategoryValue("scopeBits",v,!0)),vm(c,gm[`${m.subType}Scope`],y,A);break}return c.trim(),i[u]=c,u==="c"&&(i.nt.clear(),i.nt.pushNByte(l)),!0},xN=(e,t,r,n,u)=>Yi(e,t,r,n,"c",u),_6=(e,t,r,n,u)=>Yi(e,t,r,n,"bg",u),RN=(e,t,r,n,u)=>Yi(e,t,r,n,"bs",[u]),jN=(e,t,r,n,u)=>Yi(e,t,r,n,"os",u),MN=(e,t,r,n,u)=>Yi(e,t,r,n,"is",u),LN=(e,t,r)=>{const n=(l,p)=>{for(const d of Array.from(l))if(!p.has(d))return!1;for(const d of Array.from(p))if(!l.has(d))return!1;return!0},u=(l,p,d)=>{const f=d.split("/"),h=Am[f[0]];if(!h&&h!==0)throw new Error(`"${f[0]}" is not a scope type`);const y=f.slice(1).map(A=>l.enumForCategoryValue("scopeBits",A,!0));vm(p,gm.startScope,h,y)},s=t.blocks[r],o=new Set,a=new Set;for(const l of e.unsuccinctifyScopes(s.os))a.add(l[2]);for(const l of e.unsuccinctifyItems(s.c,{scopes:!0},null))l[1]==="start"?(o.add(l[2]),a.add(l[2])):a.delete(l[2]);const i=Array.from(o),c=new qi(i.length);for(const l of i)u(e,c,l);if(c.trim(),s.is=c,rf[2]));if(!n(a,d)){const f=new qi(d.length);for(const h of Array.from(a))u(e,f,h);f.trim(),l.os=f,e.updateBlockIndexesAfterEdit(t,r+1)}}},UN=(e,t)=>{const r=(u,s,o)=>{const a=o.split("/"),i=Am[a[0]];if(!i&&i!==0)throw new Error(`"${a[0]}" is not a scope type`);const c=a.slice(1).map(l=>u.enumForCategoryValue("scopeBits",l,!0));vm(s,gm.startScope,i,c)},n=new Set;for(const u of t.blocks){const s=Array.from(n),o=new qi(s.length);for(const l of s)r(e,o,l);o.trim(),u.os=o;const a=new Set;for(const l of e.unsuccinctifyItems(u.c,{scopes:!0},null))l[1]==="start"?(a.add(l[2]),n.add(l[2])):n.delete(l[2]);const i=Array.from(a),c=new qi(i.length);for(const l of i)r(e,c,l);c.trim(),u.is=c}},GN=e=>{const t={id:e.id,metadata:{selectors:e.selectors},enums:{},docs:{},tags:Array.from(e.tags)};for(const[r,n]of Object.entries(e.enums))n.trim(),t.enums[r]=n.base64();t.docs={};for(const r of e.docIds)t.docs[r]=e.processor.documents[r].serializeSuccinct();return t},vo=ye.ByteArray,{addTag:VN,removeTag:HN,validateTags:tv}=ye.tags,{succinctGraftName:WN,succinctGraftSeqId:JN,succinctScopeLabel:zN,succinctTokenChars:KN,headerBytes:of,enumIndex:XN,enumIndexes:YN}=ye.succinct,{itemEnum:ZN}=ye.itemDefs,{tokenEnumLabels:QN}=ye.tokenDefs;class rv{constructor(t,r,n,u){this.processor=t,this.preEnums={},this.enumIndexes={},this.docIds=[],u?this.fromSuccinct(t,u):this.fromScratch(t,r,n),tv(this.tags)}fromScratch(t,r,n){const u=r||t.selectors;this.selectors=ev(this,u),this.id=this.selectorString(),this.tags=new Set(n||[]),this.enums={ids:new vo(512),wordLike:new vo(8192),notWordLike:new vo(256),scopeBits:new vo(256),graftTypes:new vo(10)}}fromSuccinct(t,r){const n=u=>{const s=new vo(256);return s.fromBase64(u),s.trim(),s};this.id=r.id,this.selectors=ev(this,r.metadata.selectors),this.tags=new Set(r.tags),tv(this.tags),this.preEnums={},this.enums={ids:n(r.enums.ids),wordLike:n(r.enums.wordLike),notWordLike:n(r.enums.notWordLike),scopeBits:n(r.enums.scopeBits),graftTypes:n(r.enums.graftTypes)},this.enumIndexes={},this.docIds=[]}addTag(t){VN(this.tags,t)}removeTag(t){HN(this.tags,t)}selectorString(){return this.processor.selectorString(this.selectors)}documents(){return this.docIds.map(t=>this.processor.documents[t])}documentWithBook(t){const r=Object.values(this.documents()).filter(n=>"bookCode"in n.headers&&n.headers.bookCode===t);return r.length===1?r[0]:null}maybeBuildPreEnums(){Object.keys(this.preEnums).length===0&&this.buildPreEnums()}buildPreEnums(){for(const[t,r]of Object.entries(this.enums))this.preEnums[t]=CN(this,r)}recordPreEnum(t,r){bN(this,t,r)}sortPreEnums(){for(const t of Object.keys(this.preEnums)){this.preEnums[t]=new Map([...this.preEnums[t].entries()].sort((n,u)=>u[1].frequency-n[1].frequency));let r=0;for(const[n,u]of this.preEnums[t])u.enum=r++}}enumForCategoryValue(t,r,n){return wN(this,t,r,n)}buildEnums(){for(const[t,r]of Object.entries(this.preEnums))this.enums[t].clear(),this.buildEnum(t,r)}buildEnum(t,r){SN(this,t,r)}maybeBuildEnumIndexes(){Object.keys(this.enumIndexes).length===0&&this.buildEnumIndexes()}buildEnumIndexes(){this.enumIndexes=YN(this.enums)}buildEnumIndex(t){this.enumIndexes[t]=XN(t,this.enums[t])}unsuccinctifyBlock(t,r){return yN(this,t,r)}unsuccinctifyItems(t,r,n,u){return vN(this,t,r,n,u)}unsuccinctifyItem(t,r,n){return gN(this,t,r,n)}unsuccinctifyPrunedItems(t,r){return AN(this,t,r)}unsuccinctifyScopes(t){const r=[];let n=0;for(;no[2]))}unsuccinctifyItemsWithScriptureCV(t,r,n){return FN(this,t,r,n)}succinctTokenChars(t,r,n){return KN(this.enums,this.enumIndexes,t,r,n)}succinctScopeLabel(t,r,n){return zN(this.enums,this.enumIndexes,t,r,n)}succinctGraftName(t){return WN(this.enums,this.enumIndexes,t)}succinctGraftSeqId(t,r){return JN(this.enums,this.enumIndexes,t,r)}countItems(t){return _N(this,t)}itemsByIndex(t,r,n){return BN(this,t,r,n)}blocksWithScriptureCV(t,r){return pN(this,t,r)}allBlockScopes(t){return dN(this,t)}allScopesInBlock(t,r){return fN(this,t,r)}anyScopeInBlock(t,r){return DN(this,t,r)}blockHasBlockScope(t,r){return hN(this,t,r)}blockHasChars(t,r){return mN(this,t,r)}blockHasMatchingItem(t,r,n){return EN(this,t,r,n)}sequenceItemsByScopes(t,r){return TN(this,t,r)}sequenceItemsByMilestones(t,r){return $N(this,t,r)}rehash(){return PN(this)}makeRehashEnumMap(){return kN(this)}updateItems(t,r,n,u){return xN(this,t,r,n,u)}updateBlockGrafts(t,r,n,u){return _6(this,t,r,n,u)}updateBlockScope(t,r,n,u){return RN(this,t,r,n,u)}updateOpenScopes(t,r,n,u){return jN(this,t,r,n,u)}updateIncludedScopes(t,r,n,u){return MN(this,t,r,n,u)}updateBlockIndexesAfterEdit(t,r){LN(this,t,r)}updateBlockIndexesAfterFilter(t){UN(this,t)}serializeSuccinct(){return GN(this)}checksum(){const t=[...this.docIds].sort().join(" ");return d6.calculate(t)}}var lp={},eq={get exports(){return lp},set exports(e){lp=e}},B6={},Tn={},pa={},Zi={},ut={},xi={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.regexpCode=e.getEsmExportName=e.getProperty=e.safeStringify=e.stringify=e.strConcat=e.addCodeArg=e.str=e._=e.nil=e._Code=e.Name=e.IDENTIFIER=e._CodeOrName=void 0;class t{}e._CodeOrName=t,e.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class r extends t{constructor(v){if(super(),!e.IDENTIFIER.test(v))throw new Error("CodeGen: name must be a valid identifier");this.str=v}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}e.Name=r;class n extends t{constructor(v){super(),this._items=typeof v=="string"?[v]:v}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;const v=this._items[0];return v===""||v==='""'}get str(){var v;return(v=this._str)!==null&&v!==void 0?v:this._str=this._items.reduce((C,B)=>`${C}${B}`,"")}get names(){var v;return(v=this._names)!==null&&v!==void 0?v:this._names=this._items.reduce((C,B)=>(B instanceof r&&(C[B.str]=(C[B.str]||0)+1),C),{})}}e._Code=n,e.nil=new n("");function u(m,...v){const C=[m[0]];let B=0;for(;B{if(p.scopePath===void 0)throw new Error(`CodeGen: name "${p}" has no value`);return(0,t._)`${c}${p.scopePath}`})}scopeCode(c=this._values,l,p){return this._reduceValues(c,d=>{if(d.value===void 0)throw new Error(`CodeGen: name "${d}" has no value`);return d.value.code},l,p)}_reduceValues(c,l,p={},d){let f=t.nil;for(const h in c){const y=c[h];if(!y)continue;const A=p[h]=p[h]||new Map;y.forEach(m=>{if(A.has(m))return;A.set(m,n.Started);let v=l(m);if(v){const C=this.opts.es5?e.varKinds.var:e.varKinds.const;f=(0,t._)`${f}${C} ${m} = ${v};${this.opts._n}`}else if(v=d==null?void 0:d(m))f=(0,t._)`${f}${v}${this.opts._n}`;else throw new r(m);A.set(m,n.Completed)})}return f}}e.ValueScope=a})(H2);(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.or=e.and=e.not=e.CodeGen=e.operators=e.varKinds=e.ValueScopeName=e.ValueScope=e.Scope=e.Name=e.regexpCode=e.stringify=e.getProperty=e.nil=e.strConcat=e.str=e._=void 0;const t=xi,r=H2;var n=xi;Object.defineProperty(e,"_",{enumerable:!0,get:function(){return n._}}),Object.defineProperty(e,"str",{enumerable:!0,get:function(){return n.str}}),Object.defineProperty(e,"strConcat",{enumerable:!0,get:function(){return n.strConcat}}),Object.defineProperty(e,"nil",{enumerable:!0,get:function(){return n.nil}}),Object.defineProperty(e,"getProperty",{enumerable:!0,get:function(){return n.getProperty}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return n.stringify}}),Object.defineProperty(e,"regexpCode",{enumerable:!0,get:function(){return n.regexpCode}}),Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return n.Name}});var u=H2;Object.defineProperty(e,"Scope",{enumerable:!0,get:function(){return u.Scope}}),Object.defineProperty(e,"ValueScope",{enumerable:!0,get:function(){return u.ValueScope}}),Object.defineProperty(e,"ValueScopeName",{enumerable:!0,get:function(){return u.ValueScopeName}}),Object.defineProperty(e,"varKinds",{enumerable:!0,get:function(){return u.varKinds}}),e.operators={GT:new t._Code(">"),GTE:new t._Code(">="),LT:new t._Code("<"),LTE:new t._Code("<="),EQ:new t._Code("==="),NEQ:new t._Code("!=="),NOT:new t._Code("!"),OR:new t._Code("||"),AND:new t._Code("&&"),ADD:new t._Code("+")};class s{optimizeNodes(){return this}optimizeNames(D,g){return this}}class o extends s{constructor(D,g,P){super(),this.varKind=D,this.name=g,this.rhs=P}render({es5:D,_n:g}){const P=D?r.varKinds.var:this.varKind,b=this.rhs===void 0?"":` = ${this.rhs}`;return`${P} ${this.name}${b};`+g}optimizeNames(D,g){if(D[this.name.str])return this.rhs&&(this.rhs=oe(this.rhs,D,g)),this}get names(){return this.rhs instanceof t._CodeOrName?this.rhs.names:{}}}class a extends s{constructor(D,g,P){super(),this.lhs=D,this.rhs=g,this.sideEffects=P}render({_n:D}){return`${this.lhs} = ${this.rhs};`+D}optimizeNames(D,g){if(!(this.lhs instanceof t.Name&&!D[this.lhs.str]&&!this.sideEffects))return this.rhs=oe(this.rhs,D,g),this}get names(){const D=this.lhs instanceof t.Name?{}:{...this.lhs.names};return ue(D,this.rhs)}}class i extends a{constructor(D,g,P,b){super(D,P,b),this.op=g}render({_n:D}){return`${this.lhs} ${this.op}= ${this.rhs};`+D}}class c extends s{constructor(D){super(),this.label=D,this.names={}}render({_n:D}){return`${this.label}:`+D}}class l extends s{constructor(D){super(),this.label=D,this.names={}}render({_n:D}){return`break${this.label?` ${this.label}`:""};`+D}}class p extends s{constructor(D){super(),this.error=D}render({_n:D}){return`throw ${this.error};`+D}get names(){return this.error.names}}class d extends s{constructor(D){super(),this.code=D}render({_n:D}){return`${this.code};`+D}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(D,g){return this.code=oe(this.code,D,g),this}get names(){return this.code instanceof t._CodeOrName?this.code.names:{}}}class f extends s{constructor(D=[]){super(),this.nodes=D}render(D){return this.nodes.reduce((g,P)=>g+P.render(D),"")}optimizeNodes(){const{nodes:D}=this;let g=D.length;for(;g--;){const P=D[g].optimizeNodes();Array.isArray(P)?D.splice(g,1,...P):P?D[g]=P:D.splice(g,1)}return D.length>0?this:void 0}optimizeNames(D,g){const{nodes:P}=this;let b=P.length;for(;b--;){const w=P[b];w.optimizeNames(D,g)||(de(D,w.names),P.splice(b,1))}return P.length>0?this:void 0}get names(){return this.nodes.reduce((D,g)=>K(D,g.names),{})}}class h extends f{render(D){return"{"+D._n+super.render(D)+"}"+D._n}}class y extends f{}class A extends h{}A.kind="else";class m extends h{constructor(D,g){super(g),this.condition=D}render(D){let g=`if(${this.condition})`+super.render(D);return this.else&&(g+="else "+this.else.render(D)),g}optimizeNodes(){super.optimizeNodes();const D=this.condition;if(D===!0)return this.nodes;let g=this.else;if(g){const P=g.optimizeNodes();g=this.else=Array.isArray(P)?new A(P):P}if(g)return D===!1?g instanceof m?g:g.nodes:this.nodes.length?this:new m(he(D),g instanceof m?[g]:g.nodes);if(!(D===!1||!this.nodes.length))return this}optimizeNames(D,g){var P;if(this.else=(P=this.else)===null||P===void 0?void 0:P.optimizeNames(D,g),!!(super.optimizeNames(D,g)||this.else))return this.condition=oe(this.condition,D,g),this}get names(){const D=super.names;return ue(D,this.condition),this.else&&K(D,this.else.names),D}}m.kind="if";class v extends h{}v.kind="for";class C extends v{constructor(D){super(),this.iteration=D}render(D){return`for(${this.iteration})`+super.render(D)}optimizeNames(D,g){if(super.optimizeNames(D,g))return this.iteration=oe(this.iteration,D,g),this}get names(){return K(super.names,this.iteration.names)}}class B extends v{constructor(D,g,P,b){super(),this.varKind=D,this.name=g,this.from=P,this.to=b}render(D){const g=D.es5?r.varKinds.var:this.varKind,{name:P,from:b,to:w}=this;return`for(${g} ${P}=${b}; ${P}<${w}; ${P}++)`+super.render(D)}get names(){const D=ue(super.names,this.from);return ue(D,this.to)}}class T extends v{constructor(D,g,P,b){super(),this.loop=D,this.varKind=g,this.name=P,this.iterable=b}render(D){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(D)}optimizeNames(D,g){if(super.optimizeNames(D,g))return this.iterable=oe(this.iterable,D,g),this}get names(){return K(super.names,this.iterable.names)}}class N extends h{constructor(D,g,P){super(),this.name=D,this.args=g,this.async=P}render(D){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(D)}}N.kind="func";class R extends f{render(D){return"return "+super.render(D)}}R.kind="return";class J extends h{render(D){let g="try"+super.render(D);return this.catch&&(g+=this.catch.render(D)),this.finally&&(g+=this.finally.render(D)),g}optimizeNodes(){var D,g;return super.optimizeNodes(),(D=this.catch)===null||D===void 0||D.optimizeNodes(),(g=this.finally)===null||g===void 0||g.optimizeNodes(),this}optimizeNames(D,g){var P,b;return super.optimizeNames(D,g),(P=this.catch)===null||P===void 0||P.optimizeNames(D,g),(b=this.finally)===null||b===void 0||b.optimizeNames(D,g),this}get names(){const D=super.names;return this.catch&&K(D,this.catch.names),this.finally&&K(D,this.finally.names),D}}class q extends h{constructor(D){super(),this.error=D}render(D){return`catch(${this.error})`+super.render(D)}}q.kind="catch";class G extends h{render(D){return"finally"+super.render(D)}}G.kind="finally";class ee{constructor(D,g={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...g,_n:g.lines?` -`:""},this._extScope=D,this._scope=new r.Scope({parent:D}),this._nodes=[new y]}toString(){return this._root.render(this.opts)}name(D){return this._scope.name(D)}scopeName(D){return this._extScope.name(D)}scopeValue(D,g){const P=this._extScope.value(D,g);return(this._values[P.prefix]||(this._values[P.prefix]=new Set)).add(P),P}getScopeValue(D,g){return this._extScope.getValue(D,g)}scopeRefs(D){return this._extScope.scopeRefs(D,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(D,g,P,b){const w=this._scope.toName(g);return P!==void 0&&b&&(this._constants[w.str]=P),this._leafNode(new o(D,w,P)),w}const(D,g,P){return this._def(r.varKinds.const,D,g,P)}let(D,g,P){return this._def(r.varKinds.let,D,g,P)}var(D,g,P){return this._def(r.varKinds.var,D,g,P)}assign(D,g,P){return this._leafNode(new a(D,g,P))}add(D,g){return this._leafNode(new i(D,e.operators.ADD,g))}code(D){return typeof D=="function"?D():D!==t.nil&&this._leafNode(new d(D)),this}object(...D){const g=["{"];for(const[P,b]of D)g.length>1&&g.push(","),g.push(P),(P!==b||this.opts.es5)&&(g.push(":"),(0,t.addCodeArg)(g,b));return g.push("}"),new t._Code(g)}if(D,g,P){if(this._blockNode(new m(D)),g&&P)this.code(g).else().code(P).endIf();else if(g)this.code(g).endIf();else if(P)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(D){return this._elseNode(new m(D))}else(){return this._elseNode(new A)}endIf(){return this._endBlockNode(m,A)}_for(D,g){return this._blockNode(D),g&&this.code(g).endFor(),this}for(D,g){return this._for(new C(D),g)}forRange(D,g,P,b,w=this.opts.es5?r.varKinds.var:r.varKinds.let){const I=this._scope.toName(D);return this._for(new B(w,I,g,P),()=>b(I))}forOf(D,g,P,b=r.varKinds.const){const w=this._scope.toName(D);if(this.opts.es5){const I=g instanceof t.Name?g:this.var("_arr",g);return this.forRange("_i",0,(0,t._)`${I}.length`,$=>{this.var(w,(0,t._)`${I}[${$}]`),P(w)})}return this._for(new T("of",b,w,g),()=>P(w))}forIn(D,g,P,b=this.opts.es5?r.varKinds.var:r.varKinds.const){if(this.opts.ownProperties)return this.forOf(D,(0,t._)`Object.keys(${g})`,P);const w=this._scope.toName(D);return this._for(new T("in",b,w,g),()=>P(w))}endFor(){return this._endBlockNode(v)}label(D){return this._leafNode(new c(D))}break(D){return this._leafNode(new l(D))}return(D){const g=new R;if(this._blockNode(g),this.code(D),g.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(R)}try(D,g,P){if(!g&&!P)throw new Error('CodeGen: "try" without "catch" and "finally"');const b=new J;if(this._blockNode(b),this.code(D),g){const w=this.name("e");this._currNode=b.catch=new q(w),g(w)}return P&&(this._currNode=b.finally=new G,this.code(P)),this._endBlockNode(q,G)}throw(D){return this._leafNode(new p(D))}block(D,g){return this._blockStarts.push(this._nodes.length),D&&this.code(D).endBlock(g),this}endBlock(D){const g=this._blockStarts.pop();if(g===void 0)throw new Error("CodeGen: not in self-balancing block");const P=this._nodes.length-g;if(P<0||D!==void 0&&P!==D)throw new Error(`CodeGen: wrong number of nodes: ${P} vs ${D} expected`);return this._nodes.length=g,this}func(D,g=t.nil,P,b){return this._blockNode(new N(D,g,P)),b&&this.code(b).endFunc(),this}endFunc(){return this._endBlockNode(N)}optimize(D=1){for(;D-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(D){return this._currNode.nodes.push(D),this}_blockNode(D){this._currNode.nodes.push(D),this._nodes.push(D)}_endBlockNode(D,g){const P=this._currNode;if(P instanceof D||g&&P instanceof g)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${g?`${D.kind}/${g.kind}`:D.kind}"`)}_elseNode(D){const g=this._currNode;if(!(g instanceof m))throw new Error('CodeGen: "else" without "if"');return this._currNode=g.else=D,this}get _root(){return this._nodes[0]}get _currNode(){const D=this._nodes;return D[D.length-1]}set _currNode(D){const g=this._nodes;g[g.length-1]=D}}e.CodeGen=ee;function K(F,D){for(const g in D)F[g]=(F[g]||0)+(D[g]||0);return F}function ue(F,D){return D instanceof t._CodeOrName?K(F,D.names):F}function oe(F,D,g){if(F instanceof t.Name)return P(F);if(!b(F))return F;return new t._Code(F._items.reduce((w,I)=>(I instanceof t.Name&&(I=P(I)),I instanceof t._Code?w.push(...I._items):w.push(I),w),[]));function P(w){const I=g[w.str];return I===void 0||D[w.str]!==1?w:(delete D[w.str],I)}function b(w){return w instanceof t._Code&&w._items.some(I=>I instanceof t.Name&&D[I.str]===1&&g[I.str]!==void 0)}}function de(F,D){for(const g in D)F[g]=(F[g]||0)-(D[g]||0)}function he(F){return typeof F=="boolean"||typeof F=="number"||F===null?!F:(0,t._)`!${E(F)}`}e.not=he;const fe=O(e.operators.AND);function ge(...F){return F.reduce(fe)}e.and=ge;const pe=O(e.operators.OR);function z(...F){return F.reduce(pe)}e.or=z;function O(F){return(D,g)=>D===t.nil?g:g===t.nil?D:(0,t._)`${E(D)} ${F} ${E(g)}`}function E(F){return F instanceof t.Name?F:(0,t._)`(${F})`}})(ut);var Dt={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.checkStrictMode=e.getErrorPath=e.Type=e.useFunc=e.setEvaluated=e.evaluatedPropsToName=e.mergeEvaluated=e.eachItem=e.unescapeJsonPointer=e.escapeJsonPointer=e.escapeFragment=e.unescapeFragment=e.schemaRefOrVal=e.schemaHasRulesButRef=e.schemaHasRules=e.checkUnknownRules=e.alwaysValidSchema=e.toHash=void 0;const t=ut,r=xi;function n(N){const R={};for(const J of N)R[J]=!0;return R}e.toHash=n;function u(N,R){return typeof R=="boolean"?R:Object.keys(R).length===0?!0:(s(N,R),!o(R,N.self.RULES.all))}e.alwaysValidSchema=u;function s(N,R=N.schema){const{opts:J,self:q}=N;if(!J.strictSchema||typeof R=="boolean")return;const G=q.RULES.keywords;for(const ee in R)G[ee]||T(N,`unknown keyword: "${ee}"`)}e.checkUnknownRules=s;function o(N,R){if(typeof N=="boolean")return!N;for(const J in N)if(R[J])return!0;return!1}e.schemaHasRules=o;function a(N,R){if(typeof N=="boolean")return!N;for(const J in N)if(J!=="$ref"&&R.all[J])return!0;return!1}e.schemaHasRulesButRef=a;function i({topSchemaRef:N,schemaPath:R},J,q,G){if(!G){if(typeof J=="number"||typeof J=="boolean")return J;if(typeof J=="string")return(0,t._)`${J}`}return(0,t._)`${N}${R}${(0,t.getProperty)(q)}`}e.schemaRefOrVal=i;function c(N){return d(decodeURIComponent(N))}e.unescapeFragment=c;function l(N){return encodeURIComponent(p(N))}e.escapeFragment=l;function p(N){return typeof N=="number"?`${N}`:N.replace(/~/g,"~0").replace(/\//g,"~1")}e.escapeJsonPointer=p;function d(N){return N.replace(/~1/g,"/").replace(/~0/g,"~")}e.unescapeJsonPointer=d;function f(N,R){if(Array.isArray(N))for(const J of N)R(J);else R(N)}e.eachItem=f;function h({mergeNames:N,mergeToName:R,mergeValues:J,resultToName:q}){return(G,ee,K,ue)=>{const oe=K===void 0?ee:K instanceof t.Name?(ee instanceof t.Name?N(G,ee,K):R(G,ee,K),K):ee instanceof t.Name?(R(G,K,ee),ee):J(ee,K);return ue===t.Name&&!(oe instanceof t.Name)?q(G,oe):oe}}e.mergeEvaluated={props:h({mergeNames:(N,R,J)=>N.if((0,t._)`${J} !== true && ${R} !== undefined`,()=>{N.if((0,t._)`${R} === true`,()=>N.assign(J,!0),()=>N.assign(J,(0,t._)`${J} || {}`).code((0,t._)`Object.assign(${J}, ${R})`))}),mergeToName:(N,R,J)=>N.if((0,t._)`${J} !== true`,()=>{R===!0?N.assign(J,!0):(N.assign(J,(0,t._)`${J} || {}`),A(N,J,R))}),mergeValues:(N,R)=>N===!0?!0:{...N,...R},resultToName:y}),items:h({mergeNames:(N,R,J)=>N.if((0,t._)`${J} !== true && ${R} !== undefined`,()=>N.assign(J,(0,t._)`${R} === true ? true : ${J} > ${R} ? ${J} : ${R}`)),mergeToName:(N,R,J)=>N.if((0,t._)`${J} !== true`,()=>N.assign(J,R===!0?!0:(0,t._)`${J} > ${R} ? ${J} : ${R}`)),mergeValues:(N,R)=>N===!0?!0:Math.max(N,R),resultToName:(N,R)=>N.var("items",R)})};function y(N,R){if(R===!0)return N.var("props",!0);const J=N.var("props",(0,t._)`{}`);return R!==void 0&&A(N,J,R),J}e.evaluatedPropsToName=y;function A(N,R,J){Object.keys(J).forEach(q=>N.assign((0,t._)`${R}${(0,t.getProperty)(q)}`,!0))}e.setEvaluated=A;const m={};function v(N,R){return N.scopeValue("func",{ref:R,code:m[R.code]||(m[R.code]=new r._Code(R.code))})}e.useFunc=v;var C;(function(N){N[N.Num=0]="Num",N[N.Str=1]="Str"})(C=e.Type||(e.Type={}));function B(N,R,J){if(N instanceof t.Name){const q=R===C.Num;return J?q?(0,t._)`"[" + ${N} + "]"`:(0,t._)`"['" + ${N} + "']"`:q?(0,t._)`"/" + ${N}`:(0,t._)`"/" + ${N}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return J?(0,t.getProperty)(N).toString():"/"+p(N)}e.getErrorPath=B;function T(N,R,J=N.opts.strictSchema){if(J){if(R=`strict mode: ${R}`,J===!0)throw new Error(R);N.self.logger.warn(R)}}e.checkStrictMode=T})(Dt);var ru={};Object.defineProperty(ru,"__esModule",{value:!0});const Er=ut,tq={data:new Er.Name("data"),valCxt:new Er.Name("valCxt"),instancePath:new Er.Name("instancePath"),parentData:new Er.Name("parentData"),parentDataProperty:new Er.Name("parentDataProperty"),rootData:new Er.Name("rootData"),dynamicAnchors:new Er.Name("dynamicAnchors"),vErrors:new Er.Name("vErrors"),errors:new Er.Name("errors"),this:new Er.Name("this"),self:new Er.Name("self"),scope:new Er.Name("scope"),json:new Er.Name("json"),jsonPos:new Er.Name("jsonPos"),jsonLen:new Er.Name("jsonLen"),jsonPart:new Er.Name("jsonPart")};ru.default=tq;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.extendErrors=e.resetErrorsCount=e.reportExtraError=e.reportError=e.keyword$DataError=e.keywordError=void 0;const t=ut,r=Dt,n=ru;e.keywordError={message:({keyword:A})=>(0,t.str)`must pass "${A}" keyword validation`},e.keyword$DataError={message:({keyword:A,schemaType:m})=>m?(0,t.str)`"${A}" keyword must be ${m} ($data)`:(0,t.str)`"${A}" keyword is invalid ($data)`};function u(A,m=e.keywordError,v,C){const{it:B}=A,{gen:T,compositeRule:N,allErrors:R}=B,J=p(A,m,v);C??(N||R)?i(T,J):c(B,(0,t._)`[${J}]`)}e.reportError=u;function s(A,m=e.keywordError,v){const{it:C}=A,{gen:B,compositeRule:T,allErrors:N}=C,R=p(A,m,v);i(B,R),T||N||c(C,n.default.vErrors)}e.reportExtraError=s;function o(A,m){A.assign(n.default.errors,m),A.if((0,t._)`${n.default.vErrors} !== null`,()=>A.if(m,()=>A.assign((0,t._)`${n.default.vErrors}.length`,m),()=>A.assign(n.default.vErrors,null)))}e.resetErrorsCount=o;function a({gen:A,keyword:m,schemaValue:v,data:C,errsCount:B,it:T}){if(B===void 0)throw new Error("ajv implementation error");const N=A.name("err");A.forRange("i",B,n.default.errors,R=>{A.const(N,(0,t._)`${n.default.vErrors}[${R}]`),A.if((0,t._)`${N}.instancePath === undefined`,()=>A.assign((0,t._)`${N}.instancePath`,(0,t.strConcat)(n.default.instancePath,T.errorPath))),A.assign((0,t._)`${N}.schemaPath`,(0,t.str)`${T.errSchemaPath}/${m}`),T.opts.verbose&&(A.assign((0,t._)`${N}.schema`,v),A.assign((0,t._)`${N}.data`,C))})}e.extendErrors=a;function i(A,m){const v=A.const("err",m);A.if((0,t._)`${n.default.vErrors} === null`,()=>A.assign(n.default.vErrors,(0,t._)`[${v}]`),(0,t._)`${n.default.vErrors}.push(${v})`),A.code((0,t._)`${n.default.errors}++`)}function c(A,m){const{gen:v,validateName:C,schemaEnv:B}=A;B.$async?v.throw((0,t._)`new ${A.ValidationError}(${m})`):(v.assign((0,t._)`${C}.errors`,m),v.return(!1))}const l={keyword:new t.Name("keyword"),schemaPath:new t.Name("schemaPath"),params:new t.Name("params"),propertyName:new t.Name("propertyName"),message:new t.Name("message"),schema:new t.Name("schema"),parentSchema:new t.Name("parentSchema")};function p(A,m,v){const{createErrors:C}=A.it;return C===!1?(0,t._)`{}`:d(A,m,v)}function d(A,m,v={}){const{gen:C,it:B}=A,T=[f(B,v),h(A,v)];return y(A,m,T),C.object(...T)}function f({errorPath:A},{instancePath:m}){const v=m?(0,t.str)`${A}${(0,r.getErrorPath)(m,r.Type.Str)}`:A;return[n.default.instancePath,(0,t.strConcat)(n.default.instancePath,v)]}function h({keyword:A,it:{errSchemaPath:m}},{schemaPath:v,parentSchema:C}){let B=C?m:(0,t.str)`${m}/${A}`;return v&&(B=(0,t.str)`${B}${(0,r.getErrorPath)(v,r.Type.Str)}`),[l.schemaPath,B]}function y(A,{params:m,message:v},C){const{keyword:B,data:T,schemaValue:N,it:R}=A,{opts:J,propertyName:q,topSchemaRef:G,schemaPath:ee}=R;C.push([l.keyword,B],[l.params,typeof m=="function"?m(A):m||(0,t._)`{}`]),J.messages&&C.push([l.message,typeof v=="function"?v(A):v]),J.verbose&&C.push([l.schema,N],[l.parentSchema,(0,t._)`${G}${ee}`],[n.default.data,T]),q&&C.push([l.propertyName,q])}})(Zi);Object.defineProperty(pa,"__esModule",{value:!0});pa.boolOrEmptySchema=pa.topBoolOrEmptySchema=void 0;const rq=Zi,nq=ut,uq=ru,sq={message:"boolean schema is false"};function oq(e){const{gen:t,schema:r,validateName:n}=e;r===!1?T6(e,!1):typeof r=="object"&&r.$async===!0?t.return(uq.default.data):(t.assign((0,nq._)`${n}.errors`,null),t.return(!0))}pa.topBoolOrEmptySchema=oq;function aq(e,t){const{gen:r,schema:n}=e;n===!1?(r.var(t,!1),T6(e)):r.var(t,!0)}pa.boolOrEmptySchema=aq;function T6(e,t){const{gen:r,data:n}=e,u={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,rq.reportError)(u,sq,void 0,t)}var Qi={},Ys={};Object.defineProperty(Ys,"__esModule",{value:!0});Ys.getRules=Ys.isJSONType=void 0;const iq=["string","number","integer","boolean","null","object","array"],cq=new Set(iq);function lq(e){return typeof e=="string"&&cq.has(e)}Ys.isJSONType=lq;function pq(){const e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}Ys.getRules=pq;var Au={};Object.defineProperty(Au,"__esModule",{value:!0});Au.shouldUseRule=Au.shouldUseGroup=Au.schemaHasRulesForType=void 0;function dq({schema:e,self:t},r){const n=t.RULES.types[r];return n&&n!==!0&&$6(e,n)}Au.schemaHasRulesForType=dq;function $6(e,t){return t.rules.some(r=>P6(e,r))}Au.shouldUseGroup=$6;function P6(e,t){var r;return e[t.keyword]!==void 0||((r=t.definition.implements)===null||r===void 0?void 0:r.some(n=>e[n]!==void 0))}Au.shouldUseRule=P6;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.reportTypeError=e.checkDataTypes=e.checkDataType=e.coerceAndCheckDataType=e.getJSONTypes=e.getSchemaTypes=e.DataType=void 0;const t=Ys,r=Au,n=Zi,u=ut,s=Dt;var o;(function(C){C[C.Correct=0]="Correct",C[C.Wrong=1]="Wrong"})(o=e.DataType||(e.DataType={}));function a(C){const B=i(C.type);if(B.includes("null")){if(C.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!B.length&&C.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');C.nullable===!0&&B.push("null")}return B}e.getSchemaTypes=a;function i(C){const B=Array.isArray(C)?C:C?[C]:[];if(B.every(t.isJSONType))return B;throw new Error("type must be JSONType or JSONType[]: "+B.join(","))}e.getJSONTypes=i;function c(C,B){const{gen:T,data:N,opts:R}=C,J=p(B,R.coerceTypes),q=B.length>0&&!(J.length===0&&B.length===1&&(0,r.schemaHasRulesForType)(C,B[0]));if(q){const G=y(B,N,R.strictNumbers,o.Wrong);T.if(G,()=>{J.length?d(C,B,J):m(C)})}return q}e.coerceAndCheckDataType=c;const l=new Set(["string","number","integer","boolean","null"]);function p(C,B){return B?C.filter(T=>l.has(T)||B==="array"&&T==="array"):[]}function d(C,B,T){const{gen:N,data:R,opts:J}=C,q=N.let("dataType",(0,u._)`typeof ${R}`),G=N.let("coerced",(0,u._)`undefined`);J.coerceTypes==="array"&&N.if((0,u._)`${q} == 'object' && Array.isArray(${R}) && ${R}.length == 1`,()=>N.assign(R,(0,u._)`${R}[0]`).assign(q,(0,u._)`typeof ${R}`).if(y(B,R,J.strictNumbers),()=>N.assign(G,R))),N.if((0,u._)`${G} !== undefined`);for(const K of T)(l.has(K)||K==="array"&&J.coerceTypes==="array")&&ee(K);N.else(),m(C),N.endIf(),N.if((0,u._)`${G} !== undefined`,()=>{N.assign(R,G),f(C,G)});function ee(K){switch(K){case"string":N.elseIf((0,u._)`${q} == "number" || ${q} == "boolean"`).assign(G,(0,u._)`"" + ${R}`).elseIf((0,u._)`${R} === null`).assign(G,(0,u._)`""`);return;case"number":N.elseIf((0,u._)`${q} == "boolean" || ${R} === null +*/(function(e){(function(t,r,n){e.exports=n(t),e.exports.default=e.exports})(Vs,"UUID",function(){var t=function(E,F,D,g,P,b){for(var w=function($,M){var L=$.toString(16);return L.length<2&&(L="0"+L),M&&(L=L.toUpperCase()),L},I=F;I<=D;I++)P[b++]=w(E[I],g);return P},r=function(E,F,D,g,P){for(var b=F;b<=D;b+=2)g[P++]=parseInt(E.substr(b,2),16)},n="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-:+=^!/*?&<>()[]{}@%$#".split(""),u=[0,68,0,84,83,82,72,0,75,76,70,65,0,63,62,69,0,1,2,3,4,5,6,7,8,9,64,0,73,66,74,71,81,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,77,0,78,67,0,0,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,79,0,80,0,0],s=function(E,F){for(var D="",g=0,P=0;g=1;){var w=Math.floor(P/b)%85;D+=n[w],b/=85}P=0}return D},o=function(E,F){var D=E.length;if(D%5!==0)throw new Error("z85_decode: invalid input length (multiple of 5 expected)");typeof F>"u"&&(F=new Array(D*4/5));for(var g=0,P=0,b=0;g=u.length)break;if(b=b*85+u[w],g%5===0){for(var I=16777216;I>=1;)F[P++]=Math.trunc(b/I%256),I/=256;b=0}}return F},a=function(E,F){var D={ibits:8,obits:8,obigendian:!0};for(var g in F)typeof D[g]<"u"&&(D[g]=F[g]);for(var P=[],b=0,w,I,$=0,M,L=0,Y=E.length;$===0&&(I=E.charCodeAt(b++)),w=I>>D.ibits-($+8)&255,$=($+8)%D.ibits,D.obigendian?L===0?M=w<=Y)););return P},i=function(E,F){var D={ibits:32,ibigendian:!0};for(var g in F)typeof D[g]<"u"&&(D[g]=F[g]);var P="",b=4294967295;D.ibits<32&&(b=(1<>D.ibits-8-M&255):P+=String.fromCharCode($>>M&255);return P},c=8,l=8,p=256,d=function(E,F,D,g,P,b,w,I){return[I,w,b,P,g,D,F,E]},f=function(){return d(0,0,0,0,0,0,0,0)},h=function(E){return E.slice(0)},y=function(E){for(var F=f(),D=0;D=0;D--)F*=p,F+=E[D];return Math.floor(F)},m=function(E,F){for(var D=0,g=0;g=0;b--)D[b+1]=D[b];for(D[0]=E[0],b=0;bc*l)throw new Error("ui64_ror: invalid number of bits to shift");var D=new Array(c+c),g;for(g=0;g>>b|D[g+1]<>>b&(1<c*l)throw new Error("ui64_rol: invalid number of bits to shift");var D=new Array(c+c),g;for(g=0;g0;g--)D[g+P]=(D[g]<>>l-b)&(1<=0;g--)D[g]=0;for(g=0;g>16)+(F>>16)+(D>>16);return g<<16|D&65535},ee=function(E,F){return E<>>32-F&4294967295},K=function(E,F){function D(Pe,Be,le,Te){return Pe<20?Be&le|~Be&Te:Pe<40?Be^le^Te:Pe<60?Be&le|Be&Te|le&Te:Be^le^Te}function g(Pe){return Pe<20?1518500249:Pe<40?1859775393:Pe<60?-1894007588:-899497514}E[F>>5]|=128<<24-F%32,E[(F+64>>9<<4)+15]=F;for(var P=Array(80),b=1732584193,w=-271733879,I=-1732584194,$=271733878,M=-1009589776,L=0;L>5]|=128<>>9<<4)+14]=F;for(var I=1732584193,$=-271733879,M=-1732584194,L=271733878,Y=0;Y>>0:Math.random()*4294967295>>>0),T(this.state,E),this.next()};he.prototype.next=function(){var E=h(this.state);C(this.state,this.mul),m(this.state,this.inc);var F=h(E);R(F,18),q(F,E),R(F,27);var D=h(E);R(D,59),B(F,this.mask);var g=A(D),P=h(F);return J(P,32-g),R(F,g),q(F,P),A(F)};var fe=new he,ge=function(E,F){for(var D=[],g=0;g=1&&typeof arguments[0]=="number")this.make.apply(this,arguments);else{if(arguments.length>=1)throw new Error("UUID: constructor: invalid arguments");for(var E=0;E<16;E++)this[E]=0}};return typeof Uint8Array<"u"?O.prototype=new Uint8Array(16):Buffer?O.prototype=Buffer.alloc(16):O.prototype=new Array(16),O.prototype.constructor=O,O.prototype.make=function(E){var F,D=this;if(E===1){var g=new Date,P=g.getTime();P!==pe?z=0:z++,pe=P;var b=y(P);v(b,1e3*10),m(b,d(1,178,29,210,19,129,64,0)),z>0&&m(b,y(z));var w;w=N(b,8),D[3]=w&255,w=N(b,8),D[2]=w&255,w=N(b,8),D[1]=w&255,w=N(b,8),D[0]=w&255,w=N(b,8),D[5]=w&255,w=N(b,8),D[4]=w&255,w=N(b,8),D[7]=w&255,w=N(b,8),D[6]=w&15;var I=ge(2,255);D[8]=I[0],D[9]=I[1];var $=ge(6,255);for($[0]|=1,$[0]|=2,F=0;F<6;F++)D[10+F]=$[F]}else if(E===4){var M=ge(16,255);for(F=0;F<16;F++)this[F]=M[F]}else if(E===3||E===5){var L="",Y=typeof arguments[1]=="object"&&arguments[1]instanceof O?arguments[1]:new O().parse(arguments[1]);for(F=0;F<16;F++)L+=String.fromCharCode(Y[F]);L+=arguments[2];var be=E===3?de(L):ue(L);for(F=0;F<16;F++)D[F]=be.charCodeAt(F)}else throw new Error("UUID: make: invalid version");return D[6]&=15,D[6]|=E<<4,D[8]&=63,D[8]|=128,D},O.prototype.format=function(E){var F,D;return E==="z85"?F=s(this,16):E==="b16"?(D=Array(32),t(this,0,15,!0,D,0),F=D.join("")):(E===void 0||E==="std")&&(D=new Array(36),t(this,0,3,!1,D,0),D[8]="-",t(this,4,5,!1,D,9),D[13]="-",t(this,6,7,!1,D,14),D[18]="-",t(this,8,9,!1,D,19),D[23]="-",t(this,10,15,!1,D,24),F=D.join("")),F},O.prototype.toString=function(E){return this.format(E)},O.prototype.toJSON=function(){return this.format("std")},O.prototype.parse=function(E,F){if(typeof E!="string")throw new Error("UUID: parse: invalid argument (type string expected)");if(F==="z85")o(E,this);else if(F==="b16")r(E,0,35,this,0);else if(F===void 0||F==="std"){var D={nil:"00000000-0000-0000-0000-000000000000","ns:DNS":"6ba7b810-9dad-11d1-80b4-00c04fd430c8","ns:URL":"6ba7b811-9dad-11d1-80b4-00c04fd430c8","ns:OID":"6ba7b812-9dad-11d1-80b4-00c04fd430c8","ns:X500":"6ba7b814-9dad-11d1-80b4-00c04fd430c8"};if(D[E]!==void 0)E=D[E];else if(!E.match(/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/))throw new Error('UUID: parse: invalid string representation (expected "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")');r(E,0,7,this,0),r(E,9,12,this,4),r(E,14,17,this,6),r(E,19,22,this,8),r(E,24,35,this,10)}return this},O.prototype.export=function(){for(var E=Array(16),F=0;F<16;F++)E[F]=this[F];return E},O.prototype.import=function(E){if(!(typeof E=="object"&&E instanceof Array))throw new Error("UUID: import: invalid argument (type Array expected)");if(E.length!==16)throw new Error("UUID: import: invalid argument (Array of length 16 expected)");for(var F=0;F<16;F++){if(typeof E[F]!="number")throw new Error("UUID: import: invalid array element #"+F+" (type Number expected)");if(!(isFinite(E[F])&&Math.floor(E[F])===E[F]))throw new Error("UUID: import: invalid array element #"+F+" (Number with integer value expected)");if(!(E[F]>=0&&E[F]<=255))throw new Error("UUID: import: invalid array element #"+F+" (Number with integer value in range 0...255 expected)");this[F]=E[F]}return this},O.prototype.compare=function(E){if(typeof E!="object")throw new Error("UUID: compare: invalid argument (type UUID expected)");if(!(E instanceof O))throw new Error("UUID: compare: invalid argument (type UUID expected)");for(var F=0;F<16;F++){if(this[F]E[F])return 1}return 0},O.prototype.equal=function(E){return this.compare(E)===0},O.prototype.fold=function(E){if(typeof E>"u")throw new Error("UUID: fold: invalid argument (number of fold operations expected)");if(E<1||E>4)throw new Error("UUID: fold: invalid argument (1-4 fold operations expected)");for(var F=16/Math.pow(2,E),D=new Array(F),g=0;g>(-2*A&6)));return C},p=function(h){h=String(h),/[^\0-\xFF]/.test(h)&&a("The string to be encoded contains characters outside of the Latin1 range.");for(var y=h.length%3,A="",m=-1,v,C,B,T,N=h.length-y;++m>18&63)+i.charAt(T>>12&63)+i.charAt(T>>6&63)+i.charAt(T&63);return y==2?(v=h.charCodeAt(m)<<8,C=h.charCodeAt(++m),T=v+C,A+=i.charAt(T>>10)+i.charAt(T>>4&63)+i.charAt(T<<2&63)+"="):y==1&&(T=h.charCodeAt(m),A+=i.charAt(T>>2)+i.charAt(T<<4&63)+"=="),A},d={encode:p,decode:l,version:"1.0.0"};if(n&&!n.nodeType)if(u)u.exports=d;else for(var f in d)d.hasOwnProperty(f)&&(n[f]=d[f]);else r.base64=d})(Vs)})(wI,ap);const _I=ap,BI=()=>_I.encode(new SI(4)).substring(0,12),TI={heading:"block",title:"block",endTitle:"block",remark:"block",footnote:"inline",xref:"inline",noteCaller:"inline",esbCat:"inline",table:"block",tree:"block",kv:"block"},$I={graftLocation:TI},v6={wordLike:0,punctuation:1,lineSpace:2,eol:3,softLineBreak:4,noBreakSpace:5,bareSlash:6,unknown:7},PI=Object.entries(v6).sort((e,t)=>e[1]-t[1]).map(e=>e[0]),kI={wordLike:"wordLike",punctuation:"notWordLike",lineSpace:"notWordLike",eol:"notWordLike",softLineBreak:"notWordLike",noBreakSpace:"notWordLike",bareSlash:"notWordLike",unknown:"notWordLike"},ip={tokenEnum:v6,tokenEnumLabels:PI,tokenCategory:kI},g6={blockTag:0,inline:1,chapter:2,pubChapter:3,altChapter:4,verses:5,verse:6,pubVerse:7,altVerse:8,esbCat:9,span:10,table:11,cell:12,milestone:13,spanWithAtts:14,attribute:15,hangingGraft:16,orphanTokens:17,tTableRow:18,tTableCol:19,tTreeNode:20,tTreeParent:21,tTreeChild:22,tTreeContent:23,kvPrimary:24,kvSecondary:25,kvField:26},OI=Object.entries(g6).sort((e,t)=>e[1]-t[1]).map(e=>e[0]),II=e=>{const t=Z.exec(e,Z("([^1-9]+)(.*)")),r=t[1],n=t[2].length>0?t[2]:"1";return[r,n]},NI=e=>{const t={th:{type:"colHeading",align:"left"},thr:{type:"colHeading",align:"right"},tc:{type:"body",align:"left"},tcr:{type:"body",align:"right"}},[r,n]=II(e);let u="1";if(n.includes("-")){const[s,o]=n.split("-");u=`${parseInt(o)-parseInt(s)+1}`}return`cell/${t[r].type}/${t[r].align}/${u}`},qI=(e,t)=>{switch(e){case"blockTag":return`blockTag/${t[0]}`;case"inline":return`inline/${t[0]}`;case"chapter":return`chapter/${t[0]}`;case"verses":return`verses/${t[0]}`;case"verse":return`verse/${t[0]}`;case"span":return`span/${t[0]}`;case"table":return"table";case"cell":return NI(t[0]);case"milestone":return`milestone/${t[0]}`;case"spanWithAtts":return`spanWithAtts/${t[0]}`;case"attribute":return`attribute/${t[0]}/${t[1]}/${t[2]}/${t[3]}`;case"orphanTokens":return"orphanTokens";case"hangingGraft":return"hangingGraft";case"pubChapter":return`pubChapter/${t[0]}`;case"pubVerse":return`pubVerse/${t[0]}`;case"altChapter":return`altChapter/${t[0]}`;case"altVerse":return`altVerse/${t[0]}`;case"esbCat":return`esbCat/${t[0]}`;case"tTableRow":return`tTableRow/${t[0]}`;case"tTableCol":return`tTableCol/${t[0]}`;case"tTreeNode":return`tTreeNode/${t[0]}`;case"tTreeParent":return`tTreeParent/${t[0]}`;case"tTreeChild":return`tTreeChild/${t[0]}/${t[1]}`;case"tTreeContent":return`tTreeContent/${t[0]}`;case"kvPrimary":return`kvPrimary/${t[0]}`;case"kvSecondary":return`kvSecondary/${t[0]}/${t[1]}`;case"kvField":return`kvField/${t[0]}`;default:throw new Error(`Unknown scope type '${e}' in labelForScope`)}},xI=e=>{switch(e){case"orphanTokens":case"hangingGraft":case"table":return 1;case"blockTag":case"inline":case"chapter":case"verses":case"verse":case"span":case"milestone":case"spanWithAtts":case"pubChapter":case"altChapter":case"pubVerse":case"altVerse":case"esbCat":case"tTableRow":case"tTableCol":case"tTreeNode":case"tTreeParent":case"tTreeContent":case"kvPrimary":case"kvField":return 2;case"tTreeChild":case"kvSecondary":return 3;case"cell":return 4;case"attribute":return 6;default:throw new Error(`Unknown scope type '${e}' in nComponentsForScope`)}},Ii={scopeEnum:g6,scopeEnumLabels:OI,labelForScope:qI,nComponentsForScope:xI},A6={token:0,graft:1,startScope:2,endScope:3},RI=Object.entries(A6).sort((e,t)=>e[1]-t[1]).map(e=>e[0]),F6=e=>({type:e[0],subType:e[1],payload:e[2]}),C6=e=>[e.type,e.subType,e.payload],jI=e=>e.map(t=>F6(t)),MI=e=>e.map(t=>C6(t)),Ni={itemEnum:A6,itemEnumLabels:RI,itemArray2Object:F6,itemObject2Array:C6,itemArrays2Objects:jI,itemObjects2Arrays:MI},LI=(e,t)=>{const r=e.byte(t),n=r>>6,u=r&63,s=e.byte(t+1);return[u,n,s]},UI=(e,t,r,n,u)=>{const s=ip.tokenCategory[ip.tokenEnumLabels[n]],o=t[s][r.nByte(u+2)];return e[s].countedString(o)},GI=(e,t,r,n,u)=>{const s=Ii.scopeEnumLabels[n];let o=Ii.nComponentsForScope(s),a=2,i="";for(;o>1;){const c=r.nByte(u+a),l=t.scopeBits[c],p=e.scopeBits.countedString(l);i+=`/${p}`,a+=r.nByteLength(c),o--}return`${s}${i}`},VI=e=>Ii.scopeEnumLabels[e],HI=(e,t,r)=>{const n=t.graftTypes[r];return e.graftTypes.countedString(n)},WI=(e,t,r,n)=>{const u=t.ids[r.nByte(n+2)];return e.ids.countedString(u)},JI=e=>{const t={};for(const[r,n]of Object.entries(e))t[r]=b6(r,n);return t},b6=(e,t)=>{const r=new Uint32Array(t.length);let n=0,u=0;for(;n{t||(t=!1);let r=0,n=0;const u=[];for(;r{throw new Error(`Undefined or null argument '${t}' in '${e}'`)},KI=(e,t,r)=>{t==null&&Hs("pushSuccinctTokenBytes","tokenEnumIndex"),r==null&&Hs("pushSuccinctTokenBytes","charsEnumIndex");const n=e.length;e.pushByte(0),e.pushByte(t),e.pushNByte(r),e.setByte(n,e.length-n|Ni.itemEnum.token<<6)},XI=(e,t,r)=>{t==null&&Hs("pushSuccinctGraftBytes","graftTypeEnumIndex"),r==null&&Hs("pushSuccinctGraftBytes","seqEnumIndex");const n=e.length;e.pushByte(0),e.pushByte(t),e.pushNByte(r),e.setByte(n,e.length-n|Ni.itemEnum.graft<<6)},YI=(e,t,r,n)=>{t==null&&Hs("pushSuccinctScopeBytes","itemTypeByte"),r==null&&Hs("pushSuccinctScopeBytes","scopeTypeByte"),n==null&&Hs("pushSuccinctScopeBytes","scopeBitBytes");const u=e.length;e.pushByte(0),e.pushByte(r);for(const s of n)e.pushNByte(s);e.setByte(u,e.length-u|t<<6)},Ku={enumIndex:b6,enumIndexes:JI,headerBytes:LI,pushSuccinctTokenBytes:KI,pushSuccinctGraftBytes:XI,pushSuccinctScopeBytes:YI,succinctTokenChars:UI,succinctScopeLabel:GI,succinctScopeType:VI,succinctGraftName:HI,succinctGraftSeqId:WI,unpackEnum:zI},ZI=e=>{const t=new Oi;t.fromBase64(e);const r=[];r.push(`* Char length ${t.length} *`);for(const[n,u]of Ku.unpackEnum(t,!0))r.push(`${n} "${u}"`);return r.join(` +`)},QI=(e,t)=>{const r=new Oi;r.fromBase64(e);const n={};for(const[a,i]of Object.entries(t))n[a]=new Oi,n[a].fromBase64(i);const u=Ku.enumIndexes(n),s=[];s.push(`* Char length ${r.length} *`);let o=0;for(;o{for(const t of e)Vp(t)},Vp=e=>{if(!Z.exec(e,/^[a-z][A-za-z0-9]*(:.+)?$/))throw new Error(`Tag '${e}' is not valid (should be [a-z][A-za-z0-9]*(:.+)?)`)},nN=(e,t)=>{Vp(t),e.add(t)},uN=(e,t)=>{Vp(t),e.delete(t)},sN={validateTags:rN,validateTag:Vp,addTag:nN,removeTag:uN},oN=2,cp=3,Hp=["GEN","EXO","LEV","NUM","DEU","JOS","JDG","RUT","1SA","2SA","1KI","2KI","1CH","2CH","EZR","NEH","EST","JOB","PSA","PRO","ECC","SNG","ISA","JER","LAM","EZK","DAN","HOS","JOL","AMO","OBA","JON","MIC","NAM","HAB","ZEP","HAG","ZEC","MAL","MAT","MRK","LUK","JHN","ACT","ROM","1CO","2CO","GAL","EPH","PHP","COL","1TH","2TH","1TI","2TI","TIT","PHM","HEB","JAS","1PE","2PE","1JN","2JN","3JN","JUD","REV","TOB","JDT","ESG","WIS","SIR","BAR","LJE","S3Y","SUS","BEL","1MA","2MA","3MA","4MA","1ES","2ES","MAN","PS2","ODA","PSS","JSA","JDB","TBS","SST","DNT","BLT","EZA","5EZ","6EZ","DAG","PS3","2BA","LBA","JUB","ENO","1MQ","2MQ","3MQ","REP","4BA","LAO"],S6=()=>{const e={};for(const[t,r]of Object.entries(Hp))e[r]=parseInt(t);return e},aN=e=>{const t={};for(const r of e.split(/[\n\r]+/).map(n=>n.trim()).map(n=>Z.exec(n,Z("^([A-Z1-6]{3} [0-9]+:[0-9]+(-[0-9]+)?) = ([A-Z1-6]{3} [0-9]+:[0-9]+[a-z]?(-[0-9]+)?)$"))))r&&(r[1]in t||(t[r[1]]=[]),t[r[1]].push(r[3]));return{mappedVerses:t}},iN=e=>{const t={};for(const[r,n]of Object.entries(e.mappedVerses))for(const u of n)u in t?t[u].push(r):t[u]=[r];return{reverseMappedVerses:t}},w6=e=>{const t={};for(let[r,n]of Object.entries(e)){typeof n=="string"&&(n=[n]);const[u,s]=r.split(" "),o=n[0].split(" ")[0],a=o===u?["cv"]:["bcv"];let[i,c]=s.split(":"),l=c;if(c.includes("-")){const p=c.split("-");c=p[0],l=p[1]}a.push([parseInt(c),parseInt(l)]),a.push([]);for(const p of n.map(d=>d.split(" ")[1])){let[d,f]=p.split(":"),h=f;if(f.includes("-")){const y=f.split("-");f=y[0],h=y[1]}a[0]==="cv"?a[2].push([parseInt(d),parseInt(f),parseInt(h)]):a[2].push([parseInt(d),parseInt(f),parseInt(h),o])}u in t||(t[u]={}),i in t[u]||(t[u][i]=[]),t[u][i].push(a)}return t},cN=e=>{const t={},r=S6();for(const[n,u]of Object.entries(w6(e))){t[n]={};for(const[s,o]of Object.entries(u))t[n][s]=_6(o,r)}return t},_6=(e,t)=>{const r=(u,s)=>s+u*64,n=new Oi(64);for(const[u,[s,o],a]of e){const i=n.length,c=u==="bcv"?cp:oN;if(n.pushNBytes([0,s,o]),c===cp){const p=t[a[0][3]];n.pushNByte(p)}n.pushNByte(a.length);for(const[p,d]of a)n.pushNBytes([p,d]);const l=n.length-i;if(l>63)throw new Error(`Mapping in succinctifyVerseMapping ${JSON.stringify(a)} is too long (${l} bytes)`);n.setByte(i,r(c,l))}return n.trim(),n},B6=(e,t)=>{const r=e.byte(t);return[r>>6,r%64]},lN=(e,t,r)=>{const n=[];let u=0;for(;u{let u=null,s=0;for(;sl){s+=i;continue}let p=t;if(a===cp){const f=e.nByte(o);p=Hp[f],o+=e.nByteLength(f)}u=[p,[]];const d=e.nByte(o);for(o+=e.nByteLength(d);u[1].length{if(typeof t!="object")throw new Error(`DocSet constructor expects selectors to be object, found ${typeof e.selectors}`);const r={};for(const n of e.processor.selectors)r[n.name]=n;for(const[n,u]of Object.entries(t)){if(!(n in r))throw new Error(`Unexpected selector '${n}' (expected one of [${Object.keys(r).join(", ")}])`);if(typeof u=="string"&&r[n].type!=="string"||typeof u=="number"&&r[n].type!=="integer")throw new Error(`Selector '${n}' is of type ${typeof u} (expected ${r[n].type})`);if(typeof u=="number"){if(!Number.isInteger(u))throw new Error(`Value '${u}' of integer selector '${n}' is not an integer`);if("min"in r[n]&&ur[n].max)throw new Error(`Value '${u}' is greater than ${r[n].max}`)}else if("regex"in r[n]&&!Z.exec(u,Z(r[n].regex),0))throw new Error(`Value '${u}' does not match regex '${r[n].regex}'`);if("enum"in r[n]&&!r[n].enum.includes(u))throw new Error(`Value '${u}' of selector '${n}' is not in enum`)}for(const n of Object.keys(r))if(!(n in t))throw new Error(`Expected selector '${n}' not found`);return t},fN=(e,t,r)=>{const n=(o,a,i)=>[...e.unsuccinctifyScopes(o.os).map(l=>l[2]),...e.unsuccinctifyScopes(o.is).map(l=>l[2])].filter(l=>l.startsWith("chapter/")).map(l=>parseInt(l.split("/")[1])).filter(l=>l>a&&l0,u=(o,a,i)=>[...e.unsuccinctifyScopes(o.os).map(l=>l[2]),...e.unsuccinctifyScopes(o.is).map(l=>l[2])].includes(`chapter/${a}`)&&e.blockHasMatchingItem(o,(l,p)=>p.has(`chapter/${a}`)?Array.from(p).filter(d=>d.startsWith("verse/")).filter(d=>parseInt(d.split("/")[1])>=i).length>0||i===0&&l[0]==="token"&&l[2]&&Array.from(p).filter(d=>d.startsWith("verse")).length===0:!1,{}),s=(o,a,i)=>[...e.unsuccinctifyScopes(o.os).map(l=>l[2]),...e.unsuccinctifyScopes(o.is).map(l=>l[2])].includes(`chapter/${a}`)&&e.blockHasMatchingItem(o,(l,p)=>p.has(`chapter/${a}`)?Array.from(p).filter(d=>d.startsWith("verse/")).filter(d=>parseInt(d.split("/")[1])<=i).length>0||i===0&&l[0]==="token"&&l[2]&&Array.from(p).filter(d=>d.startsWith("verse")).length===0:!1,{});if(Z.exec(r,Z("^[1-9][0-9]*$"))){const o=[`chapter/${r}`];return t.filter(a=>e.allScopesInBlock(a,o))}else if(Z.exec(r,Z("^[1-9][0-9]*-[1-9][0-9]*$"))){const[o,a]=r.split("-").map(c=>parseInt(c));if(o>a)throw new Error(`Chapter range must be from min to max, not '${r}'`);const i=[...Array(a-o+1).keys()].map(c=>`chapter/${c+o}`);return t.filter(c=>e.anyScopeInBlock(c,i))}else if(Z.exec(r,Z("^[1-9][0-9]*:[0-9]+$"))){const[o,a]=r.split(":").map(i=>parseInt(i));if(a===0){const i=[`chapter/${o}`];return t.filter(c=>e.allScopesInBlock(c,i)).filter(c=>[...e.allBlockScopes(c)].filter(l=>l.startsWith("verse")).length===0)}else{const i=[`chapter/${o}`,`verse/${a}`];return t.filter(c=>e.allScopesInBlock(c,i))}}else if(Z.exec(r,Z("^[1-9][0-9]*:[0-9]+-[1-9][0-9]*$"))){const[o,a]=r.split(":"),[i,c]=a.split("-").map(d=>parseInt(d));if(i>c)throw new Error(`Verse range must be from min to max, not '${a}'`);const l=[`chapter/${o}`],p=[...Array(c-i+1).keys()].map(d=>`verse/${d+i}`);return t.filter(d=>e.allScopesInBlock(d,l)).filter(d=>e.anyScopeInBlock(d,p)||i===0&&[...e.allBlockScopes(d)].filter(f=>f.startsWith("verse")).length===0)}else if(Z.exec(r,Z("^[1-9][0-9]*:[0-9]+-[1-9][0-9]*:[0-9]+$"))){const[o,a]=r.split("-"),[i,c]=o.split(":").map(h=>parseInt(h)),[l,p]=a.split(":").map(h=>parseInt(h));if(i>l)throw new Error(`Chapter range must be from min to max, not '${i}-${p}'`);const d=[...Array(l-i+1).keys()].map(h=>`chapter/${h+i}`);return t.filter(h=>e.anyScopeInBlock(h,d)).filter(h=>n(h,i,l)||u(h,i,c)||s(h,l,p))}else throw new Error(`Bad cv reference '${r}'`)},DN=(e,t)=>{const[r,n,u]=ye.succinct.headerBytes(t.bs,0),s=e.unsuccinctifyScope(t.bs,n,u,0);return new Set([...e.unsuccinctifyScopes(t.os).map(o=>o[2]),...e.unsuccinctifyScopes(t.is).map(o=>o[2]),s[2]])},hN=(e,t,r)=>{const n=e.allBlockScopes(t);for(const u of r)if(!n.has(u))return!1;return!0},mN=(e,t,r)=>{const n=e.allBlockScopes(t);for(const u of r)if(n.has(u))return!0;return!1},EN=(e,t,r)=>{const[n,u,s]=ye.succinct.headerBytes(t.bs,0);return e.unsuccinctifyScope(t.bs,u,s,0)[2]===r},yN=(e,t,r)=>{let n=!1,u=0;const s=t.c;if(r.includes(-1))return!1;for(;!n&&u{const u=new Set(e.unsuccinctifyScopes(t.os).map(s=>s[2]));for(const s of e.unsuccinctifyItems(t.c,n,0)){if(s[0]==="scope"&&s[1]==="start"&&u.add(s[2]),r(s,u))return!0;s[0]==="scope"&&s[1]==="end"&&u.delete(s[2])}return!1},gN=(e,t,r)=>{e.maybeBuildEnumIndexes();const n=t.bs,[u,s,o]=ye.succinct.headerBytes(n,0),a=e.unsuccinctifyScope(n,s,o,0),i=e.unsuccinctifyGrafts(t.bg),c=e.unsuccinctifyScopes(t.os),l=e.unsuccinctifyScopes(t.is),p=t.nt.nByte(0),d=e.unsuccinctifyItems(t.c,r||{},p);return{bs:a,bg:i,c:d,os:c,is:l,nt:p}},AN=(e,t,r,n,u)=>{if(n===void 0)throw new Error("nextToken (previously includeContext) must now be provided to unsuccinctifyItems");if(n!==null&&typeof n!="number")throw new Error(`nextToken (previously includeContext) must be null or an integer, not ${typeof n} '${JSON.stringify(n)}' in unsuccinctifyItems`);const s=[];let o=0,a=n||0;const i=new Set(u||[]),c=[ye.itemDefs.itemEnum.startScope,ye.itemDefs.itemEnum.endScope];for(;o0){if(!r.scopes&&c.includes(p)){o+=l;continue}if(!r.tokens&&p===ye.itemDefs.itemEnum.token){o+=l;continue}if(!r.grafts&&p===ye.itemDefs.itemEnum.graft){o+=l;continue}}if(c.includes(p)){const h=ye.succinct.succinctScopeType(d);if(Object.keys(r).length>0&&r.scopes&&r.excludeScopeTypes&&r.excludeScopeTypes.includes(h)){o+=l;continue}}const f=e.unsuccinctifyItem(t,o,{})[0];f[0]==="token"?(Object.keys(r).length===0||r.tokens)&&(n!==null&&(f.push(f[0]==="token"&&f[1]==="wordLike"?a++:null),f.push([...i])),s.push(f)):f[0]==="scope"&&f[1]==="start"?(Object.keys(r).length===0||r.scopes)&&(i.add(f[2]),s.push(f)):f[0]==="scope"&&f[1]==="end"?(Object.keys(r).length===0||r.scopes)&&(i.delete(f[2]),s.push(f)):f[0]==="graft"&&(Object.keys(r).length===0||r.grafts)&&s.push(f),o+=l}return s},FN=(e,t,r,n)=>{let u=null;const[s,o,a]=ye.succinct.headerBytes(t,r);switch(o){case ye.itemDefs.itemEnum.token:(Object.keys(n).length===0||n.tokens)&&(u=e.unsuccinctifyToken(t,a,r));break;case ye.itemDefs.itemEnum.startScope:case ye.itemDefs.itemEnum.endScope:(Object.keys(n).length===0||n.scopes)&&(u=e.unsuccinctifyScope(t,o,a,r));break;case ye.itemDefs.itemEnum.graft:(Object.keys(n).length===0||n.grafts)&&(u=e.unsuccinctifyGraft(t,a,r));break}return[u,s]},CN=(e,t,r)=>{const n=new Set(e.unsuccinctifyScopes(t.os).map(p=>p[2])),u=r.requiredScopes||[],i=r.anyScope||!1?()=>{for(const p of u)if(n.has(p))return!0;return u.length===0}:()=>{for(const p of u)if(!n.has(p))return!1;return!0},c=p=>!r.withChars||r.withChars.length===0||p[0]==="token"&&r.withChars.includes(p[2]),l=[];for(const p of e.unsuccinctifyItems(t.c,r,t.nt.nByte(0),n))p[0]==="scope"&&p[1]==="start"&&n.add(p[2]),i()&&c(p)&&l.push(p),p[0]==="scope"&&p[1]==="end"&&n.delete(p[2]);return l},bN=(e,t,r,n)=>{n=n||{};const u=new Set(e.unsuccinctifyScopes(t.os).map(c=>c[2])),o=(()=>{if(Z.exec(r,Z("^[1-9][0-9]*$")))return()=>u.has(`chapter/${r}`);if(Z.exec(r,Z("^[1-9][0-9]*-[1-9][0-9]*$")))return()=>{const[c,l]=r.split("-").map(p=>parseInt(p));if(c>l)throw new Error(`Chapter range must be from min to max, not '${r}'`);for(const p of[...Array(l-c+1).keys()].map(d=>`chapter/${d+c}`))if(u.has(p))return!0;return!1};if(Z.exec(r,Z("^[1-9][0-9]*:[0-9]+$")))return()=>{const[c,l]=r.split(":").map(p=>parseInt(p));if(l===0)return u.has(`chapter/${c}`)&&[...u].filter(p=>p.startsWith("verse")).length===0;for(const p of[`chapter/${c}`,`verse/${l}`])if(!u.has(p))return!1;return!0};if(Z.exec(r,Z("^[1-9][0-9]*:[0-9]+-[1-9][0-9]*$")))return()=>{const[c,l]=r.split(":"),[p,d]=l.split("-").map(y=>parseInt(y));if(p>d)throw new Error(`Verse range must be from min to max, not '${l}'`);const f=`chapter/${c}`,h=[...Array(d-p+1).keys()].map(y=>`verse/${y+p}`);if(!u.has(f))return!1;for(const y of h)if(u.has(y))return!0;return p===0&&[...u].filter(y=>y.startsWith("verse")).length===0};if(Z.exec(r,Z("^[1-9][0-9]*:[0-9]+-[1-9][0-9]*:[0-9]+$")))return()=>{const[c,l]=r.split("-"),[p,d]=c.split(":").map(v=>parseInt(v)),[f,h]=l.split(":").map(v=>parseInt(v));if(p>f)throw new Error(`Chapter range must be from min to max, not '${p}-${h}'`);const y=[...u],A=y.filter(v=>v.startsWith("chapter/"));if(A.length>1)throw new Error(`Expected zero or one chapter for item, found ${A.length}`);const m=parseInt(A[0].split("/")[1]);return mf?!1:m===p?y.filter(v=>v.startsWith("verse/")&&parseInt(v.split("/")[1])>=d).length>0||d===0&&y.filter(v=>v.startsWith("verse")).length===0:m===f?y.filter(v=>v.startsWith("verse/")&&parseInt(v.split("/")[1])<=h).length>0||h===0&&y.filter(v=>v.startsWith("verse")).length===0:!0};throw new Error(`Bad cv reference '${r}'`)})(),a=c=>{if(!n||Object.keys(n).length===0)return!0;{const l=c[0];return l==="token"&&"tokens"in n||l==="graft"&&"grafts"in n||l==="scope"&&"scopes"in n}},i=[];if(n.excludeScopeTypes)for(const c of e.unsuccinctifyItems(t.c,n,t.nt.nByte(0)))c[0]==="scope"&&c[1]==="start"&&u.add(c[2]),o()&&a(c)&&i.push(c),c[0]==="scope"&&c[1]==="end"&&u.delete(c[2]);else for(const c of e.unsuccinctifyItems(t.c,{},t.nt.nByte(0)))c[0]==="scope"&&c[1]==="start"&&u.add(c[2]),o()&&a(c)&&i.push(c),c[0]==="scope"&&c[1]==="end"&&u.delete(c[2]);return i},SN=(e,t)=>{const r=new Map;let n=0,u=0;for(;n{if(!(t in e.preEnums))throw new Error(`Unknown category ${t} in recordPreEnum. Maybe call buildPreEnums()?`);r.length>255&&console.log("Value length of",r.length,"in recordPreEnum"),e.preEnums[t].has(r)?e.preEnums[t].get(r).frequency++:e.preEnums[t].set(r,{enum:e.preEnums[t].size,frequency:1})},_N=(e,t,r)=>{const n=new Map([...r.entries()]);for(const u of n.keys())u.length>255&&console.log("enum text for",t,"has length",u.length,"in buildEnum - truncating"),e.enums[t].pushCountedString(u.substring(0,255));e.enums[t].trim()},BN=(e,t,r,n)=>{if(n||(n=!1),!(t in e.preEnums))throw new Error(`Unknown category ${t} in preEnums. Maybe call buildPreEnums()?`);if(e.preEnums[t].has(r))return e.preEnums[t].get(r).enum;if(n)return e.preEnums[t].set(r,{enum:e.preEnums[t].size,frequency:1}),e.enums[t].pushCountedString(r),e.buildEnumIndex(t),e.preEnums[t].get(r).enum;throw new Error(`Unknown value '${r}' for category ${t} in enumForCategoryValue. Maybe call buildPreEnums()?`)},TN=(e,t)=>{let r=0,n=0;for(;n{let u=[];if(!r)return u;let s=r.startBlock,o=r.nextToken;for(;s<=r.endBlock;){let a=e.unsuccinctifyItems(t.blocks[s].c,{},o);const i=e.unsuccinctifyScopes(t.blocks[s].bs)[0],c=e.unsuccinctifyGrafts(t.blocks[s].bg);if(s===r.startBlock&&s===r.endBlock?a=a.slice(r.startItem,r.endItem+1):s===r.startBlock?a=a.slice(r.startItem):s===r.endBlock&&(a=a.slice(0,r.endItem+1)),n){let l=[];for(const p of a)l.push(p.concat([p[0]==="token"&&p[1]==="wordLike"?o++:null]));a=l}u.push([...c,["scope","start",i[2]],...a,["scope","end",i[2]]]),s++}return u},PN=(e,t,r)=>{let n=[];const u=()=>{for(const c of r)if(!s(c))return!1;return!0},s=c=>{for(const l of n)if(l.startsWith(c))return l;return null};e.maybeBuildEnumIndexes();const o=[];let a=new Set([]),i=!0;for(const[c,l]of t.entries()){const[p,d,f]=ye.succinct.headerBytes(l.bs,0),h=e.unsuccinctifyScope(l.bs,d,f,0)[2],y=["scope","start",h],A=["scope","end",h],m=e.unsuccinctifyGrafts(l.bg);n=new Set(e.unsuccinctifyScopes(l.os).map(v=>v[2]).concat([h]));for(const v of m.concat([y,...e.unsuccinctifyItems(l.c,{},l.nt.nByte(0),n),A]).concat(c!==t.length-1?[["token","lineSpace"," "]]:[])){if(v[0]==="scope"&&v[1]==="start"&&a.add(v[2]),v[0]==="token"&&a.size>0){for(const C of Array.from(a))n.add(C);a.clear()}u()?(i&&o.push([[...n],[]]),o[o.length-1][1].push(v),i=!1):i=!0,v[0]==="scope"&&v[1]==="end"&&(n.delete(v[2]),a.delete(v[2]))}}return o},kN=(e,t,r)=>{let n=new Set([]);const u=o=>o[0]==="scope"&&o[1]==="start"&&r.includes(o[2]);e.maybeBuildEnumIndexes();const s=[[[],[]]];for(const o of t){const[a,i,c]=ye.succinct.headerBytes(o.bs,0),l=e.unsuccinctifyScope(o.bs,i,c,0)[2],p=e.unsuccinctifyGrafts(o.bg);n.add(l),e.unsuccinctifyScopes(o.os).forEach(f=>n.add(f[2]));const d=p.concat([l].concat(e.unsuccinctifyItems(o.c,{},o.nt.nByte(0))));for(const f of d){if(f[0]==="scope"&&f[1]==="start"&&n.add(f[2]),u(f)){s[s.length-1][0]=[...n].sort(),s.push([[],[]]);for(const h of[...n].filter(y=>["blockTag","verse","verses","chapter"].includes(y.split("/")[0])||r.includes(y)))n.delete(h);n.add(l)}s[s.length-1][1].push(f)}s[s.length-1][1].push(["scope","end",l]),s[s.length-1][1].push(["token","punctuation",` +`])}return s[s.length-1][0]=[...n].sort(),s},ON=e=>{e.preEnums={};for(const r of Object.keys(e.enums))e.preEnums[r]=new Map;e.maybeBuildEnumIndexes();for(const r of e.documents())for(const n of Object.values(r.sequences))r.rerecordPreEnums(e,n);e.sortPreEnums();const t=e.makeRehashEnumMap();for(const r of e.documents())for(const n of Object.values(r.sequences))r.rewriteSequenceBlocks(n.id,t);return e.buildEnums(),e.buildEnumIndexes(),!0},IN=e=>{const t={};for(const[r,n]of Object.entries(e.enums)){t[r]=[];let u=0;for(;u{const o=e.processor.documents[t];if(!o)throw new Error(`Document '${t}' not found`);let a;if(r){if(a=o.sequences[r],!a)throw new Error(`Sequence '${r}' not found`)}else a=o.sequences[o.mainId];if(a.blocks.length<=n)throw new Error(`Could not find block ${n} (length=${a.blocks.length})`);const i=a.blocks[n],c=new qi(s.length);e.maybeBuildPreEnums();let l=0;n<0&&(l=a.blocks[n-1].nt.nByte(0));let p,d,f,h,y,A=null;for(const m of s)switch(m.type){case"token":p=e.enumForCategoryValue(xN[m.subType],m.payload,!0),qN(c,RN[m.subType],p),l++;break;case"graft":d=e.enumForCategoryValue("graftTypes",m.subType,!0),f=e.enumForCategoryValue("ids",m.payload,!0),NN(c,d,f);break;case"scope":if(h=m.payload.split("/"),y=Fm[h[0]],!y&&y!==0)throw new Error(`"${h[0]}" is not a scope type`);A=h.slice(1).map(v=>e.enumForCategoryValue("scopeBits",v,!0)),gm(c,Am[`${m.subType}Scope`],y,A);break}return c.trim(),i[u]=c,u==="c"&&(i.nt.clear(),i.nt.pushNByte(l)),!0},jN=(e,t,r,n,u)=>Yi(e,t,r,n,"c",u),T6=(e,t,r,n,u)=>Yi(e,t,r,n,"bg",u),MN=(e,t,r,n,u)=>Yi(e,t,r,n,"bs",[u]),LN=(e,t,r,n,u)=>Yi(e,t,r,n,"os",u),UN=(e,t,r,n,u)=>Yi(e,t,r,n,"is",u),GN=(e,t,r)=>{const n=(l,p)=>{for(const d of Array.from(l))if(!p.has(d))return!1;for(const d of Array.from(p))if(!l.has(d))return!1;return!0},u=(l,p,d)=>{const f=d.split("/"),h=Fm[f[0]];if(!h&&h!==0)throw new Error(`"${f[0]}" is not a scope type`);const y=f.slice(1).map(A=>l.enumForCategoryValue("scopeBits",A,!0));gm(p,Am.startScope,h,y)},s=t.blocks[r],o=new Set,a=new Set;for(const l of e.unsuccinctifyScopes(s.os))a.add(l[2]);for(const l of e.unsuccinctifyItems(s.c,{scopes:!0},null))l[1]==="start"?(o.add(l[2]),a.add(l[2])):a.delete(l[2]);const i=Array.from(o),c=new qi(i.length);for(const l of i)u(e,c,l);if(c.trim(),s.is=c,rf[2]));if(!n(a,d)){const f=new qi(d.length);for(const h of Array.from(a))u(e,f,h);f.trim(),l.os=f,e.updateBlockIndexesAfterEdit(t,r+1)}}},VN=(e,t)=>{const r=(u,s,o)=>{const a=o.split("/"),i=Fm[a[0]];if(!i&&i!==0)throw new Error(`"${a[0]}" is not a scope type`);const c=a.slice(1).map(l=>u.enumForCategoryValue("scopeBits",l,!0));gm(s,Am.startScope,i,c)},n=new Set;for(const u of t.blocks){const s=Array.from(n),o=new qi(s.length);for(const l of s)r(e,o,l);o.trim(),u.os=o;const a=new Set;for(const l of e.unsuccinctifyItems(u.c,{scopes:!0},null))l[1]==="start"?(a.add(l[2]),n.add(l[2])):n.delete(l[2]);const i=Array.from(a),c=new qi(i.length);for(const l of i)r(e,c,l);c.trim(),u.is=c}},HN=e=>{const t={id:e.id,metadata:{selectors:e.selectors},enums:{},docs:{},tags:Array.from(e.tags)};for(const[r,n]of Object.entries(e.enums))n.trim(),t.enums[r]=n.base64();t.docs={};for(const r of e.docIds)t.docs[r]=e.processor.documents[r].serializeSuccinct();return t},vo=ye.ByteArray,{addTag:WN,removeTag:JN,validateTags:rv}=ye.tags,{succinctGraftName:zN,succinctGraftSeqId:KN,succinctScopeLabel:XN,succinctTokenChars:YN,headerBytes:of,enumIndex:ZN,enumIndexes:QN}=ye.succinct,{itemEnum:eq}=ye.itemDefs,{tokenEnumLabels:tq}=ye.tokenDefs;class nv{constructor(t,r,n,u){this.processor=t,this.preEnums={},this.enumIndexes={},this.docIds=[],u?this.fromSuccinct(t,u):this.fromScratch(t,r,n),rv(this.tags)}fromScratch(t,r,n){const u=r||t.selectors;this.selectors=tv(this,u),this.id=this.selectorString(),this.tags=new Set(n||[]),this.enums={ids:new vo(512),wordLike:new vo(8192),notWordLike:new vo(256),scopeBits:new vo(256),graftTypes:new vo(10)}}fromSuccinct(t,r){const n=u=>{const s=new vo(256);return s.fromBase64(u),s.trim(),s};this.id=r.id,this.selectors=tv(this,r.metadata.selectors),this.tags=new Set(r.tags),rv(this.tags),this.preEnums={},this.enums={ids:n(r.enums.ids),wordLike:n(r.enums.wordLike),notWordLike:n(r.enums.notWordLike),scopeBits:n(r.enums.scopeBits),graftTypes:n(r.enums.graftTypes)},this.enumIndexes={},this.docIds=[]}addTag(t){WN(this.tags,t)}removeTag(t){JN(this.tags,t)}selectorString(){return this.processor.selectorString(this.selectors)}documents(){return this.docIds.map(t=>this.processor.documents[t])}documentWithBook(t){const r=Object.values(this.documents()).filter(n=>"bookCode"in n.headers&&n.headers.bookCode===t);return r.length===1?r[0]:null}maybeBuildPreEnums(){Object.keys(this.preEnums).length===0&&this.buildPreEnums()}buildPreEnums(){for(const[t,r]of Object.entries(this.enums))this.preEnums[t]=SN(this,r)}recordPreEnum(t,r){wN(this,t,r)}sortPreEnums(){for(const t of Object.keys(this.preEnums)){this.preEnums[t]=new Map([...this.preEnums[t].entries()].sort((n,u)=>u[1].frequency-n[1].frequency));let r=0;for(const[n,u]of this.preEnums[t])u.enum=r++}}enumForCategoryValue(t,r,n){return BN(this,t,r,n)}buildEnums(){for(const[t,r]of Object.entries(this.preEnums))this.enums[t].clear(),this.buildEnum(t,r)}buildEnum(t,r){_N(this,t,r)}maybeBuildEnumIndexes(){Object.keys(this.enumIndexes).length===0&&this.buildEnumIndexes()}buildEnumIndexes(){this.enumIndexes=QN(this.enums)}buildEnumIndex(t){this.enumIndexes[t]=ZN(t,this.enums[t])}unsuccinctifyBlock(t,r){return gN(this,t,r)}unsuccinctifyItems(t,r,n,u){return AN(this,t,r,n,u)}unsuccinctifyItem(t,r,n){return FN(this,t,r,n)}unsuccinctifyPrunedItems(t,r){return CN(this,t,r)}unsuccinctifyScopes(t){const r=[];let n=0;for(;no[2]))}unsuccinctifyItemsWithScriptureCV(t,r,n){return bN(this,t,r,n)}succinctTokenChars(t,r,n){return YN(this.enums,this.enumIndexes,t,r,n)}succinctScopeLabel(t,r,n){return XN(this.enums,this.enumIndexes,t,r,n)}succinctGraftName(t){return zN(this.enums,this.enumIndexes,t)}succinctGraftSeqId(t,r){return KN(this.enums,this.enumIndexes,t,r)}countItems(t){return TN(this,t)}itemsByIndex(t,r,n){return $N(this,t,r,n)}blocksWithScriptureCV(t,r){return fN(this,t,r)}allBlockScopes(t){return DN(this,t)}allScopesInBlock(t,r){return hN(this,t,r)}anyScopeInBlock(t,r){return mN(this,t,r)}blockHasBlockScope(t,r){return EN(this,t,r)}blockHasChars(t,r){return yN(this,t,r)}blockHasMatchingItem(t,r,n){return vN(this,t,r,n)}sequenceItemsByScopes(t,r){return PN(this,t,r)}sequenceItemsByMilestones(t,r){return kN(this,t,r)}rehash(){return ON(this)}makeRehashEnumMap(){return IN(this)}updateItems(t,r,n,u){return jN(this,t,r,n,u)}updateBlockGrafts(t,r,n,u){return T6(this,t,r,n,u)}updateBlockScope(t,r,n,u){return MN(this,t,r,n,u)}updateOpenScopes(t,r,n,u){return LN(this,t,r,n,u)}updateIncludedScopes(t,r,n,u){return UN(this,t,r,n,u)}updateBlockIndexesAfterEdit(t,r){GN(this,t,r)}updateBlockIndexesAfterFilter(t){VN(this,t)}serializeSuccinct(){return HN(this)}checksum(){const t=[...this.docIds].sort().join(" ");return D6.calculate(t)}}var lp={},rq={get exports(){return lp},set exports(e){lp=e}},$6={},Tn={},pa={},Zi={},ut={},xi={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.regexpCode=e.getEsmExportName=e.getProperty=e.safeStringify=e.stringify=e.strConcat=e.addCodeArg=e.str=e._=e.nil=e._Code=e.Name=e.IDENTIFIER=e._CodeOrName=void 0;class t{}e._CodeOrName=t,e.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class r extends t{constructor(v){if(super(),!e.IDENTIFIER.test(v))throw new Error("CodeGen: name must be a valid identifier");this.str=v}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}e.Name=r;class n extends t{constructor(v){super(),this._items=typeof v=="string"?[v]:v}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;const v=this._items[0];return v===""||v==='""'}get str(){var v;return(v=this._str)!==null&&v!==void 0?v:this._str=this._items.reduce((C,B)=>`${C}${B}`,"")}get names(){var v;return(v=this._names)!==null&&v!==void 0?v:this._names=this._items.reduce((C,B)=>(B instanceof r&&(C[B.str]=(C[B.str]||0)+1),C),{})}}e._Code=n,e.nil=new n("");function u(m,...v){const C=[m[0]];let B=0;for(;B{if(p.scopePath===void 0)throw new Error(`CodeGen: name "${p}" has no value`);return(0,t._)`${c}${p.scopePath}`})}scopeCode(c=this._values,l,p){return this._reduceValues(c,d=>{if(d.value===void 0)throw new Error(`CodeGen: name "${d}" has no value`);return d.value.code},l,p)}_reduceValues(c,l,p={},d){let f=t.nil;for(const h in c){const y=c[h];if(!y)continue;const A=p[h]=p[h]||new Map;y.forEach(m=>{if(A.has(m))return;A.set(m,n.Started);let v=l(m);if(v){const C=this.opts.es5?e.varKinds.var:e.varKinds.const;f=(0,t._)`${f}${C} ${m} = ${v};${this.opts._n}`}else if(v=d==null?void 0:d(m))f=(0,t._)`${f}${v}${this.opts._n}`;else throw new r(m);A.set(m,n.Completed)})}return f}}e.ValueScope=a})(W2);(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.or=e.and=e.not=e.CodeGen=e.operators=e.varKinds=e.ValueScopeName=e.ValueScope=e.Scope=e.Name=e.regexpCode=e.stringify=e.getProperty=e.nil=e.strConcat=e.str=e._=void 0;const t=xi,r=W2;var n=xi;Object.defineProperty(e,"_",{enumerable:!0,get:function(){return n._}}),Object.defineProperty(e,"str",{enumerable:!0,get:function(){return n.str}}),Object.defineProperty(e,"strConcat",{enumerable:!0,get:function(){return n.strConcat}}),Object.defineProperty(e,"nil",{enumerable:!0,get:function(){return n.nil}}),Object.defineProperty(e,"getProperty",{enumerable:!0,get:function(){return n.getProperty}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return n.stringify}}),Object.defineProperty(e,"regexpCode",{enumerable:!0,get:function(){return n.regexpCode}}),Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return n.Name}});var u=W2;Object.defineProperty(e,"Scope",{enumerable:!0,get:function(){return u.Scope}}),Object.defineProperty(e,"ValueScope",{enumerable:!0,get:function(){return u.ValueScope}}),Object.defineProperty(e,"ValueScopeName",{enumerable:!0,get:function(){return u.ValueScopeName}}),Object.defineProperty(e,"varKinds",{enumerable:!0,get:function(){return u.varKinds}}),e.operators={GT:new t._Code(">"),GTE:new t._Code(">="),LT:new t._Code("<"),LTE:new t._Code("<="),EQ:new t._Code("==="),NEQ:new t._Code("!=="),NOT:new t._Code("!"),OR:new t._Code("||"),AND:new t._Code("&&"),ADD:new t._Code("+")};class s{optimizeNodes(){return this}optimizeNames(D,g){return this}}class o extends s{constructor(D,g,P){super(),this.varKind=D,this.name=g,this.rhs=P}render({es5:D,_n:g}){const P=D?r.varKinds.var:this.varKind,b=this.rhs===void 0?"":` = ${this.rhs}`;return`${P} ${this.name}${b};`+g}optimizeNames(D,g){if(D[this.name.str])return this.rhs&&(this.rhs=oe(this.rhs,D,g)),this}get names(){return this.rhs instanceof t._CodeOrName?this.rhs.names:{}}}class a extends s{constructor(D,g,P){super(),this.lhs=D,this.rhs=g,this.sideEffects=P}render({_n:D}){return`${this.lhs} = ${this.rhs};`+D}optimizeNames(D,g){if(!(this.lhs instanceof t.Name&&!D[this.lhs.str]&&!this.sideEffects))return this.rhs=oe(this.rhs,D,g),this}get names(){const D=this.lhs instanceof t.Name?{}:{...this.lhs.names};return ue(D,this.rhs)}}class i extends a{constructor(D,g,P,b){super(D,P,b),this.op=g}render({_n:D}){return`${this.lhs} ${this.op}= ${this.rhs};`+D}}class c extends s{constructor(D){super(),this.label=D,this.names={}}render({_n:D}){return`${this.label}:`+D}}class l extends s{constructor(D){super(),this.label=D,this.names={}}render({_n:D}){return`break${this.label?` ${this.label}`:""};`+D}}class p extends s{constructor(D){super(),this.error=D}render({_n:D}){return`throw ${this.error};`+D}get names(){return this.error.names}}class d extends s{constructor(D){super(),this.code=D}render({_n:D}){return`${this.code};`+D}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(D,g){return this.code=oe(this.code,D,g),this}get names(){return this.code instanceof t._CodeOrName?this.code.names:{}}}class f extends s{constructor(D=[]){super(),this.nodes=D}render(D){return this.nodes.reduce((g,P)=>g+P.render(D),"")}optimizeNodes(){const{nodes:D}=this;let g=D.length;for(;g--;){const P=D[g].optimizeNodes();Array.isArray(P)?D.splice(g,1,...P):P?D[g]=P:D.splice(g,1)}return D.length>0?this:void 0}optimizeNames(D,g){const{nodes:P}=this;let b=P.length;for(;b--;){const w=P[b];w.optimizeNames(D,g)||(de(D,w.names),P.splice(b,1))}return P.length>0?this:void 0}get names(){return this.nodes.reduce((D,g)=>K(D,g.names),{})}}class h extends f{render(D){return"{"+D._n+super.render(D)+"}"+D._n}}class y extends f{}class A extends h{}A.kind="else";class m extends h{constructor(D,g){super(g),this.condition=D}render(D){let g=`if(${this.condition})`+super.render(D);return this.else&&(g+="else "+this.else.render(D)),g}optimizeNodes(){super.optimizeNodes();const D=this.condition;if(D===!0)return this.nodes;let g=this.else;if(g){const P=g.optimizeNodes();g=this.else=Array.isArray(P)?new A(P):P}if(g)return D===!1?g instanceof m?g:g.nodes:this.nodes.length?this:new m(he(D),g instanceof m?[g]:g.nodes);if(!(D===!1||!this.nodes.length))return this}optimizeNames(D,g){var P;if(this.else=(P=this.else)===null||P===void 0?void 0:P.optimizeNames(D,g),!!(super.optimizeNames(D,g)||this.else))return this.condition=oe(this.condition,D,g),this}get names(){const D=super.names;return ue(D,this.condition),this.else&&K(D,this.else.names),D}}m.kind="if";class v extends h{}v.kind="for";class C extends v{constructor(D){super(),this.iteration=D}render(D){return`for(${this.iteration})`+super.render(D)}optimizeNames(D,g){if(super.optimizeNames(D,g))return this.iteration=oe(this.iteration,D,g),this}get names(){return K(super.names,this.iteration.names)}}class B extends v{constructor(D,g,P,b){super(),this.varKind=D,this.name=g,this.from=P,this.to=b}render(D){const g=D.es5?r.varKinds.var:this.varKind,{name:P,from:b,to:w}=this;return`for(${g} ${P}=${b}; ${P}<${w}; ${P}++)`+super.render(D)}get names(){const D=ue(super.names,this.from);return ue(D,this.to)}}class T extends v{constructor(D,g,P,b){super(),this.loop=D,this.varKind=g,this.name=P,this.iterable=b}render(D){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(D)}optimizeNames(D,g){if(super.optimizeNames(D,g))return this.iterable=oe(this.iterable,D,g),this}get names(){return K(super.names,this.iterable.names)}}class N extends h{constructor(D,g,P){super(),this.name=D,this.args=g,this.async=P}render(D){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(D)}}N.kind="func";class R extends f{render(D){return"return "+super.render(D)}}R.kind="return";class J extends h{render(D){let g="try"+super.render(D);return this.catch&&(g+=this.catch.render(D)),this.finally&&(g+=this.finally.render(D)),g}optimizeNodes(){var D,g;return super.optimizeNodes(),(D=this.catch)===null||D===void 0||D.optimizeNodes(),(g=this.finally)===null||g===void 0||g.optimizeNodes(),this}optimizeNames(D,g){var P,b;return super.optimizeNames(D,g),(P=this.catch)===null||P===void 0||P.optimizeNames(D,g),(b=this.finally)===null||b===void 0||b.optimizeNames(D,g),this}get names(){const D=super.names;return this.catch&&K(D,this.catch.names),this.finally&&K(D,this.finally.names),D}}class q extends h{constructor(D){super(),this.error=D}render(D){return`catch(${this.error})`+super.render(D)}}q.kind="catch";class G extends h{render(D){return"finally"+super.render(D)}}G.kind="finally";class ee{constructor(D,g={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...g,_n:g.lines?` +`:""},this._extScope=D,this._scope=new r.Scope({parent:D}),this._nodes=[new y]}toString(){return this._root.render(this.opts)}name(D){return this._scope.name(D)}scopeName(D){return this._extScope.name(D)}scopeValue(D,g){const P=this._extScope.value(D,g);return(this._values[P.prefix]||(this._values[P.prefix]=new Set)).add(P),P}getScopeValue(D,g){return this._extScope.getValue(D,g)}scopeRefs(D){return this._extScope.scopeRefs(D,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(D,g,P,b){const w=this._scope.toName(g);return P!==void 0&&b&&(this._constants[w.str]=P),this._leafNode(new o(D,w,P)),w}const(D,g,P){return this._def(r.varKinds.const,D,g,P)}let(D,g,P){return this._def(r.varKinds.let,D,g,P)}var(D,g,P){return this._def(r.varKinds.var,D,g,P)}assign(D,g,P){return this._leafNode(new a(D,g,P))}add(D,g){return this._leafNode(new i(D,e.operators.ADD,g))}code(D){return typeof D=="function"?D():D!==t.nil&&this._leafNode(new d(D)),this}object(...D){const g=["{"];for(const[P,b]of D)g.length>1&&g.push(","),g.push(P),(P!==b||this.opts.es5)&&(g.push(":"),(0,t.addCodeArg)(g,b));return g.push("}"),new t._Code(g)}if(D,g,P){if(this._blockNode(new m(D)),g&&P)this.code(g).else().code(P).endIf();else if(g)this.code(g).endIf();else if(P)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(D){return this._elseNode(new m(D))}else(){return this._elseNode(new A)}endIf(){return this._endBlockNode(m,A)}_for(D,g){return this._blockNode(D),g&&this.code(g).endFor(),this}for(D,g){return this._for(new C(D),g)}forRange(D,g,P,b,w=this.opts.es5?r.varKinds.var:r.varKinds.let){const I=this._scope.toName(D);return this._for(new B(w,I,g,P),()=>b(I))}forOf(D,g,P,b=r.varKinds.const){const w=this._scope.toName(D);if(this.opts.es5){const I=g instanceof t.Name?g:this.var("_arr",g);return this.forRange("_i",0,(0,t._)`${I}.length`,$=>{this.var(w,(0,t._)`${I}[${$}]`),P(w)})}return this._for(new T("of",b,w,g),()=>P(w))}forIn(D,g,P,b=this.opts.es5?r.varKinds.var:r.varKinds.const){if(this.opts.ownProperties)return this.forOf(D,(0,t._)`Object.keys(${g})`,P);const w=this._scope.toName(D);return this._for(new T("in",b,w,g),()=>P(w))}endFor(){return this._endBlockNode(v)}label(D){return this._leafNode(new c(D))}break(D){return this._leafNode(new l(D))}return(D){const g=new R;if(this._blockNode(g),this.code(D),g.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(R)}try(D,g,P){if(!g&&!P)throw new Error('CodeGen: "try" without "catch" and "finally"');const b=new J;if(this._blockNode(b),this.code(D),g){const w=this.name("e");this._currNode=b.catch=new q(w),g(w)}return P&&(this._currNode=b.finally=new G,this.code(P)),this._endBlockNode(q,G)}throw(D){return this._leafNode(new p(D))}block(D,g){return this._blockStarts.push(this._nodes.length),D&&this.code(D).endBlock(g),this}endBlock(D){const g=this._blockStarts.pop();if(g===void 0)throw new Error("CodeGen: not in self-balancing block");const P=this._nodes.length-g;if(P<0||D!==void 0&&P!==D)throw new Error(`CodeGen: wrong number of nodes: ${P} vs ${D} expected`);return this._nodes.length=g,this}func(D,g=t.nil,P,b){return this._blockNode(new N(D,g,P)),b&&this.code(b).endFunc(),this}endFunc(){return this._endBlockNode(N)}optimize(D=1){for(;D-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(D){return this._currNode.nodes.push(D),this}_blockNode(D){this._currNode.nodes.push(D),this._nodes.push(D)}_endBlockNode(D,g){const P=this._currNode;if(P instanceof D||g&&P instanceof g)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${g?`${D.kind}/${g.kind}`:D.kind}"`)}_elseNode(D){const g=this._currNode;if(!(g instanceof m))throw new Error('CodeGen: "else" without "if"');return this._currNode=g.else=D,this}get _root(){return this._nodes[0]}get _currNode(){const D=this._nodes;return D[D.length-1]}set _currNode(D){const g=this._nodes;g[g.length-1]=D}}e.CodeGen=ee;function K(F,D){for(const g in D)F[g]=(F[g]||0)+(D[g]||0);return F}function ue(F,D){return D instanceof t._CodeOrName?K(F,D.names):F}function oe(F,D,g){if(F instanceof t.Name)return P(F);if(!b(F))return F;return new t._Code(F._items.reduce((w,I)=>(I instanceof t.Name&&(I=P(I)),I instanceof t._Code?w.push(...I._items):w.push(I),w),[]));function P(w){const I=g[w.str];return I===void 0||D[w.str]!==1?w:(delete D[w.str],I)}function b(w){return w instanceof t._Code&&w._items.some(I=>I instanceof t.Name&&D[I.str]===1&&g[I.str]!==void 0)}}function de(F,D){for(const g in D)F[g]=(F[g]||0)-(D[g]||0)}function he(F){return typeof F=="boolean"||typeof F=="number"||F===null?!F:(0,t._)`!${E(F)}`}e.not=he;const fe=O(e.operators.AND);function ge(...F){return F.reduce(fe)}e.and=ge;const pe=O(e.operators.OR);function z(...F){return F.reduce(pe)}e.or=z;function O(F){return(D,g)=>D===t.nil?g:g===t.nil?D:(0,t._)`${E(D)} ${F} ${E(g)}`}function E(F){return F instanceof t.Name?F:(0,t._)`(${F})`}})(ut);var Dt={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.checkStrictMode=e.getErrorPath=e.Type=e.useFunc=e.setEvaluated=e.evaluatedPropsToName=e.mergeEvaluated=e.eachItem=e.unescapeJsonPointer=e.escapeJsonPointer=e.escapeFragment=e.unescapeFragment=e.schemaRefOrVal=e.schemaHasRulesButRef=e.schemaHasRules=e.checkUnknownRules=e.alwaysValidSchema=e.toHash=void 0;const t=ut,r=xi;function n(N){const R={};for(const J of N)R[J]=!0;return R}e.toHash=n;function u(N,R){return typeof R=="boolean"?R:Object.keys(R).length===0?!0:(s(N,R),!o(R,N.self.RULES.all))}e.alwaysValidSchema=u;function s(N,R=N.schema){const{opts:J,self:q}=N;if(!J.strictSchema||typeof R=="boolean")return;const G=q.RULES.keywords;for(const ee in R)G[ee]||T(N,`unknown keyword: "${ee}"`)}e.checkUnknownRules=s;function o(N,R){if(typeof N=="boolean")return!N;for(const J in N)if(R[J])return!0;return!1}e.schemaHasRules=o;function a(N,R){if(typeof N=="boolean")return!N;for(const J in N)if(J!=="$ref"&&R.all[J])return!0;return!1}e.schemaHasRulesButRef=a;function i({topSchemaRef:N,schemaPath:R},J,q,G){if(!G){if(typeof J=="number"||typeof J=="boolean")return J;if(typeof J=="string")return(0,t._)`${J}`}return(0,t._)`${N}${R}${(0,t.getProperty)(q)}`}e.schemaRefOrVal=i;function c(N){return d(decodeURIComponent(N))}e.unescapeFragment=c;function l(N){return encodeURIComponent(p(N))}e.escapeFragment=l;function p(N){return typeof N=="number"?`${N}`:N.replace(/~/g,"~0").replace(/\//g,"~1")}e.escapeJsonPointer=p;function d(N){return N.replace(/~1/g,"/").replace(/~0/g,"~")}e.unescapeJsonPointer=d;function f(N,R){if(Array.isArray(N))for(const J of N)R(J);else R(N)}e.eachItem=f;function h({mergeNames:N,mergeToName:R,mergeValues:J,resultToName:q}){return(G,ee,K,ue)=>{const oe=K===void 0?ee:K instanceof t.Name?(ee instanceof t.Name?N(G,ee,K):R(G,ee,K),K):ee instanceof t.Name?(R(G,K,ee),ee):J(ee,K);return ue===t.Name&&!(oe instanceof t.Name)?q(G,oe):oe}}e.mergeEvaluated={props:h({mergeNames:(N,R,J)=>N.if((0,t._)`${J} !== true && ${R} !== undefined`,()=>{N.if((0,t._)`${R} === true`,()=>N.assign(J,!0),()=>N.assign(J,(0,t._)`${J} || {}`).code((0,t._)`Object.assign(${J}, ${R})`))}),mergeToName:(N,R,J)=>N.if((0,t._)`${J} !== true`,()=>{R===!0?N.assign(J,!0):(N.assign(J,(0,t._)`${J} || {}`),A(N,J,R))}),mergeValues:(N,R)=>N===!0?!0:{...N,...R},resultToName:y}),items:h({mergeNames:(N,R,J)=>N.if((0,t._)`${J} !== true && ${R} !== undefined`,()=>N.assign(J,(0,t._)`${R} === true ? true : ${J} > ${R} ? ${J} : ${R}`)),mergeToName:(N,R,J)=>N.if((0,t._)`${J} !== true`,()=>N.assign(J,R===!0?!0:(0,t._)`${J} > ${R} ? ${J} : ${R}`)),mergeValues:(N,R)=>N===!0?!0:Math.max(N,R),resultToName:(N,R)=>N.var("items",R)})};function y(N,R){if(R===!0)return N.var("props",!0);const J=N.var("props",(0,t._)`{}`);return R!==void 0&&A(N,J,R),J}e.evaluatedPropsToName=y;function A(N,R,J){Object.keys(J).forEach(q=>N.assign((0,t._)`${R}${(0,t.getProperty)(q)}`,!0))}e.setEvaluated=A;const m={};function v(N,R){return N.scopeValue("func",{ref:R,code:m[R.code]||(m[R.code]=new r._Code(R.code))})}e.useFunc=v;var C;(function(N){N[N.Num=0]="Num",N[N.Str=1]="Str"})(C=e.Type||(e.Type={}));function B(N,R,J){if(N instanceof t.Name){const q=R===C.Num;return J?q?(0,t._)`"[" + ${N} + "]"`:(0,t._)`"['" + ${N} + "']"`:q?(0,t._)`"/" + ${N}`:(0,t._)`"/" + ${N}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return J?(0,t.getProperty)(N).toString():"/"+p(N)}e.getErrorPath=B;function T(N,R,J=N.opts.strictSchema){if(J){if(R=`strict mode: ${R}`,J===!0)throw new Error(R);N.self.logger.warn(R)}}e.checkStrictMode=T})(Dt);var ru={};Object.defineProperty(ru,"__esModule",{value:!0});const Er=ut,nq={data:new Er.Name("data"),valCxt:new Er.Name("valCxt"),instancePath:new Er.Name("instancePath"),parentData:new Er.Name("parentData"),parentDataProperty:new Er.Name("parentDataProperty"),rootData:new Er.Name("rootData"),dynamicAnchors:new Er.Name("dynamicAnchors"),vErrors:new Er.Name("vErrors"),errors:new Er.Name("errors"),this:new Er.Name("this"),self:new Er.Name("self"),scope:new Er.Name("scope"),json:new Er.Name("json"),jsonPos:new Er.Name("jsonPos"),jsonLen:new Er.Name("jsonLen"),jsonPart:new Er.Name("jsonPart")};ru.default=nq;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.extendErrors=e.resetErrorsCount=e.reportExtraError=e.reportError=e.keyword$DataError=e.keywordError=void 0;const t=ut,r=Dt,n=ru;e.keywordError={message:({keyword:A})=>(0,t.str)`must pass "${A}" keyword validation`},e.keyword$DataError={message:({keyword:A,schemaType:m})=>m?(0,t.str)`"${A}" keyword must be ${m} ($data)`:(0,t.str)`"${A}" keyword is invalid ($data)`};function u(A,m=e.keywordError,v,C){const{it:B}=A,{gen:T,compositeRule:N,allErrors:R}=B,J=p(A,m,v);C??(N||R)?i(T,J):c(B,(0,t._)`[${J}]`)}e.reportError=u;function s(A,m=e.keywordError,v){const{it:C}=A,{gen:B,compositeRule:T,allErrors:N}=C,R=p(A,m,v);i(B,R),T||N||c(C,n.default.vErrors)}e.reportExtraError=s;function o(A,m){A.assign(n.default.errors,m),A.if((0,t._)`${n.default.vErrors} !== null`,()=>A.if(m,()=>A.assign((0,t._)`${n.default.vErrors}.length`,m),()=>A.assign(n.default.vErrors,null)))}e.resetErrorsCount=o;function a({gen:A,keyword:m,schemaValue:v,data:C,errsCount:B,it:T}){if(B===void 0)throw new Error("ajv implementation error");const N=A.name("err");A.forRange("i",B,n.default.errors,R=>{A.const(N,(0,t._)`${n.default.vErrors}[${R}]`),A.if((0,t._)`${N}.instancePath === undefined`,()=>A.assign((0,t._)`${N}.instancePath`,(0,t.strConcat)(n.default.instancePath,T.errorPath))),A.assign((0,t._)`${N}.schemaPath`,(0,t.str)`${T.errSchemaPath}/${m}`),T.opts.verbose&&(A.assign((0,t._)`${N}.schema`,v),A.assign((0,t._)`${N}.data`,C))})}e.extendErrors=a;function i(A,m){const v=A.const("err",m);A.if((0,t._)`${n.default.vErrors} === null`,()=>A.assign(n.default.vErrors,(0,t._)`[${v}]`),(0,t._)`${n.default.vErrors}.push(${v})`),A.code((0,t._)`${n.default.errors}++`)}function c(A,m){const{gen:v,validateName:C,schemaEnv:B}=A;B.$async?v.throw((0,t._)`new ${A.ValidationError}(${m})`):(v.assign((0,t._)`${C}.errors`,m),v.return(!1))}const l={keyword:new t.Name("keyword"),schemaPath:new t.Name("schemaPath"),params:new t.Name("params"),propertyName:new t.Name("propertyName"),message:new t.Name("message"),schema:new t.Name("schema"),parentSchema:new t.Name("parentSchema")};function p(A,m,v){const{createErrors:C}=A.it;return C===!1?(0,t._)`{}`:d(A,m,v)}function d(A,m,v={}){const{gen:C,it:B}=A,T=[f(B,v),h(A,v)];return y(A,m,T),C.object(...T)}function f({errorPath:A},{instancePath:m}){const v=m?(0,t.str)`${A}${(0,r.getErrorPath)(m,r.Type.Str)}`:A;return[n.default.instancePath,(0,t.strConcat)(n.default.instancePath,v)]}function h({keyword:A,it:{errSchemaPath:m}},{schemaPath:v,parentSchema:C}){let B=C?m:(0,t.str)`${m}/${A}`;return v&&(B=(0,t.str)`${B}${(0,r.getErrorPath)(v,r.Type.Str)}`),[l.schemaPath,B]}function y(A,{params:m,message:v},C){const{keyword:B,data:T,schemaValue:N,it:R}=A,{opts:J,propertyName:q,topSchemaRef:G,schemaPath:ee}=R;C.push([l.keyword,B],[l.params,typeof m=="function"?m(A):m||(0,t._)`{}`]),J.messages&&C.push([l.message,typeof v=="function"?v(A):v]),J.verbose&&C.push([l.schema,N],[l.parentSchema,(0,t._)`${G}${ee}`],[n.default.data,T]),q&&C.push([l.propertyName,q])}})(Zi);Object.defineProperty(pa,"__esModule",{value:!0});pa.boolOrEmptySchema=pa.topBoolOrEmptySchema=void 0;const uq=Zi,sq=ut,oq=ru,aq={message:"boolean schema is false"};function iq(e){const{gen:t,schema:r,validateName:n}=e;r===!1?P6(e,!1):typeof r=="object"&&r.$async===!0?t.return(oq.default.data):(t.assign((0,sq._)`${n}.errors`,null),t.return(!0))}pa.topBoolOrEmptySchema=iq;function cq(e,t){const{gen:r,schema:n}=e;n===!1?(r.var(t,!1),P6(e)):r.var(t,!0)}pa.boolOrEmptySchema=cq;function P6(e,t){const{gen:r,data:n}=e,u={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,uq.reportError)(u,aq,void 0,t)}var Qi={},Ys={};Object.defineProperty(Ys,"__esModule",{value:!0});Ys.getRules=Ys.isJSONType=void 0;const lq=["string","number","integer","boolean","null","object","array"],pq=new Set(lq);function dq(e){return typeof e=="string"&&pq.has(e)}Ys.isJSONType=dq;function fq(){const e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}Ys.getRules=fq;var Au={};Object.defineProperty(Au,"__esModule",{value:!0});Au.shouldUseRule=Au.shouldUseGroup=Au.schemaHasRulesForType=void 0;function Dq({schema:e,self:t},r){const n=t.RULES.types[r];return n&&n!==!0&&k6(e,n)}Au.schemaHasRulesForType=Dq;function k6(e,t){return t.rules.some(r=>O6(e,r))}Au.shouldUseGroup=k6;function O6(e,t){var r;return e[t.keyword]!==void 0||((r=t.definition.implements)===null||r===void 0?void 0:r.some(n=>e[n]!==void 0))}Au.shouldUseRule=O6;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.reportTypeError=e.checkDataTypes=e.checkDataType=e.coerceAndCheckDataType=e.getJSONTypes=e.getSchemaTypes=e.DataType=void 0;const t=Ys,r=Au,n=Zi,u=ut,s=Dt;var o;(function(C){C[C.Correct=0]="Correct",C[C.Wrong=1]="Wrong"})(o=e.DataType||(e.DataType={}));function a(C){const B=i(C.type);if(B.includes("null")){if(C.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!B.length&&C.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');C.nullable===!0&&B.push("null")}return B}e.getSchemaTypes=a;function i(C){const B=Array.isArray(C)?C:C?[C]:[];if(B.every(t.isJSONType))return B;throw new Error("type must be JSONType or JSONType[]: "+B.join(","))}e.getJSONTypes=i;function c(C,B){const{gen:T,data:N,opts:R}=C,J=p(B,R.coerceTypes),q=B.length>0&&!(J.length===0&&B.length===1&&(0,r.schemaHasRulesForType)(C,B[0]));if(q){const G=y(B,N,R.strictNumbers,o.Wrong);T.if(G,()=>{J.length?d(C,B,J):m(C)})}return q}e.coerceAndCheckDataType=c;const l=new Set(["string","number","integer","boolean","null"]);function p(C,B){return B?C.filter(T=>l.has(T)||B==="array"&&T==="array"):[]}function d(C,B,T){const{gen:N,data:R,opts:J}=C,q=N.let("dataType",(0,u._)`typeof ${R}`),G=N.let("coerced",(0,u._)`undefined`);J.coerceTypes==="array"&&N.if((0,u._)`${q} == 'object' && Array.isArray(${R}) && ${R}.length == 1`,()=>N.assign(R,(0,u._)`${R}[0]`).assign(q,(0,u._)`typeof ${R}`).if(y(B,R,J.strictNumbers),()=>N.assign(G,R))),N.if((0,u._)`${G} !== undefined`);for(const K of T)(l.has(K)||K==="array"&&J.coerceTypes==="array")&&ee(K);N.else(),m(C),N.endIf(),N.if((0,u._)`${G} !== undefined`,()=>{N.assign(R,G),f(C,G)});function ee(K){switch(K){case"string":N.elseIf((0,u._)`${q} == "number" || ${q} == "boolean"`).assign(G,(0,u._)`"" + ${R}`).elseIf((0,u._)`${R} === null`).assign(G,(0,u._)`""`);return;case"number":N.elseIf((0,u._)`${q} == "boolean" || ${R} === null || (${q} == "string" && ${R} && ${R} == +${R})`).assign(G,(0,u._)`+${R}`);return;case"integer":N.elseIf((0,u._)`${q} === "boolean" || ${R} === null || (${q} === "string" && ${R} && ${R} == +${R} && !(${R} % 1))`).assign(G,(0,u._)`+${R}`);return;case"boolean":N.elseIf((0,u._)`${R} === "false" || ${R} === 0 || ${R} === null`).assign(G,!1).elseIf((0,u._)`${R} === "true" || ${R} === 1`).assign(G,!0);return;case"null":N.elseIf((0,u._)`${R} === "" || ${R} === 0 || ${R} === false`),N.assign(G,null);return;case"array":N.elseIf((0,u._)`${q} === "string" || ${q} === "number" - || ${q} === "boolean" || ${R} === null`).assign(G,(0,u._)`[${R}]`)}}}function f({gen:C,parentData:B,parentDataProperty:T},N){C.if((0,u._)`${B} !== undefined`,()=>C.assign((0,u._)`${B}[${T}]`,N))}function h(C,B,T,N=o.Correct){const R=N===o.Correct?u.operators.EQ:u.operators.NEQ;let J;switch(C){case"null":return(0,u._)`${B} ${R} null`;case"array":J=(0,u._)`Array.isArray(${B})`;break;case"object":J=(0,u._)`${B} && typeof ${B} == "object" && !Array.isArray(${B})`;break;case"integer":J=q((0,u._)`!(${B} % 1) && !isNaN(${B})`);break;case"number":J=q();break;default:return(0,u._)`typeof ${B} ${R} ${C}`}return N===o.Correct?J:(0,u.not)(J);function q(G=u.nil){return(0,u.and)((0,u._)`typeof ${B} == "number"`,G,T?(0,u._)`isFinite(${B})`:u.nil)}}e.checkDataType=h;function y(C,B,T,N){if(C.length===1)return h(C[0],B,T,N);let R;const J=(0,s.toHash)(C);if(J.array&&J.object){const q=(0,u._)`typeof ${B} != "object"`;R=J.null?q:(0,u._)`!${B} || ${q}`,delete J.null,delete J.array,delete J.object}else R=u.nil;J.number&&delete J.integer;for(const q in J)R=(0,u.and)(R,h(q,B,T,N));return R}e.checkDataTypes=y;const A={message:({schema:C})=>`must be ${C}`,params:({schema:C,schemaValue:B})=>typeof C=="string"?(0,u._)`{type: ${C}}`:(0,u._)`{type: ${B}}`};function m(C){const B=v(C);(0,n.reportError)(B,A)}e.reportTypeError=m;function v(C){const{gen:B,data:T,schema:N}=C,R=(0,s.schemaRefOrVal)(C,N,"type");return{gen:B,keyword:"type",data:T,schema:N.type,schemaCode:R,schemaValue:R,parentSchema:N,params:{},it:C}}})(Qi);var Wp={};Object.defineProperty(Wp,"__esModule",{value:!0});Wp.assignDefaults=void 0;const go=ut,fq=Dt;function Dq(e,t){const{properties:r,items:n}=e.schema;if(t==="object"&&r)for(const u in r)nv(e,u,r[u].default);else t==="array"&&Array.isArray(n)&&n.forEach((u,s)=>nv(e,s,u.default))}Wp.assignDefaults=Dq;function nv(e,t,r){const{gen:n,compositeRule:u,data:s,opts:o}=e;if(r===void 0)return;const a=(0,go._)`${s}${(0,go.getProperty)(t)}`;if(u){(0,fq.checkStrictMode)(e,`default is ignored for: ${a}`);return}let i=(0,go._)`${a} === undefined`;o.useDefaults==="empty"&&(i=(0,go._)`${i} || ${a} === null || ${a} === ""`),n.if(i,(0,go._)`${a} = ${(0,go.stringify)(r)}`)}var zn={},tt={};Object.defineProperty(tt,"__esModule",{value:!0});tt.validateUnion=tt.validateArray=tt.usePattern=tt.callValidateCode=tt.schemaProperties=tt.allSchemaProperties=tt.noPropertyInData=tt.propertyInData=tt.isOwnProperty=tt.hasPropFunc=tt.reportMissingProp=tt.checkMissingProp=tt.checkReportMissingProp=void 0;const St=ut,Fm=Dt,Mu=ru,hq=Dt;function mq(e,t){const{gen:r,data:n,it:u}=e;r.if(bm(r,n,t,u.opts.ownProperties),()=>{e.setParams({missingProperty:(0,St._)`${t}`},!0),e.error()})}tt.checkReportMissingProp=mq;function Eq({gen:e,data:t,it:{opts:r}},n,u){return(0,St.or)(...n.map(s=>(0,St.and)(bm(e,t,s,r.ownProperties),(0,St._)`${u} = ${s}`)))}tt.checkMissingProp=Eq;function yq(e,t){e.setParams({missingProperty:t},!0),e.error()}tt.reportMissingProp=yq;function k6(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,St._)`Object.prototype.hasOwnProperty`})}tt.hasPropFunc=k6;function Cm(e,t,r){return(0,St._)`${k6(e)}.call(${t}, ${r})`}tt.isOwnProperty=Cm;function vq(e,t,r,n){const u=(0,St._)`${t}${(0,St.getProperty)(r)} !== undefined`;return n?(0,St._)`${u} && ${Cm(e,t,r)}`:u}tt.propertyInData=vq;function bm(e,t,r,n){const u=(0,St._)`${t}${(0,St.getProperty)(r)} === undefined`;return n?(0,St.or)(u,(0,St.not)(Cm(e,t,r))):u}tt.noPropertyInData=bm;function O6(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}tt.allSchemaProperties=O6;function gq(e,t){return O6(t).filter(r=>!(0,Fm.alwaysValidSchema)(e,t[r]))}tt.schemaProperties=gq;function Aq({schemaCode:e,data:t,it:{gen:r,topSchemaRef:n,schemaPath:u,errorPath:s},it:o},a,i,c){const l=c?(0,St._)`${e}, ${t}, ${n}${u}`:t,p=[[Mu.default.instancePath,(0,St.strConcat)(Mu.default.instancePath,s)],[Mu.default.parentData,o.parentData],[Mu.default.parentDataProperty,o.parentDataProperty],[Mu.default.rootData,Mu.default.rootData]];o.opts.dynamicRef&&p.push([Mu.default.dynamicAnchors,Mu.default.dynamicAnchors]);const d=(0,St._)`${l}, ${r.object(...p)}`;return i!==St.nil?(0,St._)`${a}.call(${i}, ${d})`:(0,St._)`${a}(${d})`}tt.callValidateCode=Aq;const Fq=(0,St._)`new RegExp`;function Cq({gen:e,it:{opts:t}},r){const n=t.unicodeRegExp?"u":"",{regExp:u}=t.code,s=u(r,n);return e.scopeValue("pattern",{key:s.toString(),ref:s,code:(0,St._)`${u.code==="new RegExp"?Fq:(0,hq.useFunc)(e,u)}(${r}, ${n})`})}tt.usePattern=Cq;function bq(e){const{gen:t,data:r,keyword:n,it:u}=e,s=t.name("valid");if(u.allErrors){const a=t.let("valid",!0);return o(()=>t.assign(a,!1)),a}return t.var(s,!0),o(()=>t.break()),s;function o(a){const i=t.const("len",(0,St._)`${r}.length`);t.forRange("i",0,i,c=>{e.subschema({keyword:n,dataProp:c,dataPropType:Fm.Type.Num},s),t.if((0,St.not)(s),a)})}}tt.validateArray=bq;function Sq(e){const{gen:t,schema:r,keyword:n,it:u}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(i=>(0,Fm.alwaysValidSchema)(u,i))&&!u.opts.unevaluated)return;const o=t.let("valid",!1),a=t.name("_valid");t.block(()=>r.forEach((i,c)=>{const l=e.subschema({keyword:n,schemaProp:c,compositeRule:!0},a);t.assign(o,(0,St._)`${o} || ${a}`),e.mergeValidEvaluated(l,a)||t.if((0,St.not)(o))})),e.result(o,()=>e.reset(),()=>e.error(!0))}tt.validateUnion=Sq;Object.defineProperty(zn,"__esModule",{value:!0});zn.validateKeywordUsage=zn.validSchemaType=zn.funcKeywordCode=zn.macroKeywordCode=void 0;const gr=ut,Os=ru,wq=tt,_q=Zi;function Bq(e,t){const{gen:r,keyword:n,schema:u,parentSchema:s,it:o}=e,a=t.macro.call(o.self,u,s,o),i=I6(r,n,a);o.opts.validateSchema!==!1&&o.self.validateSchema(a,!0);const c=r.name("valid");e.subschema({schema:a,schemaPath:gr.nil,errSchemaPath:`${o.errSchemaPath}/${n}`,topSchemaRef:i,compositeRule:!0},c),e.pass(c,()=>e.error(!0))}zn.macroKeywordCode=Bq;function Tq(e,t){var r;const{gen:n,keyword:u,schema:s,parentSchema:o,$data:a,it:i}=e;Pq(i,t);const c=!a&&t.compile?t.compile.call(i.self,s,o,i):t.validate,l=I6(n,u,c),p=n.let("valid");e.block$data(p,d),e.ok((r=t.valid)!==null&&r!==void 0?r:p);function d(){if(t.errors===!1)y(),t.modifying&&uv(e),A(()=>e.error());else{const m=t.async?f():h();t.modifying&&uv(e),A(()=>$q(e,m))}}function f(){const m=n.let("ruleErrs",null);return n.try(()=>y((0,gr._)`await `),v=>n.assign(p,!1).if((0,gr._)`${v} instanceof ${i.ValidationError}`,()=>n.assign(m,(0,gr._)`${v}.errors`),()=>n.throw(v))),m}function h(){const m=(0,gr._)`${l}.errors`;return n.assign(m,null),y(gr.nil),m}function y(m=t.async?(0,gr._)`await `:gr.nil){const v=i.opts.passContext?Os.default.this:Os.default.self,C=!("compile"in t&&!a||t.schema===!1);n.assign(p,(0,gr._)`${m}${(0,wq.callValidateCode)(e,l,v,C)}`,t.modifying)}function A(m){var v;n.if((0,gr.not)((v=t.valid)!==null&&v!==void 0?v:p),m)}}zn.funcKeywordCode=Tq;function uv(e){const{gen:t,data:r,it:n}=e;t.if(n.parentData,()=>t.assign(r,(0,gr._)`${n.parentData}[${n.parentDataProperty}]`))}function $q(e,t){const{gen:r}=e;r.if((0,gr._)`Array.isArray(${t})`,()=>{r.assign(Os.default.vErrors,(0,gr._)`${Os.default.vErrors} === null ? ${t} : ${Os.default.vErrors}.concat(${t})`).assign(Os.default.errors,(0,gr._)`${Os.default.vErrors}.length`),(0,_q.extendErrors)(e)},()=>e.error())}function Pq({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function I6(e,t,r){if(r===void 0)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,gr.stringify)(r)})}function kq(e,t,r=!1){return!t.length||t.some(n=>n==="array"?Array.isArray(e):n==="object"?e&&typeof e=="object"&&!Array.isArray(e):typeof e==n||r&&typeof e>"u")}zn.validSchemaType=kq;function Oq({schema:e,opts:t,self:r,errSchemaPath:n},u,s){if(Array.isArray(u.keyword)?!u.keyword.includes(s):u.keyword!==s)throw new Error("ajv implementation error");const o=u.dependencies;if(o!=null&&o.some(a=>!Object.prototype.hasOwnProperty.call(e,a)))throw new Error(`parent schema must have dependencies of ${s}: ${o.join(",")}`);if(u.validateSchema&&!u.validateSchema(e[s])){const i=`keyword "${s}" value is invalid at path "${n}": `+r.errorsText(u.validateSchema.errors);if(t.validateSchema==="log")r.logger.error(i);else throw new Error(i)}}zn.validateKeywordUsage=Oq;var rs={};Object.defineProperty(rs,"__esModule",{value:!0});rs.extendSubschemaMode=rs.extendSubschemaData=rs.getSubschema=void 0;const Wn=ut,N6=Dt;function Iq(e,{keyword:t,schemaProp:r,schema:n,schemaPath:u,errSchemaPath:s,topSchemaRef:o}){if(t!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(t!==void 0){const a=e.schema[t];return r===void 0?{schema:a,schemaPath:(0,Wn._)`${e.schemaPath}${(0,Wn.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:a[r],schemaPath:(0,Wn._)`${e.schemaPath}${(0,Wn.getProperty)(t)}${(0,Wn.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,N6.escapeFragment)(r)}`}}if(n!==void 0){if(u===void 0||s===void 0||o===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:u,topSchemaRef:o,errSchemaPath:s}}throw new Error('either "keyword" or "schema" must be passed')}rs.getSubschema=Iq;function Nq(e,t,{dataProp:r,dataPropType:n,data:u,dataTypes:s,propertyName:o}){if(u!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');const{gen:a}=t;if(r!==void 0){const{errorPath:c,dataPathArr:l,opts:p}=t,d=a.let("data",(0,Wn._)`${t.data}${(0,Wn.getProperty)(r)}`,!0);i(d),e.errorPath=(0,Wn.str)`${c}${(0,N6.getErrorPath)(r,n,p.jsPropertySyntax)}`,e.parentDataProperty=(0,Wn._)`${r}`,e.dataPathArr=[...l,e.parentDataProperty]}if(u!==void 0){const c=u instanceof Wn.Name?u:a.let("data",u,!0);i(c),o!==void 0&&(e.propertyName=o)}s&&(e.dataTypes=s);function i(c){e.data=c,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,c]}}rs.extendSubschemaData=Nq;function qq(e,{jtdDiscriminator:t,jtdMetadata:r,compositeRule:n,createErrors:u,allErrors:s}){n!==void 0&&(e.compositeRule=n),u!==void 0&&(e.createErrors=u),s!==void 0&&(e.allErrors=s),e.jtdDiscriminator=t,e.jtdMetadata=r}rs.extendSubschemaMode=qq;var dr={},q6=function e(t,r){if(t===r)return!0;if(t&&r&&typeof t=="object"&&typeof r=="object"){if(t.constructor!==r.constructor)return!1;var n,u,s;if(Array.isArray(t)){if(n=t.length,n!=r.length)return!1;for(u=n;u--!==0;)if(!e(t[u],r[u]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if(s=Object.keys(t),n=s.length,n!==Object.keys(r).length)return!1;for(u=n;u--!==0;)if(!Object.prototype.hasOwnProperty.call(r,s[u]))return!1;for(u=n;u--!==0;){var o=s[u];if(!e(t[o],r[o]))return!1}return!0}return t!==t&&r!==r},W2={},xq={get exports(){return W2},set exports(e){W2=e}},Zu=xq.exports=function(e,t,r){typeof t=="function"&&(r=t,t={}),r=t.cb||r;var n=typeof r=="function"?r:r.pre||function(){},u=r.post||function(){};Tl(t,n,u,e,"",e)};Zu.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Zu.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Zu.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Zu.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function Tl(e,t,r,n,u,s,o,a,i,c){if(n&&typeof n=="object"&&!Array.isArray(n)){t(n,u,s,o,a,i,c);for(var l in n){var p=n[l];if(Array.isArray(p)){if(l in Zu.arrayKeywords)for(var d=0;dt+=x6(n)),t===1/0))return 1/0}return t}function R6(e,t="",r){r!==!1&&(t=sa(t));const n=e.parse(t);return j6(e,n)}dr.getFullPath=R6;function j6(e,t){return e.serialize(t).split("#")[0]+"#"}dr._getFullPath=j6;const Hq=/#\/?$/;function sa(e){return e?e.replace(Hq,""):""}dr.normalizeId=sa;function Wq(e,t,r){return r=sa(r),e.resolve(t,r)}dr.resolveUrl=Wq;const Jq=/^[a-z_][-a-z0-9._]*$/i;function zq(e,t){if(typeof e=="boolean")return{};const{schemaId:r,uriResolver:n}=this.opts,u=sa(e[r]||t),s={"":u},o=R6(n,u,!1),a={},i=new Set;return Lq(e,{allKeys:!0},(p,d,f,h)=>{if(h===void 0)return;const y=o+d;let A=s[h];typeof p[r]=="string"&&(A=m.call(this,p[r])),v.call(this,p.$anchor),v.call(this,p.$dynamicAnchor),s[d]=A;function m(C){const B=this.opts.uriResolver.resolve;if(C=sa(A?B(A,C):C),i.has(C))throw l(C);i.add(C);let T=this.refs[C];return typeof T=="string"&&(T=this.refs[T]),typeof T=="object"?c(p,T.schema,C):C!==sa(y)&&(C[0]==="#"?(c(p,a[C],C),a[C]=p):this.refs[C]=y),C}function v(C){if(typeof C=="string"){if(!Jq.test(C))throw new Error(`invalid anchor "${C}"`);m.call(this,`#${C}`)}}}),a;function c(p,d,f){if(d!==void 0&&!Mq(p,d))throw l(f)}function l(p){return new Error(`reference "${p}" resolves to more than one schema`)}}dr.getSchemaRefs=zq;Object.defineProperty(Tn,"__esModule",{value:!0});Tn.getData=Tn.KeywordCxt=Tn.validateFunctionCode=void 0;const M6=pa,sv=Qi,Sm=Au,pp=Qi,Kq=Wp,mi=zn,af=rs,Re=ut,We=ru,Xq=dr,Fu=Dt,Ua=Zi;function Yq(e){if(G6(e)&&(V6(e),U6(e))){ex(e);return}L6(e,()=>(0,M6.topBoolOrEmptySchema)(e))}Tn.validateFunctionCode=Yq;function L6({gen:e,validateName:t,schema:r,schemaEnv:n,opts:u},s){u.code.es5?e.func(t,(0,Re._)`${We.default.data}, ${We.default.valCxt}`,n.$async,()=>{e.code((0,Re._)`"use strict"; ${ov(r,u)}`),Qq(e,u),e.code(s)}):e.func(t,(0,Re._)`${We.default.data}, ${Zq(u)}`,n.$async,()=>e.code(ov(r,u)).code(s))}function Zq(e){return(0,Re._)`{${We.default.instancePath}="", ${We.default.parentData}, ${We.default.parentDataProperty}, ${We.default.rootData}=${We.default.data}${e.dynamicRef?(0,Re._)`, ${We.default.dynamicAnchors}={}`:Re.nil}}={}`}function Qq(e,t){e.if(We.default.valCxt,()=>{e.var(We.default.instancePath,(0,Re._)`${We.default.valCxt}.${We.default.instancePath}`),e.var(We.default.parentData,(0,Re._)`${We.default.valCxt}.${We.default.parentData}`),e.var(We.default.parentDataProperty,(0,Re._)`${We.default.valCxt}.${We.default.parentDataProperty}`),e.var(We.default.rootData,(0,Re._)`${We.default.valCxt}.${We.default.rootData}`),t.dynamicRef&&e.var(We.default.dynamicAnchors,(0,Re._)`${We.default.valCxt}.${We.default.dynamicAnchors}`)},()=>{e.var(We.default.instancePath,(0,Re._)`""`),e.var(We.default.parentData,(0,Re._)`undefined`),e.var(We.default.parentDataProperty,(0,Re._)`undefined`),e.var(We.default.rootData,We.default.data),t.dynamicRef&&e.var(We.default.dynamicAnchors,(0,Re._)`{}`)})}function ex(e){const{schema:t,opts:r,gen:n}=e;L6(e,()=>{r.$comment&&t.$comment&&W6(e),sx(e),n.let(We.default.vErrors,null),n.let(We.default.errors,0),r.unevaluated&&tx(e),H6(e),ix(e)})}function tx(e){const{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",(0,Re._)`${r}.evaluated`),t.if((0,Re._)`${e.evaluated}.dynamicProps`,()=>t.assign((0,Re._)`${e.evaluated}.props`,(0,Re._)`undefined`)),t.if((0,Re._)`${e.evaluated}.dynamicItems`,()=>t.assign((0,Re._)`${e.evaluated}.items`,(0,Re._)`undefined`))}function ov(e,t){const r=typeof e=="object"&&e[t.schemaId];return r&&(t.code.source||t.code.process)?(0,Re._)`/*# sourceURL=${r} */`:Re.nil}function rx(e,t){if(G6(e)&&(V6(e),U6(e))){nx(e,t);return}(0,M6.boolOrEmptySchema)(e,t)}function U6({schema:e,self:t}){if(typeof e=="boolean")return!e;for(const r in e)if(t.RULES.all[r])return!0;return!1}function G6(e){return typeof e.schema!="boolean"}function nx(e,t){const{schema:r,gen:n,opts:u}=e;u.$comment&&r.$comment&&W6(e),ox(e),ax(e);const s=n.const("_errs",We.default.errors);H6(e,s),n.var(t,(0,Re._)`${s} === ${We.default.errors}`)}function V6(e){(0,Fu.checkUnknownRules)(e),ux(e)}function H6(e,t){if(e.opts.jtd)return av(e,[],!1,t);const r=(0,sv.getSchemaTypes)(e.schema),n=(0,sv.coerceAndCheckDataType)(e,r);av(e,r,!n,t)}function ux(e){const{schema:t,errSchemaPath:r,opts:n,self:u}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,Fu.schemaHasRulesButRef)(t,u.RULES)&&u.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function sx(e){const{schema:t,opts:r}=e;t.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,Fu.checkStrictMode)(e,"default is ignored in the schema root")}function ox(e){const t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,Xq.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function ax(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function W6({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:u}){const s=r.$comment;if(u.$comment===!0)e.code((0,Re._)`${We.default.self}.logger.log(${s})`);else if(typeof u.$comment=="function"){const o=(0,Re.str)`${n}/$comment`,a=e.scopeValue("root",{ref:t.root});e.code((0,Re._)`${We.default.self}.opts.$comment(${s}, ${o}, ${a}.schema)`)}}function ix(e){const{gen:t,schemaEnv:r,validateName:n,ValidationError:u,opts:s}=e;r.$async?t.if((0,Re._)`${We.default.errors} === 0`,()=>t.return(We.default.data),()=>t.throw((0,Re._)`new ${u}(${We.default.vErrors})`)):(t.assign((0,Re._)`${n}.errors`,We.default.vErrors),s.unevaluated&&cx(e),t.return((0,Re._)`${We.default.errors} === 0`))}function cx({gen:e,evaluated:t,props:r,items:n}){r instanceof Re.Name&&e.assign((0,Re._)`${t}.props`,r),n instanceof Re.Name&&e.assign((0,Re._)`${t}.items`,n)}function av(e,t,r,n){const{gen:u,schema:s,data:o,allErrors:a,opts:i,self:c}=e,{RULES:l}=c;if(s.$ref&&(i.ignoreKeywordsWithRef||!(0,Fu.schemaHasRulesButRef)(s,l))){u.block(()=>K6(e,"$ref",l.all.$ref.definition));return}i.jtd||lx(e,t),u.block(()=>{for(const d of l.rules)p(d);p(l.post)});function p(d){(0,Sm.shouldUseGroup)(s,d)&&(d.type?(u.if((0,pp.checkDataType)(d.type,o,i.strictNumbers)),iv(e,d),t.length===1&&t[0]===d.type&&r&&(u.else(),(0,pp.reportTypeError)(e)),u.endIf()):iv(e,d),a||u.if((0,Re._)`${We.default.errors} === ${n||0}`))}}function iv(e,t){const{gen:r,schema:n,opts:{useDefaults:u}}=e;u&&(0,Kq.assignDefaults)(e,t.type),r.block(()=>{for(const s of t.rules)(0,Sm.shouldUseRule)(n,s)&&K6(e,s.keyword,s.definition,t.type)})}function lx(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(px(e,t),e.opts.allowUnionTypes||dx(e,t),fx(e,e.dataTypes))}function px(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(r=>{J6(e.dataTypes,r)||wm(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`)}),hx(e,t)}}function dx(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&wm(e,"use allowUnionTypes to allow union type keyword")}function fx(e,t){const r=e.self.RULES.all;for(const n in r){const u=r[n];if(typeof u=="object"&&(0,Sm.shouldUseRule)(e.schema,u)){const{type:s}=u.definition;s.length&&!s.some(o=>Dx(t,o))&&wm(e,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function Dx(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function J6(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function hx(e,t){const r=[];for(const n of e.dataTypes)J6(t,n)?r.push(n):t.includes("integer")&&n==="number"&&r.push("integer");e.dataTypes=r}function wm(e,t){const r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,(0,Fu.checkStrictMode)(e,t,e.opts.strictTypes)}let z6=class{constructor(t,r,n){if((0,mi.validateKeywordUsage)(t,r,n),this.gen=t.gen,this.allErrors=t.allErrors,this.keyword=n,this.data=t.data,this.schema=t.schema[n],this.$data=r.$data&&t.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,Fu.schemaRefOrVal)(t,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=t.schema,this.params={},this.it=t,this.def=r,this.$data)this.schemaCode=t.gen.const("vSchema",X6(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0,mi.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=t.gen.const("_errs",We.default.errors))}result(t,r,n){this.failResult((0,Re.not)(t),r,n)}failResult(t,r,n){this.gen.if(t),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(t,r){this.failResult((0,Re.not)(t),void 0,r)}fail(t){if(t===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(t),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(t){if(!this.$data)return this.fail(t);const{schemaCode:r}=this;this.fail((0,Re._)`${r} !== undefined && (${(0,Re.or)(this.invalid$data(),t)})`)}error(t,r,n){if(r){this.setParams(r),this._error(t,n),this.setParams({});return}this._error(t,n)}_error(t,r){(t?Ua.reportExtraError:Ua.reportError)(this,this.def.error,r)}$dataError(){(0,Ua.reportError)(this,this.def.$dataError||Ua.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Ua.resetErrorsCount)(this.gen,this.errsCount)}ok(t){this.allErrors||this.gen.if(t)}setParams(t,r){r?Object.assign(this.params,t):this.params=t}block$data(t,r,n=Re.nil){this.gen.block(()=>{this.check$data(t,n),r()})}check$data(t=Re.nil,r=Re.nil){if(!this.$data)return;const{gen:n,schemaCode:u,schemaType:s,def:o}=this;n.if((0,Re.or)((0,Re._)`${u} === undefined`,r)),t!==Re.nil&&n.assign(t,!0),(s.length||o.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),t!==Re.nil&&n.assign(t,!1)),n.else()}invalid$data(){const{gen:t,schemaCode:r,schemaType:n,def:u,it:s}=this;return(0,Re.or)(o(),a());function o(){if(n.length){if(!(r instanceof Re.Name))throw new Error("ajv implementation error");const i=Array.isArray(n)?n:[n];return(0,Re._)`${(0,pp.checkDataTypes)(i,r,s.opts.strictNumbers,pp.DataType.Wrong)}`}return Re.nil}function a(){if(u.validateSchema){const i=t.scopeValue("validate$data",{ref:u.validateSchema});return(0,Re._)`!${i}(${r})`}return Re.nil}}subschema(t,r){const n=(0,af.getSubschema)(this.it,t);(0,af.extendSubschemaData)(n,this.it,t),(0,af.extendSubschemaMode)(n,t);const u={...this.it,...n,items:void 0,props:void 0};return rx(u,r),u}mergeEvaluated(t,r){const{it:n,gen:u}=this;n.opts.unevaluated&&(n.props!==!0&&t.props!==void 0&&(n.props=Fu.mergeEvaluated.props(u,t.props,n.props,r)),n.items!==!0&&t.items!==void 0&&(n.items=Fu.mergeEvaluated.items(u,t.items,n.items,r)))}mergeValidEvaluated(t,r){const{it:n,gen:u}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return u.if(r,()=>this.mergeEvaluated(t,Re.Name)),!0}};Tn.KeywordCxt=z6;function K6(e,t,r,n){const u=new z6(e,r,t);"code"in r?r.code(u,n):u.$data&&r.validate?(0,mi.funcKeywordCode)(u,r):"macro"in r?(0,mi.macroKeywordCode)(u,r):(r.compile||r.validate)&&(0,mi.funcKeywordCode)(u,r)}const mx=/^\/(?:[^~]|~0|~1)*$/,Ex=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function X6(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let u,s;if(e==="")return We.default.rootData;if(e[0]==="/"){if(!mx.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);u=e,s=We.default.rootData}else{const c=Ex.exec(e);if(!c)throw new Error(`Invalid JSON-pointer: ${e}`);const l=+c[1];if(u=c[2],u==="#"){if(l>=t)throw new Error(i("property/index",l));return n[t-l]}if(l>t)throw new Error(i("data",l));if(s=r[t-l],!u)return s}let o=s;const a=u.split("/");for(const c of a)c&&(s=(0,Re._)`${s}${(0,Re.getProperty)((0,Fu.unescapeJsonPointer)(c))}`,o=(0,Re._)`${o} && ${s}`);return o;function i(c,l){return`Cannot access ${c} ${l} levels up, current level is ${t}`}}Tn.getData=X6;var ec={};Object.defineProperty(ec,"__esModule",{value:!0});let yx=class extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=!0}};ec.default=yx;var tc={};Object.defineProperty(tc,"__esModule",{value:!0});const cf=dr;let vx=class extends Error{constructor(t,r,n,u){super(u||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,cf.resolveUrl)(t,r,n),this.missingSchema=(0,cf.normalizeId)((0,cf.getFullPath)(t,this.missingRef))}};tc.default=vx;var Nr={};Object.defineProperty(Nr,"__esModule",{value:!0});Nr.resolveSchema=Nr.getCompilingSchema=Nr.resolveRef=Nr.compileSchema=Nr.SchemaEnv=void 0;const hn=ut,gx=ec,ws=ru,wn=dr,cv=Dt,Ax=Tn;let Jp=class{constructor(t){var r;this.refs={},this.dynamicAnchors={};let n;typeof t.schema=="object"&&(n=t.schema),this.schema=t.schema,this.schemaId=t.schemaId,this.root=t.root||this,this.baseId=(r=t.baseId)!==null&&r!==void 0?r:(0,wn.normalizeId)(n==null?void 0:n[t.schemaId||"$id"]),this.schemaPath=t.schemaPath,this.localRefs=t.localRefs,this.meta=t.meta,this.$async=n==null?void 0:n.$async,this.refs={}}};Nr.SchemaEnv=Jp;function _m(e){const t=Y6.call(this,e);if(t)return t;const r=(0,wn.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:n,lines:u}=this.opts.code,{ownProperties:s}=this.opts,o=new hn.CodeGen(this.scope,{es5:n,lines:u,ownProperties:s});let a;e.$async&&(a=o.scopeValue("Error",{ref:gx.default,code:(0,hn._)`require("ajv/dist/runtime/validation_error").default`}));const i=o.scopeName("validate");e.validateName=i;const c={gen:o,allErrors:this.opts.allErrors,data:ws.default.data,parentData:ws.default.parentData,parentDataProperty:ws.default.parentDataProperty,dataNames:[ws.default.data],dataPathArr:[hn.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:o.scopeValue("schema",this.opts.code.source===!0?{ref:e.schema,code:(0,hn.stringify)(e.schema)}:{ref:e.schema}),validateName:i,ValidationError:a,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:hn.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,hn._)`""`,opts:this.opts,self:this};let l;try{this._compilations.add(e),(0,Ax.validateFunctionCode)(c),o.optimize(this.opts.code.optimize);const p=o.toString();l=`${o.scopeRefs(ws.default.scope)}return ${p}`,this.opts.code.process&&(l=this.opts.code.process(l,e));const f=new Function(`${ws.default.self}`,`${ws.default.scope}`,l)(this,this.scope.get());if(this.scope.value(i,{ref:f}),f.errors=null,f.schema=e.schema,f.schemaEnv=e,e.$async&&(f.$async=!0),this.opts.code.source===!0&&(f.source={validateName:i,validateCode:p,scopeValues:o._values}),this.opts.unevaluated){const{props:h,items:y}=c;f.evaluated={props:h instanceof hn.Name?void 0:h,items:y instanceof hn.Name?void 0:y,dynamicProps:h instanceof hn.Name,dynamicItems:y instanceof hn.Name},f.source&&(f.source.evaluated=(0,hn.stringify)(f.evaluated))}return e.validate=f,e}catch(p){throw delete e.validate,delete e.validateName,l&&this.logger.error("Error compiling schema, function code:",l),p}finally{this._compilations.delete(e)}}Nr.compileSchema=_m;function Fx(e,t,r){var n;r=(0,wn.resolveUrl)(this.opts.uriResolver,t,r);const u=e.refs[r];if(u)return u;let s=Sx.call(this,e,r);if(s===void 0){const o=(n=e.localRefs)===null||n===void 0?void 0:n[r],{schemaId:a}=this.opts;o&&(s=new Jp({schema:o,schemaId:a,root:e,baseId:t}))}if(s!==void 0)return e.refs[r]=Cx.call(this,s)}Nr.resolveRef=Fx;function Cx(e){return(0,wn.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:_m.call(this,e)}function Y6(e){for(const t of this._compilations)if(bx(t,e))return t}Nr.getCompilingSchema=Y6;function bx(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function Sx(e,t){let r;for(;typeof(r=this.refs[t])=="string";)t=r;return r||this.schemas[t]||zp.call(this,e,t)}function zp(e,t){const r=this.opts.uriResolver.parse(t),n=(0,wn._getFullPath)(this.opts.uriResolver,r);let u=(0,wn.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===u)return lf.call(this,r,e);const s=(0,wn.normalizeId)(n),o=this.refs[s]||this.schemas[s];if(typeof o=="string"){const a=zp.call(this,e,o);return typeof(a==null?void 0:a.schema)!="object"?void 0:lf.call(this,r,a)}if(typeof(o==null?void 0:o.schema)=="object"){if(o.validate||_m.call(this,o),s===(0,wn.normalizeId)(t)){const{schema:a}=o,{schemaId:i}=this.opts,c=a[i];return c&&(u=(0,wn.resolveUrl)(this.opts.uriResolver,u,c)),new Jp({schema:a,schemaId:i,root:e,baseId:u})}return lf.call(this,r,o)}}Nr.resolveSchema=zp;const wx=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function lf(e,{baseId:t,schema:r,root:n}){var u;if(((u=e.fragment)===null||u===void 0?void 0:u[0])!=="/")return;for(const a of e.fragment.slice(1).split("/")){if(typeof r=="boolean")return;const i=r[(0,cv.unescapeFragment)(a)];if(i===void 0)return;r=i;const c=typeof r=="object"&&r[this.opts.schemaId];!wx.has(a)&&c&&(t=(0,wn.resolveUrl)(this.opts.uriResolver,t,c))}let s;if(typeof r!="boolean"&&r.$ref&&!(0,cv.schemaHasRulesButRef)(r,this.RULES)){const a=(0,wn.resolveUrl)(this.opts.uriResolver,t,r.$ref);s=zp.call(this,n,a)}const{schemaId:o}=this.opts;if(s=s||new Jp({schema:r,schemaId:o,root:n,baseId:t}),s.schema!==s.root.schema)return s}const _x="https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",Bx="Meta-schema for $data reference (JSON AnySchema extension proposal)",Tx="object",$x=["$data"],Px={$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},kx=!1,Ox={$id:_x,description:Bx,type:Tx,required:$x,properties:Px,additionalProperties:kx};var Bm={},dp={},Ix={get exports(){return dp},set exports(e){dp=e}};/** @license URI.js v4.4.1 (c) 2011 Gary Court. License: http://github.com/garycourt/uri-js */(function(e,t){(function(r,n){n(t)})(Vs,function(r){function n(){for(var Q=arguments.length,V=Array(Q),te=0;te1){V[0]=V[0].slice(0,-1);for(var ie=V.length-1,ae=1;ae= 0x80 (not a basic code point)","invalid-input":"Invalid input"},ee=y-A,K=Math.floor,ue=String.fromCharCode;function oe(Q){throw new RangeError(G[Q])}function de(Q,V){for(var te=[],ie=Q.length;ie--;)te[ie]=V(Q[ie]);return te}function he(Q,V){var te=Q.split("@"),ie="";te.length>1&&(ie=te[0]+"@",Q=te[1]),Q=Q.replace(q,".");var ae=Q.split("."),xe=de(ae,V).join(".");return ie+xe}function fe(Q){for(var V=[],te=0,ie=Q.length;te=55296&&ae<=56319&&te>1,V+=K(V/te);V>ee*m>>1;ae+=y)V=K(V/ee);return K(ae+(ee+1)*V/(V+v))},E=function(V){var te=[],ie=V.length,ae=0,xe=T,Le=B,ot=V.lastIndexOf(N);ot<0&&(ot=0);for(var ct=0;ct=128&&oe("not-basic"),te.push(V.charCodeAt(ct));for(var $t=ot>0?ot+1:0;$t=ie&&oe("invalid-input");var He=pe(V.charCodeAt($t++));(He>=y||He>K((h-ae)/Et))&&oe("overflow"),ae+=He*Et;var ht=Pt<=Le?A:Pt>=Le+m?m:Pt-Le;if(HeK(h/jt)&&oe("overflow"),Et*=jt}var vt=te.length+1;Le=O(ae-et,vt,et==0),K(ae/vt)>h-xe&&oe("overflow"),xe+=K(ae/vt),ae%=vt,te.splice(ae++,0,xe)}return String.fromCodePoint.apply(String,te)},F=function(V){var te=[];V=fe(V);var ie=V.length,ae=T,xe=0,Le=B,ot=!0,ct=!1,$t=void 0;try{for(var et=V[Symbol.iterator](),Et;!(ot=(Et=et.next()).done);ot=!0){var Pt=Et.value;Pt<128&&te.push(ue(Pt))}}catch(xu){ct=!0,$t=xu}finally{try{!ot&&et.return&&et.return()}finally{if(ct)throw $t}}var He=te.length,ht=He;for(He&&te.push(N);ht=ae&&auK((h-xe)/br)&&oe("overflow"),xe+=(jt-ae)*br,ae=jt;var Xt=!0,iu=!1,pn=void 0;try{for(var Fs=V[Symbol.iterator](),kc;!(Xt=(kc=Fs.next()).done);Xt=!0){var Oc=kc.value;if(Och&&oe("overflow"),Oc==ae){for(var fo=xe,cu=y;;cu+=y){var Do=cu<=Le?A:cu>=Le+m?m:cu-Le;if(fo>6|192).toString(16).toUpperCase()+"%"+(V&63|128).toString(16).toUpperCase():te="%"+(V>>12|224).toString(16).toUpperCase()+"%"+(V>>6&63|128).toString(16).toUpperCase()+"%"+(V&63|128).toString(16).toUpperCase(),te}function I(Q){for(var V="",te=0,ie=Q.length;te=194&&ae<224){if(ie-te>=6){var xe=parseInt(Q.substr(te+4,2),16);V+=String.fromCharCode((ae&31)<<6|xe&63)}else V+=Q.substr(te,6);te+=6}else if(ae>=224){if(ie-te>=9){var Le=parseInt(Q.substr(te+4,2),16),ot=parseInt(Q.substr(te+7,2),16);V+=String.fromCharCode((ae&15)<<12|(Le&63)<<6|ot&63)}else V+=Q.substr(te,9);te+=9}else V+=Q.substr(te,3),te+=3}return V}function $(Q,V){function te(ie){var ae=I(ie);return ae.match(V.UNRESERVED)?ae:ie}return Q.scheme&&(Q.scheme=String(Q.scheme).replace(V.PCT_ENCODED,te).toLowerCase().replace(V.NOT_SCHEME,"")),Q.userinfo!==void 0&&(Q.userinfo=String(Q.userinfo).replace(V.PCT_ENCODED,te).replace(V.NOT_USERINFO,w).replace(V.PCT_ENCODED,o)),Q.host!==void 0&&(Q.host=String(Q.host).replace(V.PCT_ENCODED,te).toLowerCase().replace(V.NOT_HOST,w).replace(V.PCT_ENCODED,o)),Q.path!==void 0&&(Q.path=String(Q.path).replace(V.PCT_ENCODED,te).replace(Q.scheme?V.NOT_PATH:V.NOT_PATH_NOSCHEME,w).replace(V.PCT_ENCODED,o)),Q.query!==void 0&&(Q.query=String(Q.query).replace(V.PCT_ENCODED,te).replace(V.NOT_QUERY,w).replace(V.PCT_ENCODED,o)),Q.fragment!==void 0&&(Q.fragment=String(Q.fragment).replace(V.PCT_ENCODED,te).replace(V.NOT_FRAGMENT,w).replace(V.PCT_ENCODED,o)),Q}function M(Q){return Q.replace(/^0*(.*)/,"$1")||"0"}function L(Q,V){var te=Q.match(V.IPV4ADDRESS)||[],ie=d(te,2),ae=ie[1];return ae?ae.split(".").map(M).join("."):Q}function Y(Q,V){var te=Q.match(V.IPV6ADDRESS)||[],ie=d(te,3),ae=ie[1],xe=ie[2];if(ae){for(var Le=ae.toLowerCase().split("::").reverse(),ot=d(Le,2),ct=ot[0],$t=ot[1],et=$t?$t.split(":").map(M):[],Et=ct.split(":").map(M),Pt=V.IPV4ADDRESS.test(Et[Et.length-1]),He=Pt?7:8,ht=Et.length-He,jt=Array(He),vt=0;vt1){var ln=jt.slice(0,Yr.index),au=jt.slice(Yr.index+Yr.length);Zr=ln.join(":")+"::"+au.join(":")}else Zr=jt.join(":");return xe&&(Zr+="%"+xe),Zr}else return Q}var be=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,Ne="".match(/(){0}/)[1]===void 0;function Ve(Q){var V=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},te={},ie=V.iri!==!1?p:l;V.reference==="suffix"&&(Q=(V.scheme?V.scheme+":":"")+"//"+Q);var ae=Q.match(be);if(ae){Ne?(te.scheme=ae[1],te.userinfo=ae[3],te.host=ae[4],te.port=parseInt(ae[5],10),te.path=ae[6]||"",te.query=ae[7],te.fragment=ae[8],isNaN(te.port)&&(te.port=ae[5])):(te.scheme=ae[1]||void 0,te.userinfo=Q.indexOf("@")!==-1?ae[3]:void 0,te.host=Q.indexOf("//")!==-1?ae[4]:void 0,te.port=parseInt(ae[5],10),te.path=ae[6]||"",te.query=Q.indexOf("?")!==-1?ae[7]:void 0,te.fragment=Q.indexOf("#")!==-1?ae[8]:void 0,isNaN(te.port)&&(te.port=Q.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?ae[4]:void 0)),te.host&&(te.host=Y(L(te.host,ie),ie)),te.scheme===void 0&&te.userinfo===void 0&&te.host===void 0&&te.port===void 0&&!te.path&&te.query===void 0?te.reference="same-document":te.scheme===void 0?te.reference="relative":te.fragment===void 0?te.reference="absolute":te.reference="uri",V.reference&&V.reference!=="suffix"&&V.reference!==te.reference&&(te.error=te.error||"URI is not a "+V.reference+" reference.");var xe=b[(V.scheme||te.scheme||"").toLowerCase()];if(!V.unicodeSupport&&(!xe||!xe.unicodeSupport)){if(te.host&&(V.domainHost||xe&&xe.domainHost))try{te.host=P.toASCII(te.host.replace(ie.PCT_ENCODED,I).toLowerCase())}catch(Le){te.error=te.error||"Host's domain name can not be converted to ASCII via punycode: "+Le}$(te,l)}else $(te,ie);xe&&xe.parse&&xe.parse(te,V)}else te.error=te.error||"URI can not be parsed.";return te}function Me(Q,V){var te=V.iri!==!1?p:l,ie=[];return Q.userinfo!==void 0&&(ie.push(Q.userinfo),ie.push("@")),Q.host!==void 0&&ie.push(Y(L(String(Q.host),te),te).replace(te.IPV6ADDRESS,function(ae,xe,Le){return"["+xe+(Le?"%25"+Le:"")+"]"})),(typeof Q.port=="number"||typeof Q.port=="string")&&(ie.push(":"),ie.push(String(Q.port))),ie.length?ie.join(""):void 0}var Fe=/^\.\.?\//,qe=/^\/\.(\/|$)/,Pe=/^\/\.\.(\/|$)/,Be=/^\/?(?:.|\n)*?(?=\/|$)/;function le(Q){for(var V=[];Q.length;)if(Q.match(Fe))Q=Q.replace(Fe,"");else if(Q.match(qe))Q=Q.replace(qe,"/");else if(Q.match(Pe))Q=Q.replace(Pe,"/"),V.pop();else if(Q==="."||Q==="..")Q="";else{var te=Q.match(Be);if(te){var ie=te[0];Q=Q.slice(ie.length),V.push(ie)}else throw new Error("Unexpected dot segment condition")}return V.join("")}function Te(Q){var V=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},te=V.iri?p:l,ie=[],ae=b[(V.scheme||Q.scheme||"").toLowerCase()];if(ae&&ae.serialize&&ae.serialize(Q,V),Q.host&&!te.IPV6ADDRESS.test(Q.host)){if(V.domainHost||ae&&ae.domainHost)try{Q.host=V.iri?P.toUnicode(Q.host):P.toASCII(Q.host.replace(te.PCT_ENCODED,I).toLowerCase())}catch(ot){Q.error=Q.error||"Host's domain name can not be converted to "+(V.iri?"Unicode":"ASCII")+" via punycode: "+ot}}$(Q,te),V.reference!=="suffix"&&Q.scheme&&(ie.push(Q.scheme),ie.push(":"));var xe=Me(Q,V);if(xe!==void 0&&(V.reference!=="suffix"&&ie.push("//"),ie.push(xe),Q.path&&Q.path.charAt(0)!=="/"&&ie.push("/")),Q.path!==void 0){var Le=Q.path;!V.absolutePath&&(!ae||!ae.absolutePath)&&(Le=le(Le)),xe===void 0&&(Le=Le.replace(/^\/\//,"/%2F")),ie.push(Le)}return Q.query!==void 0&&(ie.push("?"),ie.push(Q.query)),Q.fragment!==void 0&&(ie.push("#"),ie.push(Q.fragment)),ie.join("")}function W(Q,V){var te=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},ie=arguments[3],ae={};return ie||(Q=Ve(Te(Q,te),te),V=Ve(Te(V,te),te)),te=te||{},!te.tolerant&&V.scheme?(ae.scheme=V.scheme,ae.userinfo=V.userinfo,ae.host=V.host,ae.port=V.port,ae.path=le(V.path||""),ae.query=V.query):(V.userinfo!==void 0||V.host!==void 0||V.port!==void 0?(ae.userinfo=V.userinfo,ae.host=V.host,ae.port=V.port,ae.path=le(V.path||""),ae.query=V.query):(V.path?(V.path.charAt(0)==="/"?ae.path=le(V.path):((Q.userinfo!==void 0||Q.host!==void 0||Q.port!==void 0)&&!Q.path?ae.path="/"+V.path:Q.path?ae.path=Q.path.slice(0,Q.path.lastIndexOf("/")+1)+V.path:ae.path=V.path,ae.path=le(ae.path)),ae.query=V.query):(ae.path=Q.path,V.query!==void 0?ae.query=V.query:ae.query=Q.query),ae.userinfo=Q.userinfo,ae.host=Q.host,ae.port=Q.port),ae.scheme=Q.scheme),ae.fragment=V.fragment,ae}function se(Q,V,te){var ie=i({scheme:"null"},te);return Te(W(Ve(Q,ie),Ve(V,ie),ie,!0),ie)}function ce(Q,V){return typeof Q=="string"?Q=Te(Ve(Q,V),V):s(Q)==="object"&&(Q=Ve(Te(Q,V),V)),Q}function k(Q,V,te){return typeof Q=="string"?Q=Te(Ve(Q,te),te):s(Q)==="object"&&(Q=Te(Q,te)),typeof V=="string"?V=Te(Ve(V,te),te):s(V)==="object"&&(V=Te(V,te)),Q===V}function S(Q,V){return Q&&Q.toString().replace(!V||!V.iri?l.ESCAPE:p.ESCAPE,w)}function _(Q,V){return Q&&Q.toString().replace(!V||!V.iri?l.PCT_ENCODED:p.PCT_ENCODED,I)}var x={scheme:"http",domainHost:!0,parse:function(V,te){return V.host||(V.error=V.error||"HTTP URIs must have a host."),V},serialize:function(V,te){var ie=String(V.scheme).toLowerCase()==="https";return(V.port===(ie?443:80)||V.port==="")&&(V.port=void 0),V.path||(V.path="/"),V}},U={scheme:"https",domainHost:x.domainHost,parse:x.parse,serialize:x.serialize};function X(Q){return typeof Q.secure=="boolean"?Q.secure:String(Q.scheme).toLowerCase()==="wss"}var re={scheme:"ws",domainHost:!0,parse:function(V,te){var ie=V;return ie.secure=X(ie),ie.resourceName=(ie.path||"/")+(ie.query?"?"+ie.query:""),ie.path=void 0,ie.query=void 0,ie},serialize:function(V,te){if((V.port===(X(V)?443:80)||V.port==="")&&(V.port=void 0),typeof V.secure=="boolean"&&(V.scheme=V.secure?"wss":"ws",V.secure=void 0),V.resourceName){var ie=V.resourceName.split("?"),ae=d(ie,2),xe=ae[0],Le=ae[1];V.path=xe&&xe!=="/"?xe:void 0,V.query=Le,V.resourceName=void 0}return V.fragment=void 0,V}},ve={scheme:"wss",domainHost:re.domainHost,parse:re.parse,serialize:re.serialize},Se={},Oe="[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]",Ie="[0-9A-Fa-f]",Ke=u(u("%[EFef]"+Ie+"%"+Ie+Ie+"%"+Ie+Ie)+"|"+u("%[89A-Fa-f]"+Ie+"%"+Ie+Ie)+"|"+u("%"+Ie+Ie)),Cr="[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]",xn="[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",su=n(xn,'[\\"\\\\]'),lo="[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]",Nu=new RegExp(Oe,"g"),Xr=new RegExp(Ke,"g"),Ra=new RegExp(n("[^]",Cr,"[\\.]",'[\\"]',su),"g"),po=new RegExp(n("[^]",Oe,lo),"g"),ja=po;function ou(Q){var V=I(Q);return V.match(Nu)?V:Q}var Tc={scheme:"mailto",parse:function(V,te){var ie=V,ae=ie.to=ie.path?ie.path.split(","):[];if(ie.path=void 0,ie.query){for(var xe=!1,Le={},ot=ie.query.split("&"),ct=0,$t=ot.length;ct<$t;++ct){var et=ot[ct].split("=");switch(et[0]){case"to":for(var Et=et[1].split(","),Pt=0,He=Et.length;Ptnew RegExp(z,O);f.code="new RegExp";const h=["removeAdditional","useDefaults","coerceTypes"],y=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),A={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},m={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},v=200;function C(z){var O,E,F,D,g,P,b,w,I,$,M,L,Y,be,Ne,Ve,Me,Fe,qe,Pe,Be,le,Te,W,se;const ce=z.strict,k=(O=z.code)===null||O===void 0?void 0:O.optimize,S=k===!0||k===void 0?1:k||0,_=(F=(E=z.code)===null||E===void 0?void 0:E.regExp)!==null&&F!==void 0?F:f,x=(D=z.uriResolver)!==null&&D!==void 0?D:d.default;return{strictSchema:(P=(g=z.strictSchema)!==null&&g!==void 0?g:ce)!==null&&P!==void 0?P:!0,strictNumbers:(w=(b=z.strictNumbers)!==null&&b!==void 0?b:ce)!==null&&w!==void 0?w:!0,strictTypes:($=(I=z.strictTypes)!==null&&I!==void 0?I:ce)!==null&&$!==void 0?$:"log",strictTuples:(L=(M=z.strictTuples)!==null&&M!==void 0?M:ce)!==null&&L!==void 0?L:"log",strictRequired:(be=(Y=z.strictRequired)!==null&&Y!==void 0?Y:ce)!==null&&be!==void 0?be:!1,code:z.code?{...z.code,optimize:S,regExp:_}:{optimize:S,regExp:_},loopRequired:(Ne=z.loopRequired)!==null&&Ne!==void 0?Ne:v,loopEnum:(Ve=z.loopEnum)!==null&&Ve!==void 0?Ve:v,meta:(Me=z.meta)!==null&&Me!==void 0?Me:!0,messages:(Fe=z.messages)!==null&&Fe!==void 0?Fe:!0,inlineRefs:(qe=z.inlineRefs)!==null&&qe!==void 0?qe:!0,schemaId:(Pe=z.schemaId)!==null&&Pe!==void 0?Pe:"$id",addUsedSchema:(Be=z.addUsedSchema)!==null&&Be!==void 0?Be:!0,validateSchema:(le=z.validateSchema)!==null&&le!==void 0?le:!0,validateFormats:(Te=z.validateFormats)!==null&&Te!==void 0?Te:!0,unicodeRegExp:(W=z.unicodeRegExp)!==null&&W!==void 0?W:!0,int32range:(se=z.int32range)!==null&&se!==void 0?se:!0,uriResolver:x}}class B{constructor(O={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,O=this.opts={...O,...C(O)};const{es5:E,lines:F}=this.opts.code;this.scope=new a.ValueScope({scope:{},prefixes:y,es5:E,lines:F}),this.logger=K(O.logger);const D=O.validateFormats;O.validateFormats=!1,this.RULES=(0,s.getRules)(),T.call(this,A,O,"NOT SUPPORTED"),T.call(this,m,O,"DEPRECATED","warn"),this._metaOpts=G.call(this),O.formats&&J.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),O.keywords&&q.call(this,O.keywords),typeof O.meta=="object"&&this.addMetaSchema(O.meta),R.call(this),O.validateFormats=D}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){const{$data:O,meta:E,schemaId:F}=this.opts;let D=p;F==="id"&&(D={...p},D.id=D.$id,delete D.$id),E&&O&&this.addMetaSchema(D,D[F],!1)}defaultMeta(){const{meta:O,schemaId:E}=this.opts;return this.opts.defaultMeta=typeof O=="object"?O[E]||O:void 0}validate(O,E){let F;if(typeof O=="string"){if(F=this.getSchema(O),!F)throw new Error(`no schema with key or ref "${O}"`)}else F=this.compile(O);const D=F(E);return"$async"in F||(this.errors=F.errors),D}compile(O,E){const F=this._addSchema(O,E);return F.validate||this._compileSchemaEnv(F)}compileAsync(O,E){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");const{loadSchema:F}=this.opts;return D.call(this,O,E);async function D($,M){await g.call(this,$.$schema);const L=this._addSchema($,M);return L.validate||P.call(this,L)}async function g($){$&&!this.getSchema($)&&await D.call(this,{$ref:$},!0)}async function P($){try{return this._compileSchemaEnv($)}catch(M){if(!(M instanceof u.default))throw M;return b.call(this,M),await w.call(this,M.missingSchema),P.call(this,$)}}function b({missingSchema:$,missingRef:M}){if(this.refs[$])throw new Error(`AnySchema ${$} is loaded but ${M} cannot be resolved`)}async function w($){const M=await I.call(this,$);this.refs[$]||await g.call(this,M.$schema),this.refs[$]||this.addSchema(M,$,E)}async function I($){const M=this._loading[$];if(M)return M;try{return await(this._loading[$]=F($))}finally{delete this._loading[$]}}}addSchema(O,E,F,D=this.opts.validateSchema){if(Array.isArray(O)){for(const P of O)this.addSchema(P,void 0,F,D);return this}let g;if(typeof O=="object"){const{schemaId:P}=this.opts;if(g=O[P],g!==void 0&&typeof g!="string")throw new Error(`schema ${P} must be string`)}return E=(0,i.normalizeId)(E||g),this._checkUnique(E),this.schemas[E]=this._addSchema(O,F,E,D,!0),this}addMetaSchema(O,E,F=this.opts.validateSchema){return this.addSchema(O,E,!0,F),this}validateSchema(O,E){if(typeof O=="boolean")return!0;let F;if(F=O.$schema,F!==void 0&&typeof F!="string")throw new Error("$schema must be a string");if(F=F||this.opts.defaultMeta||this.defaultMeta(),!F)return this.logger.warn("meta-schema not available"),this.errors=null,!0;const D=this.validate(F,O);if(!D&&E){const g="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(g);else throw new Error(g)}return D}getSchema(O){let E;for(;typeof(E=N.call(this,O))=="string";)O=E;if(E===void 0){const{schemaId:F}=this.opts,D=new o.SchemaEnv({schema:{},schemaId:F});if(E=o.resolveSchema.call(this,D,O),!E)return;this.refs[O]=E}return E.validate||this._compileSchemaEnv(E)}removeSchema(O){if(O instanceof RegExp)return this._removeAllSchemas(this.schemas,O),this._removeAllSchemas(this.refs,O),this;switch(typeof O){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{const E=N.call(this,O);return typeof E=="object"&&this._cache.delete(E.schema),delete this.schemas[O],delete this.refs[O],this}case"object":{const E=O;this._cache.delete(E);let F=O[this.opts.schemaId];return F&&(F=(0,i.normalizeId)(F),delete this.schemas[F],delete this.refs[F]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(O){for(const E of O)this.addKeyword(E);return this}addKeyword(O,E){let F;if(typeof O=="string")F=O,typeof E=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),E.keyword=F);else if(typeof O=="object"&&E===void 0){if(E=O,F=E.keyword,Array.isArray(F)&&!F.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(oe.call(this,F,E),!E)return(0,l.eachItem)(F,g=>de.call(this,g)),this;fe.call(this,E);const D={...E,type:(0,c.getJSONTypes)(E.type),schemaType:(0,c.getJSONTypes)(E.schemaType)};return(0,l.eachItem)(F,D.type.length===0?g=>de.call(this,g,D):g=>D.type.forEach(P=>de.call(this,g,D,P))),this}getKeyword(O){const E=this.RULES.all[O];return typeof E=="object"?E.definition:!!E}removeKeyword(O){const{RULES:E}=this;delete E.keywords[O],delete E.all[O];for(const F of E.rules){const D=F.rules.findIndex(g=>g.keyword===O);D>=0&&F.rules.splice(D,1)}return this}addFormat(O,E){return typeof E=="string"&&(E=new RegExp(E)),this.formats[O]=E,this}errorsText(O=this.errors,{separator:E=", ",dataVar:F="data"}={}){return!O||O.length===0?"No errors":O.map(D=>`${F}${D.instancePath} ${D.message}`).reduce((D,g)=>D+E+g)}$dataMetaSchema(O,E){const F=this.RULES.all;O=JSON.parse(JSON.stringify(O));for(const D of E){const g=D.split("/").slice(1);let P=O;for(const b of g)P=P[b];for(const b in F){const w=F[b];if(typeof w!="object")continue;const{$data:I}=w.definition,$=P[b];I&&$&&(P[b]=pe($))}}return O}_removeAllSchemas(O,E){for(const F in O){const D=O[F];(!E||E.test(F))&&(typeof D=="string"?delete O[F]:D&&!D.meta&&(this._cache.delete(D.schema),delete O[F]))}}_addSchema(O,E,F,D=this.opts.validateSchema,g=this.opts.addUsedSchema){let P;const{schemaId:b}=this.opts;if(typeof O=="object")P=O[b];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof O!="boolean")throw new Error("schema must be object or boolean")}let w=this._cache.get(O);if(w!==void 0)return w;F=(0,i.normalizeId)(P||F);const I=i.getSchemaRefs.call(this,O,F);return w=new o.SchemaEnv({schema:O,schemaId:b,meta:E,baseId:F,localRefs:I}),this._cache.set(w.schema,w),g&&!F.startsWith("#")&&(F&&this._checkUnique(F),this.refs[F]=w),D&&this.validateSchema(O,!0),w}_checkUnique(O){if(this.schemas[O]||this.refs[O])throw new Error(`schema with key or id "${O}" already exists`)}_compileSchemaEnv(O){if(O.meta?this._compileMetaSchema(O):o.compileSchema.call(this,O),!O.validate)throw new Error("ajv implementation error");return O.validate}_compileMetaSchema(O){const E=this.opts;this.opts=this._metaOpts;try{o.compileSchema.call(this,O)}finally{this.opts=E}}}e.default=B,B.ValidationError=n.default,B.MissingRefError=u.default;function T(z,O,E,F="error"){for(const D in z){const g=D;g in O&&this.logger[F](`${E}: option ${D}. ${z[g]}`)}}function N(z){return z=(0,i.normalizeId)(z),this.schemas[z]||this.refs[z]}function R(){const z=this.opts.schemas;if(z)if(Array.isArray(z))this.addSchema(z);else for(const O in z)this.addSchema(z[O],O)}function J(){for(const z in this.opts.formats){const O=this.opts.formats[z];O&&this.addFormat(z,O)}}function q(z){if(Array.isArray(z)){this.addVocabulary(z);return}this.logger.warn("keywords option as map is deprecated, pass array");for(const O in z){const E=z[O];E.keyword||(E.keyword=O),this.addKeyword(E)}}function G(){const z={...this.opts};for(const O of h)delete z[O];return z}const ee={log(){},warn(){},error(){}};function K(z){if(z===!1)return ee;if(z===void 0)return console;if(z.log&&z.warn&&z.error)return z;throw new Error("logger must implement log, warn and error methods")}const ue=/^[a-z_$][a-z0-9_$:-]*$/i;function oe(z,O){const{RULES:E}=this;if((0,l.eachItem)(z,F=>{if(E.keywords[F])throw new Error(`Keyword ${F} is already defined`);if(!ue.test(F))throw new Error(`Keyword ${F} has invalid name`)}),!!O&&O.$data&&!("code"in O||"validate"in O))throw new Error('$data keyword must have "code" or "validate" function')}function de(z,O,E){var F;const D=O==null?void 0:O.post;if(E&&D)throw new Error('keyword with "post" flag cannot have "type"');const{RULES:g}=this;let P=D?g.post:g.rules.find(({type:w})=>w===E);if(P||(P={type:E,rules:[]},g.rules.push(P)),g.keywords[z]=!0,!O)return;const b={keyword:z,definition:{...O,type:(0,c.getJSONTypes)(O.type),schemaType:(0,c.getJSONTypes)(O.schemaType)}};O.before?he.call(this,P,b,O.before):P.rules.push(b),g.all[z]=b,(F=O.implements)===null||F===void 0||F.forEach(w=>this.addKeyword(w))}function he(z,O,E){const F=z.rules.findIndex(D=>D.keyword===E);F>=0?z.rules.splice(F,0,O):(z.rules.push(O),this.logger.warn(`rule ${E} is not defined`))}function fe(z){let{metaSchema:O}=z;O!==void 0&&(z.$data&&this.opts.$data&&(O=pe(O)),z.validateSchema=this.compile(O,!0))}const ge={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function pe(z){return{anyOf:[z,ge]}}})(B6);var Tm={},$m={},Pm={};Object.defineProperty(Pm,"__esModule",{value:!0});const Nx={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Pm.default=Nx;var Zs={};Object.defineProperty(Zs,"__esModule",{value:!0});Zs.callRef=Zs.getValidate=void 0;const qx=tc,lv=tt,Tr=ut,Ao=ru,pv=Nr,Vc=Dt,xx={keyword:"$ref",schemaType:"string",code(e){const{gen:t,schema:r,it:n}=e,{baseId:u,schemaEnv:s,validateName:o,opts:a,self:i}=n,{root:c}=s;if((r==="#"||r==="#/")&&u===c.baseId)return p();const l=pv.resolveRef.call(i,c,u,r);if(l===void 0)throw new qx.default(n.opts.uriResolver,u,r);if(l instanceof pv.SchemaEnv)return d(l);return f(l);function p(){if(s===c)return $l(e,o,s,s.$async);const h=t.scopeValue("root",{ref:c});return $l(e,(0,Tr._)`${h}.validate`,c,c.$async)}function d(h){const y=Q6(e,h);$l(e,y,h,h.$async)}function f(h){const y=t.scopeValue("schema",a.code.source===!0?{ref:h,code:(0,Tr.stringify)(h)}:{ref:h}),A=t.name("valid"),m=e.subschema({schema:h,dataTypes:[],schemaPath:Tr.nil,topSchemaRef:y,errSchemaPath:r},A);e.mergeEvaluated(m),e.ok(A)}}};function Q6(e,t){const{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0,Tr._)`${r.scopeValue("wrapper",{ref:t})}.validate`}Zs.getValidate=Q6;function $l(e,t,r,n){const{gen:u,it:s}=e,{allErrors:o,schemaEnv:a,opts:i}=s,c=i.passContext?Ao.default.this:Tr.nil;n?l():p();function l(){if(!a.$async)throw new Error("async schema referenced by sync schema");const h=u.let("valid");u.try(()=>{u.code((0,Tr._)`await ${(0,lv.callValidateCode)(e,t,c)}`),f(t),o||u.assign(h,!0)},y=>{u.if((0,Tr._)`!(${y} instanceof ${s.ValidationError})`,()=>u.throw(y)),d(y),o||u.assign(h,!1)}),e.ok(h)}function p(){e.result((0,lv.callValidateCode)(e,t,c),()=>f(t),()=>d(t))}function d(h){const y=(0,Tr._)`${h}.errors`;u.assign(Ao.default.vErrors,(0,Tr._)`${Ao.default.vErrors} === null ? ${y} : ${Ao.default.vErrors}.concat(${y})`),u.assign(Ao.default.errors,(0,Tr._)`${Ao.default.vErrors}.length`)}function f(h){var y;if(!s.opts.unevaluated)return;const A=(y=r==null?void 0:r.validate)===null||y===void 0?void 0:y.evaluated;if(s.props!==!0)if(A&&!A.dynamicProps)A.props!==void 0&&(s.props=Vc.mergeEvaluated.props(u,A.props,s.props));else{const m=u.var("props",(0,Tr._)`${h}.evaluated.props`);s.props=Vc.mergeEvaluated.props(u,m,s.props,Tr.Name)}if(s.items!==!0)if(A&&!A.dynamicItems)A.items!==void 0&&(s.items=Vc.mergeEvaluated.items(u,A.items,s.items));else{const m=u.var("items",(0,Tr._)`${h}.evaluated.items`);s.items=Vc.mergeEvaluated.items(u,m,s.items,Tr.Name)}}}Zs.callRef=$l;Zs.default=xx;Object.defineProperty($m,"__esModule",{value:!0});const Rx=Pm,jx=Zs,Mx=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",Rx.default,jx.default];$m.default=Mx;var km={},Om={};Object.defineProperty(Om,"__esModule",{value:!0});const fp=ut,Lu=fp.operators,Dp={maximum:{okStr:"<=",ok:Lu.LTE,fail:Lu.GT},minimum:{okStr:">=",ok:Lu.GTE,fail:Lu.LT},exclusiveMaximum:{okStr:"<",ok:Lu.LT,fail:Lu.GTE},exclusiveMinimum:{okStr:">",ok:Lu.GT,fail:Lu.LTE}},Lx={message:({keyword:e,schemaCode:t})=>(0,fp.str)`must be ${Dp[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,fp._)`{comparison: ${Dp[e].okStr}, limit: ${t}}`},Ux={keyword:Object.keys(Dp),type:"number",schemaType:"number",$data:!0,error:Lx,code(e){const{keyword:t,data:r,schemaCode:n}=e;e.fail$data((0,fp._)`${r} ${Dp[t].fail} ${n} || isNaN(${r})`)}};Om.default=Ux;var Im={};Object.defineProperty(Im,"__esModule",{value:!0});const Ei=ut,Gx={message:({schemaCode:e})=>(0,Ei.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0,Ei._)`{multipleOf: ${e}}`},Vx={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:Gx,code(e){const{gen:t,data:r,schemaCode:n,it:u}=e,s=u.opts.multipleOfPrecision,o=t.let("res"),a=s?(0,Ei._)`Math.abs(Math.round(${o}) - ${o}) > 1e-${s}`:(0,Ei._)`${o} !== parseInt(${o})`;e.fail$data((0,Ei._)`(${n} === 0 || (${o} = ${r}/${n}, ${a}))`)}};Im.default=Vx;var Nm={},qm={};Object.defineProperty(qm,"__esModule",{value:!0});function e7(e){const t=e.length;let r=0,n=0,u;for(;n=55296&&u<=56319&&n(0,Is._)`{limit: ${e}}`},zx={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:Jx,code(e){const{keyword:t,data:r,schemaCode:n,it:u}=e,s=t==="maxLength"?Is.operators.GT:Is.operators.LT,o=u.opts.unicode===!1?(0,Is._)`${r}.length`:(0,Is._)`${(0,Hx.useFunc)(e.gen,Wx.default)}(${r})`;e.fail$data((0,Is._)`${o} ${s} ${n}`)}};Nm.default=zx;var xm={};Object.defineProperty(xm,"__esModule",{value:!0});const Kx=tt,hp=ut,Xx={message:({schemaCode:e})=>(0,hp.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0,hp._)`{pattern: ${e}}`},Yx={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:Xx,code(e){const{data:t,$data:r,schema:n,schemaCode:u,it:s}=e,o=s.opts.unicodeRegExp?"u":"",a=r?(0,hp._)`(new RegExp(${u}, ${o}))`:(0,Kx.usePattern)(e,n);e.fail$data((0,hp._)`!${a}.test(${t})`)}};xm.default=Yx;var Rm={};Object.defineProperty(Rm,"__esModule",{value:!0});const yi=ut,Zx={message({keyword:e,schemaCode:t}){const r=e==="maxProperties"?"more":"fewer";return(0,yi.str)`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>(0,yi._)`{limit: ${e}}`},Qx={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:Zx,code(e){const{keyword:t,data:r,schemaCode:n}=e,u=t==="maxProperties"?yi.operators.GT:yi.operators.LT;e.fail$data((0,yi._)`Object.keys(${r}).length ${u} ${n}`)}};Rm.default=Qx;var jm={};Object.defineProperty(jm,"__esModule",{value:!0});const Ga=tt,vi=ut,eR=Dt,tR={message:({params:{missingProperty:e}})=>(0,vi.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0,vi._)`{missingProperty: ${e}}`},rR={keyword:"required",type:"object",schemaType:"array",$data:!0,error:tR,code(e){const{gen:t,schema:r,schemaCode:n,data:u,$data:s,it:o}=e,{opts:a}=o;if(!s&&r.length===0)return;const i=r.length>=a.loopRequired;if(o.allErrors?c():l(),a.strictRequired){const f=e.parentSchema.properties,{definedProperties:h}=e.it;for(const y of r)if((f==null?void 0:f[y])===void 0&&!h.has(y)){const A=o.schemaEnv.baseId+o.errSchemaPath,m=`required property "${y}" is not defined at "${A}" (strictRequired)`;(0,eR.checkStrictMode)(o,m,o.opts.strictRequired)}}function c(){if(i||s)e.block$data(vi.nil,p);else for(const f of r)(0,Ga.checkReportMissingProp)(e,f)}function l(){const f=t.let("missing");if(i||s){const h=t.let("valid",!0);e.block$data(h,()=>d(f,h)),e.ok(h)}else t.if((0,Ga.checkMissingProp)(e,r,f)),(0,Ga.reportMissingProp)(e,f),t.else()}function p(){t.forOf("prop",n,f=>{e.setParams({missingProperty:f}),t.if((0,Ga.noPropertyInData)(t,u,f,a.ownProperties),()=>e.error())})}function d(f,h){e.setParams({missingProperty:f}),t.forOf(f,n,()=>{t.assign(h,(0,Ga.propertyInData)(t,u,f,a.ownProperties)),t.if((0,vi.not)(h),()=>{e.error(),t.break()})},vi.nil)}}};jm.default=rR;var Mm={};Object.defineProperty(Mm,"__esModule",{value:!0});const gi=ut,nR={message({keyword:e,schemaCode:t}){const r=e==="maxItems"?"more":"fewer";return(0,gi.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0,gi._)`{limit: ${e}}`},uR={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:nR,code(e){const{keyword:t,data:r,schemaCode:n}=e,u=t==="maxItems"?gi.operators.GT:gi.operators.LT;e.fail$data((0,gi._)`${r}.length ${u} ${n}`)}};Mm.default=uR;var Lm={},rc={};Object.defineProperty(rc,"__esModule",{value:!0});const t7=q6;t7.code='require("ajv/dist/runtime/equal").default';rc.default=t7;Object.defineProperty(Lm,"__esModule",{value:!0});const pf=Qi,cr=ut,sR=Dt,oR=rc,aR={message:({params:{i:e,j:t}})=>(0,cr.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0,cr._)`{i: ${e}, j: ${t}}`},iR={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:aR,code(e){const{gen:t,data:r,$data:n,schema:u,parentSchema:s,schemaCode:o,it:a}=e;if(!n&&!u)return;const i=t.let("valid"),c=s.items?(0,pf.getSchemaTypes)(s.items):[];e.block$data(i,l,(0,cr._)`${o} === false`),e.ok(i);function l(){const h=t.let("i",(0,cr._)`${r}.length`),y=t.let("j");e.setParams({i:h,j:y}),t.assign(i,!0),t.if((0,cr._)`${h} > 1`,()=>(p()?d:f)(h,y))}function p(){return c.length>0&&!c.some(h=>h==="object"||h==="array")}function d(h,y){const A=t.name("item"),m=(0,pf.checkDataTypes)(c,A,a.opts.strictNumbers,pf.DataType.Wrong),v=t.const("indices",(0,cr._)`{}`);t.for((0,cr._)`;${h}--;`,()=>{t.let(A,(0,cr._)`${r}[${h}]`),t.if(m,(0,cr._)`continue`),c.length>1&&t.if((0,cr._)`typeof ${A} == "string"`,(0,cr._)`${A} += "_"`),t.if((0,cr._)`typeof ${v}[${A}] == "number"`,()=>{t.assign(y,(0,cr._)`${v}[${A}]`),e.error(),t.assign(i,!1).break()}).code((0,cr._)`${v}[${A}] = ${h}`)})}function f(h,y){const A=(0,sR.useFunc)(t,oR.default),m=t.name("outer");t.label(m).for((0,cr._)`;${h}--;`,()=>t.for((0,cr._)`${y} = ${h}; ${y}--;`,()=>t.if((0,cr._)`${A}(${r}[${h}], ${r}[${y}])`,()=>{e.error(),t.assign(i,!1).break(m)})))}}};Lm.default=iR;var Um={};Object.defineProperty(Um,"__esModule",{value:!0});const z2=ut,cR=Dt,lR=rc,pR={message:"must be equal to constant",params:({schemaCode:e})=>(0,z2._)`{allowedValue: ${e}}`},dR={keyword:"const",$data:!0,error:pR,code(e){const{gen:t,data:r,$data:n,schemaCode:u,schema:s}=e;n||s&&typeof s=="object"?e.fail$data((0,z2._)`!${(0,cR.useFunc)(t,lR.default)}(${r}, ${u})`):e.fail((0,z2._)`${s} !== ${r}`)}};Um.default=dR;var Gm={};Object.defineProperty(Gm,"__esModule",{value:!0});const ii=ut,fR=Dt,DR=rc,hR={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0,ii._)`{allowedValues: ${e}}`},mR={keyword:"enum",schemaType:"array",$data:!0,error:hR,code(e){const{gen:t,data:r,$data:n,schema:u,schemaCode:s,it:o}=e;if(!n&&u.length===0)throw new Error("enum must have non-empty array");const a=u.length>=o.opts.loopEnum;let i;const c=()=>i??(i=(0,fR.useFunc)(t,DR.default));let l;if(a||n)l=t.let("valid"),e.block$data(l,p);else{if(!Array.isArray(u))throw new Error("ajv implementation error");const f=t.const("vSchema",s);l=(0,ii.or)(...u.map((h,y)=>d(f,y)))}e.pass(l);function p(){t.assign(l,!1),t.forOf("v",s,f=>t.if((0,ii._)`${c()}(${r}, ${f})`,()=>t.assign(l,!0).break()))}function d(f,h){const y=u[h];return typeof y=="object"&&y!==null?(0,ii._)`${c()}(${r}, ${f}[${h}])`:(0,ii._)`${r} === ${y}`}}};Gm.default=mR;Object.defineProperty(km,"__esModule",{value:!0});const ER=Om,yR=Im,vR=Nm,gR=xm,AR=Rm,FR=jm,CR=Mm,bR=Lm,SR=Um,wR=Gm,_R=[ER.default,yR.default,vR.default,gR.default,AR.default,FR.default,CR.default,bR.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},SR.default,wR.default];km.default=_R;var Vm={},wa={};Object.defineProperty(wa,"__esModule",{value:!0});wa.validateAdditionalItems=void 0;const Ns=ut,K2=Dt,BR={message:({params:{len:e}})=>(0,Ns.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,Ns._)`{limit: ${e}}`},TR={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:BR,code(e){const{parentSchema:t,it:r}=e,{items:n}=t;if(!Array.isArray(n)){(0,K2.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}r7(e,n)}};function r7(e,t){const{gen:r,schema:n,data:u,keyword:s,it:o}=e;o.items=!0;const a=r.const("len",(0,Ns._)`${u}.length`);if(n===!1)e.setParams({len:t.length}),e.pass((0,Ns._)`${a} <= ${t.length}`);else if(typeof n=="object"&&!(0,K2.alwaysValidSchema)(o,n)){const c=r.var("valid",(0,Ns._)`${a} <= ${t.length}`);r.if((0,Ns.not)(c),()=>i(c)),e.ok(c)}function i(c){r.forRange("i",t.length,a,l=>{e.subschema({keyword:s,dataProp:l,dataPropType:K2.Type.Num},c),o.allErrors||r.if((0,Ns.not)(c),()=>r.break())})}}wa.validateAdditionalItems=r7;wa.default=TR;var Hm={},_a={};Object.defineProperty(_a,"__esModule",{value:!0});_a.validateTuple=void 0;const dv=ut,Pl=Dt,$R=tt,PR={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){const{schema:t,it:r}=e;if(Array.isArray(t))return n7(e,"additionalItems",t);r.items=!0,!(0,Pl.alwaysValidSchema)(r,t)&&e.ok((0,$R.validateArray)(e))}};function n7(e,t,r=e.schema){const{gen:n,parentSchema:u,data:s,keyword:o,it:a}=e;l(u),a.opts.unevaluated&&r.length&&a.items!==!0&&(a.items=Pl.mergeEvaluated.items(n,r.length,a.items));const i=n.name("valid"),c=n.const("len",(0,dv._)`${s}.length`);r.forEach((p,d)=>{(0,Pl.alwaysValidSchema)(a,p)||(n.if((0,dv._)`${c} > ${d}`,()=>e.subschema({keyword:o,schemaProp:d,dataProp:d},i)),e.ok(i))});function l(p){const{opts:d,errSchemaPath:f}=a,h=r.length,y=h===p.minItems&&(h===p.maxItems||p[t]===!1);if(d.strictTuples&&!y){const A=`"${o}" is ${h}-tuple, but minItems or maxItems/${t} are not specified or different at path "${f}"`;(0,Pl.checkStrictMode)(a,A,d.strictTuples)}}}_a.validateTuple=n7;_a.default=PR;Object.defineProperty(Hm,"__esModule",{value:!0});const kR=_a,OR={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,kR.validateTuple)(e,"items")};Hm.default=OR;var Wm={};Object.defineProperty(Wm,"__esModule",{value:!0});const fv=ut,IR=Dt,NR=tt,qR=wa,xR={message:({params:{len:e}})=>(0,fv.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,fv._)`{limit: ${e}}`},RR={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:xR,code(e){const{schema:t,parentSchema:r,it:n}=e,{prefixItems:u}=r;n.items=!0,!(0,IR.alwaysValidSchema)(n,t)&&(u?(0,qR.validateAdditionalItems)(e,u):e.ok((0,NR.validateArray)(e)))}};Wm.default=RR;var Jm={};Object.defineProperty(Jm,"__esModule",{value:!0});const nn=ut,Hc=Dt,jR={message:({params:{min:e,max:t}})=>t===void 0?(0,nn.str)`must contain at least ${e} valid item(s)`:(0,nn.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0,nn._)`{minContains: ${e}}`:(0,nn._)`{minContains: ${e}, maxContains: ${t}}`},MR={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:jR,code(e){const{gen:t,schema:r,parentSchema:n,data:u,it:s}=e;let o,a;const{minContains:i,maxContains:c}=n;s.opts.next?(o=i===void 0?1:i,a=c):o=1;const l=t.const("len",(0,nn._)`${u}.length`);if(e.setParams({min:o,max:a}),a===void 0&&o===0){(0,Hc.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&o>a){(0,Hc.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0,Hc.alwaysValidSchema)(s,r)){let y=(0,nn._)`${l} >= ${o}`;a!==void 0&&(y=(0,nn._)`${y} && ${l} <= ${a}`),e.pass(y);return}s.items=!0;const p=t.name("valid");a===void 0&&o===1?f(p,()=>t.if(p,()=>t.break())):o===0?(t.let(p,!0),a!==void 0&&t.if((0,nn._)`${u}.length > 0`,d)):(t.let(p,!1),d()),e.result(p,()=>e.reset());function d(){const y=t.name("_valid"),A=t.let("count",0);f(y,()=>t.if(y,()=>h(A)))}function f(y,A){t.forRange("i",0,l,m=>{e.subschema({keyword:"contains",dataProp:m,dataPropType:Hc.Type.Num,compositeRule:!0},y),A()})}function h(y){t.code((0,nn._)`${y}++`),a===void 0?t.if((0,nn._)`${y} >= ${o}`,()=>t.assign(p,!0).break()):(t.if((0,nn._)`${y} > ${a}`,()=>t.assign(p,!1).break()),o===1?t.assign(p,!0):t.if((0,nn._)`${y} >= ${o}`,()=>t.assign(p,!0)))}}};Jm.default=MR;var u7={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.validateSchemaDeps=e.validatePropertyDeps=e.error=void 0;const t=ut,r=Dt,n=tt;e.error={message:({params:{property:i,depsCount:c,deps:l}})=>{const p=c===1?"property":"properties";return(0,t.str)`must have ${p} ${l} when property ${i} is present`},params:({params:{property:i,depsCount:c,deps:l,missingProperty:p}})=>(0,t._)`{property: ${i}, + || ${q} === "boolean" || ${R} === null`).assign(G,(0,u._)`[${R}]`)}}}function f({gen:C,parentData:B,parentDataProperty:T},N){C.if((0,u._)`${B} !== undefined`,()=>C.assign((0,u._)`${B}[${T}]`,N))}function h(C,B,T,N=o.Correct){const R=N===o.Correct?u.operators.EQ:u.operators.NEQ;let J;switch(C){case"null":return(0,u._)`${B} ${R} null`;case"array":J=(0,u._)`Array.isArray(${B})`;break;case"object":J=(0,u._)`${B} && typeof ${B} == "object" && !Array.isArray(${B})`;break;case"integer":J=q((0,u._)`!(${B} % 1) && !isNaN(${B})`);break;case"number":J=q();break;default:return(0,u._)`typeof ${B} ${R} ${C}`}return N===o.Correct?J:(0,u.not)(J);function q(G=u.nil){return(0,u.and)((0,u._)`typeof ${B} == "number"`,G,T?(0,u._)`isFinite(${B})`:u.nil)}}e.checkDataType=h;function y(C,B,T,N){if(C.length===1)return h(C[0],B,T,N);let R;const J=(0,s.toHash)(C);if(J.array&&J.object){const q=(0,u._)`typeof ${B} != "object"`;R=J.null?q:(0,u._)`!${B} || ${q}`,delete J.null,delete J.array,delete J.object}else R=u.nil;J.number&&delete J.integer;for(const q in J)R=(0,u.and)(R,h(q,B,T,N));return R}e.checkDataTypes=y;const A={message:({schema:C})=>`must be ${C}`,params:({schema:C,schemaValue:B})=>typeof C=="string"?(0,u._)`{type: ${C}}`:(0,u._)`{type: ${B}}`};function m(C){const B=v(C);(0,n.reportError)(B,A)}e.reportTypeError=m;function v(C){const{gen:B,data:T,schema:N}=C,R=(0,s.schemaRefOrVal)(C,N,"type");return{gen:B,keyword:"type",data:T,schema:N.type,schemaCode:R,schemaValue:R,parentSchema:N,params:{},it:C}}})(Qi);var Wp={};Object.defineProperty(Wp,"__esModule",{value:!0});Wp.assignDefaults=void 0;const go=ut,hq=Dt;function mq(e,t){const{properties:r,items:n}=e.schema;if(t==="object"&&r)for(const u in r)uv(e,u,r[u].default);else t==="array"&&Array.isArray(n)&&n.forEach((u,s)=>uv(e,s,u.default))}Wp.assignDefaults=mq;function uv(e,t,r){const{gen:n,compositeRule:u,data:s,opts:o}=e;if(r===void 0)return;const a=(0,go._)`${s}${(0,go.getProperty)(t)}`;if(u){(0,hq.checkStrictMode)(e,`default is ignored for: ${a}`);return}let i=(0,go._)`${a} === undefined`;o.useDefaults==="empty"&&(i=(0,go._)`${i} || ${a} === null || ${a} === ""`),n.if(i,(0,go._)`${a} = ${(0,go.stringify)(r)}`)}var zn={},tt={};Object.defineProperty(tt,"__esModule",{value:!0});tt.validateUnion=tt.validateArray=tt.usePattern=tt.callValidateCode=tt.schemaProperties=tt.allSchemaProperties=tt.noPropertyInData=tt.propertyInData=tt.isOwnProperty=tt.hasPropFunc=tt.reportMissingProp=tt.checkMissingProp=tt.checkReportMissingProp=void 0;const St=ut,Cm=Dt,Mu=ru,Eq=Dt;function yq(e,t){const{gen:r,data:n,it:u}=e;r.if(Sm(r,n,t,u.opts.ownProperties),()=>{e.setParams({missingProperty:(0,St._)`${t}`},!0),e.error()})}tt.checkReportMissingProp=yq;function vq({gen:e,data:t,it:{opts:r}},n,u){return(0,St.or)(...n.map(s=>(0,St.and)(Sm(e,t,s,r.ownProperties),(0,St._)`${u} = ${s}`)))}tt.checkMissingProp=vq;function gq(e,t){e.setParams({missingProperty:t},!0),e.error()}tt.reportMissingProp=gq;function I6(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,St._)`Object.prototype.hasOwnProperty`})}tt.hasPropFunc=I6;function bm(e,t,r){return(0,St._)`${I6(e)}.call(${t}, ${r})`}tt.isOwnProperty=bm;function Aq(e,t,r,n){const u=(0,St._)`${t}${(0,St.getProperty)(r)} !== undefined`;return n?(0,St._)`${u} && ${bm(e,t,r)}`:u}tt.propertyInData=Aq;function Sm(e,t,r,n){const u=(0,St._)`${t}${(0,St.getProperty)(r)} === undefined`;return n?(0,St.or)(u,(0,St.not)(bm(e,t,r))):u}tt.noPropertyInData=Sm;function N6(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}tt.allSchemaProperties=N6;function Fq(e,t){return N6(t).filter(r=>!(0,Cm.alwaysValidSchema)(e,t[r]))}tt.schemaProperties=Fq;function Cq({schemaCode:e,data:t,it:{gen:r,topSchemaRef:n,schemaPath:u,errorPath:s},it:o},a,i,c){const l=c?(0,St._)`${e}, ${t}, ${n}${u}`:t,p=[[Mu.default.instancePath,(0,St.strConcat)(Mu.default.instancePath,s)],[Mu.default.parentData,o.parentData],[Mu.default.parentDataProperty,o.parentDataProperty],[Mu.default.rootData,Mu.default.rootData]];o.opts.dynamicRef&&p.push([Mu.default.dynamicAnchors,Mu.default.dynamicAnchors]);const d=(0,St._)`${l}, ${r.object(...p)}`;return i!==St.nil?(0,St._)`${a}.call(${i}, ${d})`:(0,St._)`${a}(${d})`}tt.callValidateCode=Cq;const bq=(0,St._)`new RegExp`;function Sq({gen:e,it:{opts:t}},r){const n=t.unicodeRegExp?"u":"",{regExp:u}=t.code,s=u(r,n);return e.scopeValue("pattern",{key:s.toString(),ref:s,code:(0,St._)`${u.code==="new RegExp"?bq:(0,Eq.useFunc)(e,u)}(${r}, ${n})`})}tt.usePattern=Sq;function wq(e){const{gen:t,data:r,keyword:n,it:u}=e,s=t.name("valid");if(u.allErrors){const a=t.let("valid",!0);return o(()=>t.assign(a,!1)),a}return t.var(s,!0),o(()=>t.break()),s;function o(a){const i=t.const("len",(0,St._)`${r}.length`);t.forRange("i",0,i,c=>{e.subschema({keyword:n,dataProp:c,dataPropType:Cm.Type.Num},s),t.if((0,St.not)(s),a)})}}tt.validateArray=wq;function _q(e){const{gen:t,schema:r,keyword:n,it:u}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(i=>(0,Cm.alwaysValidSchema)(u,i))&&!u.opts.unevaluated)return;const o=t.let("valid",!1),a=t.name("_valid");t.block(()=>r.forEach((i,c)=>{const l=e.subschema({keyword:n,schemaProp:c,compositeRule:!0},a);t.assign(o,(0,St._)`${o} || ${a}`),e.mergeValidEvaluated(l,a)||t.if((0,St.not)(o))})),e.result(o,()=>e.reset(),()=>e.error(!0))}tt.validateUnion=_q;Object.defineProperty(zn,"__esModule",{value:!0});zn.validateKeywordUsage=zn.validSchemaType=zn.funcKeywordCode=zn.macroKeywordCode=void 0;const gr=ut,Os=ru,Bq=tt,Tq=Zi;function $q(e,t){const{gen:r,keyword:n,schema:u,parentSchema:s,it:o}=e,a=t.macro.call(o.self,u,s,o),i=q6(r,n,a);o.opts.validateSchema!==!1&&o.self.validateSchema(a,!0);const c=r.name("valid");e.subschema({schema:a,schemaPath:gr.nil,errSchemaPath:`${o.errSchemaPath}/${n}`,topSchemaRef:i,compositeRule:!0},c),e.pass(c,()=>e.error(!0))}zn.macroKeywordCode=$q;function Pq(e,t){var r;const{gen:n,keyword:u,schema:s,parentSchema:o,$data:a,it:i}=e;Oq(i,t);const c=!a&&t.compile?t.compile.call(i.self,s,o,i):t.validate,l=q6(n,u,c),p=n.let("valid");e.block$data(p,d),e.ok((r=t.valid)!==null&&r!==void 0?r:p);function d(){if(t.errors===!1)y(),t.modifying&&sv(e),A(()=>e.error());else{const m=t.async?f():h();t.modifying&&sv(e),A(()=>kq(e,m))}}function f(){const m=n.let("ruleErrs",null);return n.try(()=>y((0,gr._)`await `),v=>n.assign(p,!1).if((0,gr._)`${v} instanceof ${i.ValidationError}`,()=>n.assign(m,(0,gr._)`${v}.errors`),()=>n.throw(v))),m}function h(){const m=(0,gr._)`${l}.errors`;return n.assign(m,null),y(gr.nil),m}function y(m=t.async?(0,gr._)`await `:gr.nil){const v=i.opts.passContext?Os.default.this:Os.default.self,C=!("compile"in t&&!a||t.schema===!1);n.assign(p,(0,gr._)`${m}${(0,Bq.callValidateCode)(e,l,v,C)}`,t.modifying)}function A(m){var v;n.if((0,gr.not)((v=t.valid)!==null&&v!==void 0?v:p),m)}}zn.funcKeywordCode=Pq;function sv(e){const{gen:t,data:r,it:n}=e;t.if(n.parentData,()=>t.assign(r,(0,gr._)`${n.parentData}[${n.parentDataProperty}]`))}function kq(e,t){const{gen:r}=e;r.if((0,gr._)`Array.isArray(${t})`,()=>{r.assign(Os.default.vErrors,(0,gr._)`${Os.default.vErrors} === null ? ${t} : ${Os.default.vErrors}.concat(${t})`).assign(Os.default.errors,(0,gr._)`${Os.default.vErrors}.length`),(0,Tq.extendErrors)(e)},()=>e.error())}function Oq({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function q6(e,t,r){if(r===void 0)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,gr.stringify)(r)})}function Iq(e,t,r=!1){return!t.length||t.some(n=>n==="array"?Array.isArray(e):n==="object"?e&&typeof e=="object"&&!Array.isArray(e):typeof e==n||r&&typeof e>"u")}zn.validSchemaType=Iq;function Nq({schema:e,opts:t,self:r,errSchemaPath:n},u,s){if(Array.isArray(u.keyword)?!u.keyword.includes(s):u.keyword!==s)throw new Error("ajv implementation error");const o=u.dependencies;if(o!=null&&o.some(a=>!Object.prototype.hasOwnProperty.call(e,a)))throw new Error(`parent schema must have dependencies of ${s}: ${o.join(",")}`);if(u.validateSchema&&!u.validateSchema(e[s])){const i=`keyword "${s}" value is invalid at path "${n}": `+r.errorsText(u.validateSchema.errors);if(t.validateSchema==="log")r.logger.error(i);else throw new Error(i)}}zn.validateKeywordUsage=Nq;var rs={};Object.defineProperty(rs,"__esModule",{value:!0});rs.extendSubschemaMode=rs.extendSubschemaData=rs.getSubschema=void 0;const Wn=ut,x6=Dt;function qq(e,{keyword:t,schemaProp:r,schema:n,schemaPath:u,errSchemaPath:s,topSchemaRef:o}){if(t!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(t!==void 0){const a=e.schema[t];return r===void 0?{schema:a,schemaPath:(0,Wn._)`${e.schemaPath}${(0,Wn.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:a[r],schemaPath:(0,Wn._)`${e.schemaPath}${(0,Wn.getProperty)(t)}${(0,Wn.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,x6.escapeFragment)(r)}`}}if(n!==void 0){if(u===void 0||s===void 0||o===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:u,topSchemaRef:o,errSchemaPath:s}}throw new Error('either "keyword" or "schema" must be passed')}rs.getSubschema=qq;function xq(e,t,{dataProp:r,dataPropType:n,data:u,dataTypes:s,propertyName:o}){if(u!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');const{gen:a}=t;if(r!==void 0){const{errorPath:c,dataPathArr:l,opts:p}=t,d=a.let("data",(0,Wn._)`${t.data}${(0,Wn.getProperty)(r)}`,!0);i(d),e.errorPath=(0,Wn.str)`${c}${(0,x6.getErrorPath)(r,n,p.jsPropertySyntax)}`,e.parentDataProperty=(0,Wn._)`${r}`,e.dataPathArr=[...l,e.parentDataProperty]}if(u!==void 0){const c=u instanceof Wn.Name?u:a.let("data",u,!0);i(c),o!==void 0&&(e.propertyName=o)}s&&(e.dataTypes=s);function i(c){e.data=c,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,c]}}rs.extendSubschemaData=xq;function Rq(e,{jtdDiscriminator:t,jtdMetadata:r,compositeRule:n,createErrors:u,allErrors:s}){n!==void 0&&(e.compositeRule=n),u!==void 0&&(e.createErrors=u),s!==void 0&&(e.allErrors=s),e.jtdDiscriminator=t,e.jtdMetadata=r}rs.extendSubschemaMode=Rq;var dr={},R6=function e(t,r){if(t===r)return!0;if(t&&r&&typeof t=="object"&&typeof r=="object"){if(t.constructor!==r.constructor)return!1;var n,u,s;if(Array.isArray(t)){if(n=t.length,n!=r.length)return!1;for(u=n;u--!==0;)if(!e(t[u],r[u]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if(s=Object.keys(t),n=s.length,n!==Object.keys(r).length)return!1;for(u=n;u--!==0;)if(!Object.prototype.hasOwnProperty.call(r,s[u]))return!1;for(u=n;u--!==0;){var o=s[u];if(!e(t[o],r[o]))return!1}return!0}return t!==t&&r!==r},J2={},jq={get exports(){return J2},set exports(e){J2=e}},Zu=jq.exports=function(e,t,r){typeof t=="function"&&(r=t,t={}),r=t.cb||r;var n=typeof r=="function"?r:r.pre||function(){},u=r.post||function(){};Tl(t,n,u,e,"",e)};Zu.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Zu.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Zu.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Zu.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function Tl(e,t,r,n,u,s,o,a,i,c){if(n&&typeof n=="object"&&!Array.isArray(n)){t(n,u,s,o,a,i,c);for(var l in n){var p=n[l];if(Array.isArray(p)){if(l in Zu.arrayKeywords)for(var d=0;dt+=j6(n)),t===1/0))return 1/0}return t}function M6(e,t="",r){r!==!1&&(t=sa(t));const n=e.parse(t);return L6(e,n)}dr.getFullPath=M6;function L6(e,t){return e.serialize(t).split("#")[0]+"#"}dr._getFullPath=L6;const Jq=/#\/?$/;function sa(e){return e?e.replace(Jq,""):""}dr.normalizeId=sa;function zq(e,t,r){return r=sa(r),e.resolve(t,r)}dr.resolveUrl=zq;const Kq=/^[a-z_][-a-z0-9._]*$/i;function Xq(e,t){if(typeof e=="boolean")return{};const{schemaId:r,uriResolver:n}=this.opts,u=sa(e[r]||t),s={"":u},o=M6(n,u,!1),a={},i=new Set;return Gq(e,{allKeys:!0},(p,d,f,h)=>{if(h===void 0)return;const y=o+d;let A=s[h];typeof p[r]=="string"&&(A=m.call(this,p[r])),v.call(this,p.$anchor),v.call(this,p.$dynamicAnchor),s[d]=A;function m(C){const B=this.opts.uriResolver.resolve;if(C=sa(A?B(A,C):C),i.has(C))throw l(C);i.add(C);let T=this.refs[C];return typeof T=="string"&&(T=this.refs[T]),typeof T=="object"?c(p,T.schema,C):C!==sa(y)&&(C[0]==="#"?(c(p,a[C],C),a[C]=p):this.refs[C]=y),C}function v(C){if(typeof C=="string"){if(!Kq.test(C))throw new Error(`invalid anchor "${C}"`);m.call(this,`#${C}`)}}}),a;function c(p,d,f){if(d!==void 0&&!Uq(p,d))throw l(f)}function l(p){return new Error(`reference "${p}" resolves to more than one schema`)}}dr.getSchemaRefs=Xq;Object.defineProperty(Tn,"__esModule",{value:!0});Tn.getData=Tn.KeywordCxt=Tn.validateFunctionCode=void 0;const U6=pa,ov=Qi,wm=Au,pp=Qi,Yq=Wp,mi=zn,af=rs,Re=ut,We=ru,Zq=dr,Fu=Dt,Ua=Zi;function Qq(e){if(H6(e)&&(W6(e),V6(e))){rx(e);return}G6(e,()=>(0,U6.topBoolOrEmptySchema)(e))}Tn.validateFunctionCode=Qq;function G6({gen:e,validateName:t,schema:r,schemaEnv:n,opts:u},s){u.code.es5?e.func(t,(0,Re._)`${We.default.data}, ${We.default.valCxt}`,n.$async,()=>{e.code((0,Re._)`"use strict"; ${av(r,u)}`),tx(e,u),e.code(s)}):e.func(t,(0,Re._)`${We.default.data}, ${ex(u)}`,n.$async,()=>e.code(av(r,u)).code(s))}function ex(e){return(0,Re._)`{${We.default.instancePath}="", ${We.default.parentData}, ${We.default.parentDataProperty}, ${We.default.rootData}=${We.default.data}${e.dynamicRef?(0,Re._)`, ${We.default.dynamicAnchors}={}`:Re.nil}}={}`}function tx(e,t){e.if(We.default.valCxt,()=>{e.var(We.default.instancePath,(0,Re._)`${We.default.valCxt}.${We.default.instancePath}`),e.var(We.default.parentData,(0,Re._)`${We.default.valCxt}.${We.default.parentData}`),e.var(We.default.parentDataProperty,(0,Re._)`${We.default.valCxt}.${We.default.parentDataProperty}`),e.var(We.default.rootData,(0,Re._)`${We.default.valCxt}.${We.default.rootData}`),t.dynamicRef&&e.var(We.default.dynamicAnchors,(0,Re._)`${We.default.valCxt}.${We.default.dynamicAnchors}`)},()=>{e.var(We.default.instancePath,(0,Re._)`""`),e.var(We.default.parentData,(0,Re._)`undefined`),e.var(We.default.parentDataProperty,(0,Re._)`undefined`),e.var(We.default.rootData,We.default.data),t.dynamicRef&&e.var(We.default.dynamicAnchors,(0,Re._)`{}`)})}function rx(e){const{schema:t,opts:r,gen:n}=e;G6(e,()=>{r.$comment&&t.$comment&&z6(e),ax(e),n.let(We.default.vErrors,null),n.let(We.default.errors,0),r.unevaluated&&nx(e),J6(e),lx(e)})}function nx(e){const{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",(0,Re._)`${r}.evaluated`),t.if((0,Re._)`${e.evaluated}.dynamicProps`,()=>t.assign((0,Re._)`${e.evaluated}.props`,(0,Re._)`undefined`)),t.if((0,Re._)`${e.evaluated}.dynamicItems`,()=>t.assign((0,Re._)`${e.evaluated}.items`,(0,Re._)`undefined`))}function av(e,t){const r=typeof e=="object"&&e[t.schemaId];return r&&(t.code.source||t.code.process)?(0,Re._)`/*# sourceURL=${r} */`:Re.nil}function ux(e,t){if(H6(e)&&(W6(e),V6(e))){sx(e,t);return}(0,U6.boolOrEmptySchema)(e,t)}function V6({schema:e,self:t}){if(typeof e=="boolean")return!e;for(const r in e)if(t.RULES.all[r])return!0;return!1}function H6(e){return typeof e.schema!="boolean"}function sx(e,t){const{schema:r,gen:n,opts:u}=e;u.$comment&&r.$comment&&z6(e),ix(e),cx(e);const s=n.const("_errs",We.default.errors);J6(e,s),n.var(t,(0,Re._)`${s} === ${We.default.errors}`)}function W6(e){(0,Fu.checkUnknownRules)(e),ox(e)}function J6(e,t){if(e.opts.jtd)return iv(e,[],!1,t);const r=(0,ov.getSchemaTypes)(e.schema),n=(0,ov.coerceAndCheckDataType)(e,r);iv(e,r,!n,t)}function ox(e){const{schema:t,errSchemaPath:r,opts:n,self:u}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,Fu.schemaHasRulesButRef)(t,u.RULES)&&u.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function ax(e){const{schema:t,opts:r}=e;t.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,Fu.checkStrictMode)(e,"default is ignored in the schema root")}function ix(e){const t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,Zq.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function cx(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function z6({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:u}){const s=r.$comment;if(u.$comment===!0)e.code((0,Re._)`${We.default.self}.logger.log(${s})`);else if(typeof u.$comment=="function"){const o=(0,Re.str)`${n}/$comment`,a=e.scopeValue("root",{ref:t.root});e.code((0,Re._)`${We.default.self}.opts.$comment(${s}, ${o}, ${a}.schema)`)}}function lx(e){const{gen:t,schemaEnv:r,validateName:n,ValidationError:u,opts:s}=e;r.$async?t.if((0,Re._)`${We.default.errors} === 0`,()=>t.return(We.default.data),()=>t.throw((0,Re._)`new ${u}(${We.default.vErrors})`)):(t.assign((0,Re._)`${n}.errors`,We.default.vErrors),s.unevaluated&&px(e),t.return((0,Re._)`${We.default.errors} === 0`))}function px({gen:e,evaluated:t,props:r,items:n}){r instanceof Re.Name&&e.assign((0,Re._)`${t}.props`,r),n instanceof Re.Name&&e.assign((0,Re._)`${t}.items`,n)}function iv(e,t,r,n){const{gen:u,schema:s,data:o,allErrors:a,opts:i,self:c}=e,{RULES:l}=c;if(s.$ref&&(i.ignoreKeywordsWithRef||!(0,Fu.schemaHasRulesButRef)(s,l))){u.block(()=>Y6(e,"$ref",l.all.$ref.definition));return}i.jtd||dx(e,t),u.block(()=>{for(const d of l.rules)p(d);p(l.post)});function p(d){(0,wm.shouldUseGroup)(s,d)&&(d.type?(u.if((0,pp.checkDataType)(d.type,o,i.strictNumbers)),cv(e,d),t.length===1&&t[0]===d.type&&r&&(u.else(),(0,pp.reportTypeError)(e)),u.endIf()):cv(e,d),a||u.if((0,Re._)`${We.default.errors} === ${n||0}`))}}function cv(e,t){const{gen:r,schema:n,opts:{useDefaults:u}}=e;u&&(0,Yq.assignDefaults)(e,t.type),r.block(()=>{for(const s of t.rules)(0,wm.shouldUseRule)(n,s)&&Y6(e,s.keyword,s.definition,t.type)})}function dx(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(fx(e,t),e.opts.allowUnionTypes||Dx(e,t),hx(e,e.dataTypes))}function fx(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(r=>{K6(e.dataTypes,r)||_m(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`)}),Ex(e,t)}}function Dx(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&_m(e,"use allowUnionTypes to allow union type keyword")}function hx(e,t){const r=e.self.RULES.all;for(const n in r){const u=r[n];if(typeof u=="object"&&(0,wm.shouldUseRule)(e.schema,u)){const{type:s}=u.definition;s.length&&!s.some(o=>mx(t,o))&&_m(e,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function mx(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function K6(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function Ex(e,t){const r=[];for(const n of e.dataTypes)K6(t,n)?r.push(n):t.includes("integer")&&n==="number"&&r.push("integer");e.dataTypes=r}function _m(e,t){const r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,(0,Fu.checkStrictMode)(e,t,e.opts.strictTypes)}let X6=class{constructor(t,r,n){if((0,mi.validateKeywordUsage)(t,r,n),this.gen=t.gen,this.allErrors=t.allErrors,this.keyword=n,this.data=t.data,this.schema=t.schema[n],this.$data=r.$data&&t.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,Fu.schemaRefOrVal)(t,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=t.schema,this.params={},this.it=t,this.def=r,this.$data)this.schemaCode=t.gen.const("vSchema",Z6(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0,mi.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=t.gen.const("_errs",We.default.errors))}result(t,r,n){this.failResult((0,Re.not)(t),r,n)}failResult(t,r,n){this.gen.if(t),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(t,r){this.failResult((0,Re.not)(t),void 0,r)}fail(t){if(t===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(t),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(t){if(!this.$data)return this.fail(t);const{schemaCode:r}=this;this.fail((0,Re._)`${r} !== undefined && (${(0,Re.or)(this.invalid$data(),t)})`)}error(t,r,n){if(r){this.setParams(r),this._error(t,n),this.setParams({});return}this._error(t,n)}_error(t,r){(t?Ua.reportExtraError:Ua.reportError)(this,this.def.error,r)}$dataError(){(0,Ua.reportError)(this,this.def.$dataError||Ua.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Ua.resetErrorsCount)(this.gen,this.errsCount)}ok(t){this.allErrors||this.gen.if(t)}setParams(t,r){r?Object.assign(this.params,t):this.params=t}block$data(t,r,n=Re.nil){this.gen.block(()=>{this.check$data(t,n),r()})}check$data(t=Re.nil,r=Re.nil){if(!this.$data)return;const{gen:n,schemaCode:u,schemaType:s,def:o}=this;n.if((0,Re.or)((0,Re._)`${u} === undefined`,r)),t!==Re.nil&&n.assign(t,!0),(s.length||o.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),t!==Re.nil&&n.assign(t,!1)),n.else()}invalid$data(){const{gen:t,schemaCode:r,schemaType:n,def:u,it:s}=this;return(0,Re.or)(o(),a());function o(){if(n.length){if(!(r instanceof Re.Name))throw new Error("ajv implementation error");const i=Array.isArray(n)?n:[n];return(0,Re._)`${(0,pp.checkDataTypes)(i,r,s.opts.strictNumbers,pp.DataType.Wrong)}`}return Re.nil}function a(){if(u.validateSchema){const i=t.scopeValue("validate$data",{ref:u.validateSchema});return(0,Re._)`!${i}(${r})`}return Re.nil}}subschema(t,r){const n=(0,af.getSubschema)(this.it,t);(0,af.extendSubschemaData)(n,this.it,t),(0,af.extendSubschemaMode)(n,t);const u={...this.it,...n,items:void 0,props:void 0};return ux(u,r),u}mergeEvaluated(t,r){const{it:n,gen:u}=this;n.opts.unevaluated&&(n.props!==!0&&t.props!==void 0&&(n.props=Fu.mergeEvaluated.props(u,t.props,n.props,r)),n.items!==!0&&t.items!==void 0&&(n.items=Fu.mergeEvaluated.items(u,t.items,n.items,r)))}mergeValidEvaluated(t,r){const{it:n,gen:u}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return u.if(r,()=>this.mergeEvaluated(t,Re.Name)),!0}};Tn.KeywordCxt=X6;function Y6(e,t,r,n){const u=new X6(e,r,t);"code"in r?r.code(u,n):u.$data&&r.validate?(0,mi.funcKeywordCode)(u,r):"macro"in r?(0,mi.macroKeywordCode)(u,r):(r.compile||r.validate)&&(0,mi.funcKeywordCode)(u,r)}const yx=/^\/(?:[^~]|~0|~1)*$/,vx=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Z6(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let u,s;if(e==="")return We.default.rootData;if(e[0]==="/"){if(!yx.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);u=e,s=We.default.rootData}else{const c=vx.exec(e);if(!c)throw new Error(`Invalid JSON-pointer: ${e}`);const l=+c[1];if(u=c[2],u==="#"){if(l>=t)throw new Error(i("property/index",l));return n[t-l]}if(l>t)throw new Error(i("data",l));if(s=r[t-l],!u)return s}let o=s;const a=u.split("/");for(const c of a)c&&(s=(0,Re._)`${s}${(0,Re.getProperty)((0,Fu.unescapeJsonPointer)(c))}`,o=(0,Re._)`${o} && ${s}`);return o;function i(c,l){return`Cannot access ${c} ${l} levels up, current level is ${t}`}}Tn.getData=Z6;var ec={};Object.defineProperty(ec,"__esModule",{value:!0});let gx=class extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=!0}};ec.default=gx;var tc={};Object.defineProperty(tc,"__esModule",{value:!0});const cf=dr;let Ax=class extends Error{constructor(t,r,n,u){super(u||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,cf.resolveUrl)(t,r,n),this.missingSchema=(0,cf.normalizeId)((0,cf.getFullPath)(t,this.missingRef))}};tc.default=Ax;var Nr={};Object.defineProperty(Nr,"__esModule",{value:!0});Nr.resolveSchema=Nr.getCompilingSchema=Nr.resolveRef=Nr.compileSchema=Nr.SchemaEnv=void 0;const hn=ut,Fx=ec,ws=ru,wn=dr,lv=Dt,Cx=Tn;let Jp=class{constructor(t){var r;this.refs={},this.dynamicAnchors={};let n;typeof t.schema=="object"&&(n=t.schema),this.schema=t.schema,this.schemaId=t.schemaId,this.root=t.root||this,this.baseId=(r=t.baseId)!==null&&r!==void 0?r:(0,wn.normalizeId)(n==null?void 0:n[t.schemaId||"$id"]),this.schemaPath=t.schemaPath,this.localRefs=t.localRefs,this.meta=t.meta,this.$async=n==null?void 0:n.$async,this.refs={}}};Nr.SchemaEnv=Jp;function Bm(e){const t=Q6.call(this,e);if(t)return t;const r=(0,wn.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:n,lines:u}=this.opts.code,{ownProperties:s}=this.opts,o=new hn.CodeGen(this.scope,{es5:n,lines:u,ownProperties:s});let a;e.$async&&(a=o.scopeValue("Error",{ref:Fx.default,code:(0,hn._)`require("ajv/dist/runtime/validation_error").default`}));const i=o.scopeName("validate");e.validateName=i;const c={gen:o,allErrors:this.opts.allErrors,data:ws.default.data,parentData:ws.default.parentData,parentDataProperty:ws.default.parentDataProperty,dataNames:[ws.default.data],dataPathArr:[hn.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:o.scopeValue("schema",this.opts.code.source===!0?{ref:e.schema,code:(0,hn.stringify)(e.schema)}:{ref:e.schema}),validateName:i,ValidationError:a,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:hn.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,hn._)`""`,opts:this.opts,self:this};let l;try{this._compilations.add(e),(0,Cx.validateFunctionCode)(c),o.optimize(this.opts.code.optimize);const p=o.toString();l=`${o.scopeRefs(ws.default.scope)}return ${p}`,this.opts.code.process&&(l=this.opts.code.process(l,e));const f=new Function(`${ws.default.self}`,`${ws.default.scope}`,l)(this,this.scope.get());if(this.scope.value(i,{ref:f}),f.errors=null,f.schema=e.schema,f.schemaEnv=e,e.$async&&(f.$async=!0),this.opts.code.source===!0&&(f.source={validateName:i,validateCode:p,scopeValues:o._values}),this.opts.unevaluated){const{props:h,items:y}=c;f.evaluated={props:h instanceof hn.Name?void 0:h,items:y instanceof hn.Name?void 0:y,dynamicProps:h instanceof hn.Name,dynamicItems:y instanceof hn.Name},f.source&&(f.source.evaluated=(0,hn.stringify)(f.evaluated))}return e.validate=f,e}catch(p){throw delete e.validate,delete e.validateName,l&&this.logger.error("Error compiling schema, function code:",l),p}finally{this._compilations.delete(e)}}Nr.compileSchema=Bm;function bx(e,t,r){var n;r=(0,wn.resolveUrl)(this.opts.uriResolver,t,r);const u=e.refs[r];if(u)return u;let s=_x.call(this,e,r);if(s===void 0){const o=(n=e.localRefs)===null||n===void 0?void 0:n[r],{schemaId:a}=this.opts;o&&(s=new Jp({schema:o,schemaId:a,root:e,baseId:t}))}if(s!==void 0)return e.refs[r]=Sx.call(this,s)}Nr.resolveRef=bx;function Sx(e){return(0,wn.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:Bm.call(this,e)}function Q6(e){for(const t of this._compilations)if(wx(t,e))return t}Nr.getCompilingSchema=Q6;function wx(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function _x(e,t){let r;for(;typeof(r=this.refs[t])=="string";)t=r;return r||this.schemas[t]||zp.call(this,e,t)}function zp(e,t){const r=this.opts.uriResolver.parse(t),n=(0,wn._getFullPath)(this.opts.uriResolver,r);let u=(0,wn.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===u)return lf.call(this,r,e);const s=(0,wn.normalizeId)(n),o=this.refs[s]||this.schemas[s];if(typeof o=="string"){const a=zp.call(this,e,o);return typeof(a==null?void 0:a.schema)!="object"?void 0:lf.call(this,r,a)}if(typeof(o==null?void 0:o.schema)=="object"){if(o.validate||Bm.call(this,o),s===(0,wn.normalizeId)(t)){const{schema:a}=o,{schemaId:i}=this.opts,c=a[i];return c&&(u=(0,wn.resolveUrl)(this.opts.uriResolver,u,c)),new Jp({schema:a,schemaId:i,root:e,baseId:u})}return lf.call(this,r,o)}}Nr.resolveSchema=zp;const Bx=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function lf(e,{baseId:t,schema:r,root:n}){var u;if(((u=e.fragment)===null||u===void 0?void 0:u[0])!=="/")return;for(const a of e.fragment.slice(1).split("/")){if(typeof r=="boolean")return;const i=r[(0,lv.unescapeFragment)(a)];if(i===void 0)return;r=i;const c=typeof r=="object"&&r[this.opts.schemaId];!Bx.has(a)&&c&&(t=(0,wn.resolveUrl)(this.opts.uriResolver,t,c))}let s;if(typeof r!="boolean"&&r.$ref&&!(0,lv.schemaHasRulesButRef)(r,this.RULES)){const a=(0,wn.resolveUrl)(this.opts.uriResolver,t,r.$ref);s=zp.call(this,n,a)}const{schemaId:o}=this.opts;if(s=s||new Jp({schema:r,schemaId:o,root:n,baseId:t}),s.schema!==s.root.schema)return s}const Tx="https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",$x="Meta-schema for $data reference (JSON AnySchema extension proposal)",Px="object",kx=["$data"],Ox={$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},Ix=!1,Nx={$id:Tx,description:$x,type:Px,required:kx,properties:Ox,additionalProperties:Ix};var Tm={},dp={},qx={get exports(){return dp},set exports(e){dp=e}};/** @license URI.js v4.4.1 (c) 2011 Gary Court. License: http://github.com/garycourt/uri-js */(function(e,t){(function(r,n){n(t)})(Vs,function(r){function n(){for(var Q=arguments.length,V=Array(Q),te=0;te1){V[0]=V[0].slice(0,-1);for(var ie=V.length-1,ae=1;ae= 0x80 (not a basic code point)","invalid-input":"Invalid input"},ee=y-A,K=Math.floor,ue=String.fromCharCode;function oe(Q){throw new RangeError(G[Q])}function de(Q,V){for(var te=[],ie=Q.length;ie--;)te[ie]=V(Q[ie]);return te}function he(Q,V){var te=Q.split("@"),ie="";te.length>1&&(ie=te[0]+"@",Q=te[1]),Q=Q.replace(q,".");var ae=Q.split("."),xe=de(ae,V).join(".");return ie+xe}function fe(Q){for(var V=[],te=0,ie=Q.length;te=55296&&ae<=56319&&te>1,V+=K(V/te);V>ee*m>>1;ae+=y)V=K(V/ee);return K(ae+(ee+1)*V/(V+v))},E=function(V){var te=[],ie=V.length,ae=0,xe=T,Le=B,ot=V.lastIndexOf(N);ot<0&&(ot=0);for(var ct=0;ct=128&&oe("not-basic"),te.push(V.charCodeAt(ct));for(var $t=ot>0?ot+1:0;$t=ie&&oe("invalid-input");var He=pe(V.charCodeAt($t++));(He>=y||He>K((h-ae)/Et))&&oe("overflow"),ae+=He*Et;var ht=Pt<=Le?A:Pt>=Le+m?m:Pt-Le;if(HeK(h/jt)&&oe("overflow"),Et*=jt}var vt=te.length+1;Le=O(ae-et,vt,et==0),K(ae/vt)>h-xe&&oe("overflow"),xe+=K(ae/vt),ae%=vt,te.splice(ae++,0,xe)}return String.fromCodePoint.apply(String,te)},F=function(V){var te=[];V=fe(V);var ie=V.length,ae=T,xe=0,Le=B,ot=!0,ct=!1,$t=void 0;try{for(var et=V[Symbol.iterator](),Et;!(ot=(Et=et.next()).done);ot=!0){var Pt=Et.value;Pt<128&&te.push(ue(Pt))}}catch(xu){ct=!0,$t=xu}finally{try{!ot&&et.return&&et.return()}finally{if(ct)throw $t}}var He=te.length,ht=He;for(He&&te.push(N);ht=ae&&auK((h-xe)/br)&&oe("overflow"),xe+=(jt-ae)*br,ae=jt;var Xt=!0,iu=!1,pn=void 0;try{for(var Fs=V[Symbol.iterator](),kc;!(Xt=(kc=Fs.next()).done);Xt=!0){var Oc=kc.value;if(Och&&oe("overflow"),Oc==ae){for(var fo=xe,cu=y;;cu+=y){var Do=cu<=Le?A:cu>=Le+m?m:cu-Le;if(fo>6|192).toString(16).toUpperCase()+"%"+(V&63|128).toString(16).toUpperCase():te="%"+(V>>12|224).toString(16).toUpperCase()+"%"+(V>>6&63|128).toString(16).toUpperCase()+"%"+(V&63|128).toString(16).toUpperCase(),te}function I(Q){for(var V="",te=0,ie=Q.length;te=194&&ae<224){if(ie-te>=6){var xe=parseInt(Q.substr(te+4,2),16);V+=String.fromCharCode((ae&31)<<6|xe&63)}else V+=Q.substr(te,6);te+=6}else if(ae>=224){if(ie-te>=9){var Le=parseInt(Q.substr(te+4,2),16),ot=parseInt(Q.substr(te+7,2),16);V+=String.fromCharCode((ae&15)<<12|(Le&63)<<6|ot&63)}else V+=Q.substr(te,9);te+=9}else V+=Q.substr(te,3),te+=3}return V}function $(Q,V){function te(ie){var ae=I(ie);return ae.match(V.UNRESERVED)?ae:ie}return Q.scheme&&(Q.scheme=String(Q.scheme).replace(V.PCT_ENCODED,te).toLowerCase().replace(V.NOT_SCHEME,"")),Q.userinfo!==void 0&&(Q.userinfo=String(Q.userinfo).replace(V.PCT_ENCODED,te).replace(V.NOT_USERINFO,w).replace(V.PCT_ENCODED,o)),Q.host!==void 0&&(Q.host=String(Q.host).replace(V.PCT_ENCODED,te).toLowerCase().replace(V.NOT_HOST,w).replace(V.PCT_ENCODED,o)),Q.path!==void 0&&(Q.path=String(Q.path).replace(V.PCT_ENCODED,te).replace(Q.scheme?V.NOT_PATH:V.NOT_PATH_NOSCHEME,w).replace(V.PCT_ENCODED,o)),Q.query!==void 0&&(Q.query=String(Q.query).replace(V.PCT_ENCODED,te).replace(V.NOT_QUERY,w).replace(V.PCT_ENCODED,o)),Q.fragment!==void 0&&(Q.fragment=String(Q.fragment).replace(V.PCT_ENCODED,te).replace(V.NOT_FRAGMENT,w).replace(V.PCT_ENCODED,o)),Q}function M(Q){return Q.replace(/^0*(.*)/,"$1")||"0"}function L(Q,V){var te=Q.match(V.IPV4ADDRESS)||[],ie=d(te,2),ae=ie[1];return ae?ae.split(".").map(M).join("."):Q}function Y(Q,V){var te=Q.match(V.IPV6ADDRESS)||[],ie=d(te,3),ae=ie[1],xe=ie[2];if(ae){for(var Le=ae.toLowerCase().split("::").reverse(),ot=d(Le,2),ct=ot[0],$t=ot[1],et=$t?$t.split(":").map(M):[],Et=ct.split(":").map(M),Pt=V.IPV4ADDRESS.test(Et[Et.length-1]),He=Pt?7:8,ht=Et.length-He,jt=Array(He),vt=0;vt1){var ln=jt.slice(0,Yr.index),au=jt.slice(Yr.index+Yr.length);Zr=ln.join(":")+"::"+au.join(":")}else Zr=jt.join(":");return xe&&(Zr+="%"+xe),Zr}else return Q}var be=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,Ne="".match(/(){0}/)[1]===void 0;function Ve(Q){var V=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},te={},ie=V.iri!==!1?p:l;V.reference==="suffix"&&(Q=(V.scheme?V.scheme+":":"")+"//"+Q);var ae=Q.match(be);if(ae){Ne?(te.scheme=ae[1],te.userinfo=ae[3],te.host=ae[4],te.port=parseInt(ae[5],10),te.path=ae[6]||"",te.query=ae[7],te.fragment=ae[8],isNaN(te.port)&&(te.port=ae[5])):(te.scheme=ae[1]||void 0,te.userinfo=Q.indexOf("@")!==-1?ae[3]:void 0,te.host=Q.indexOf("//")!==-1?ae[4]:void 0,te.port=parseInt(ae[5],10),te.path=ae[6]||"",te.query=Q.indexOf("?")!==-1?ae[7]:void 0,te.fragment=Q.indexOf("#")!==-1?ae[8]:void 0,isNaN(te.port)&&(te.port=Q.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?ae[4]:void 0)),te.host&&(te.host=Y(L(te.host,ie),ie)),te.scheme===void 0&&te.userinfo===void 0&&te.host===void 0&&te.port===void 0&&!te.path&&te.query===void 0?te.reference="same-document":te.scheme===void 0?te.reference="relative":te.fragment===void 0?te.reference="absolute":te.reference="uri",V.reference&&V.reference!=="suffix"&&V.reference!==te.reference&&(te.error=te.error||"URI is not a "+V.reference+" reference.");var xe=b[(V.scheme||te.scheme||"").toLowerCase()];if(!V.unicodeSupport&&(!xe||!xe.unicodeSupport)){if(te.host&&(V.domainHost||xe&&xe.domainHost))try{te.host=P.toASCII(te.host.replace(ie.PCT_ENCODED,I).toLowerCase())}catch(Le){te.error=te.error||"Host's domain name can not be converted to ASCII via punycode: "+Le}$(te,l)}else $(te,ie);xe&&xe.parse&&xe.parse(te,V)}else te.error=te.error||"URI can not be parsed.";return te}function Me(Q,V){var te=V.iri!==!1?p:l,ie=[];return Q.userinfo!==void 0&&(ie.push(Q.userinfo),ie.push("@")),Q.host!==void 0&&ie.push(Y(L(String(Q.host),te),te).replace(te.IPV6ADDRESS,function(ae,xe,Le){return"["+xe+(Le?"%25"+Le:"")+"]"})),(typeof Q.port=="number"||typeof Q.port=="string")&&(ie.push(":"),ie.push(String(Q.port))),ie.length?ie.join(""):void 0}var Fe=/^\.\.?\//,qe=/^\/\.(\/|$)/,Pe=/^\/\.\.(\/|$)/,Be=/^\/?(?:.|\n)*?(?=\/|$)/;function le(Q){for(var V=[];Q.length;)if(Q.match(Fe))Q=Q.replace(Fe,"");else if(Q.match(qe))Q=Q.replace(qe,"/");else if(Q.match(Pe))Q=Q.replace(Pe,"/"),V.pop();else if(Q==="."||Q==="..")Q="";else{var te=Q.match(Be);if(te){var ie=te[0];Q=Q.slice(ie.length),V.push(ie)}else throw new Error("Unexpected dot segment condition")}return V.join("")}function Te(Q){var V=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},te=V.iri?p:l,ie=[],ae=b[(V.scheme||Q.scheme||"").toLowerCase()];if(ae&&ae.serialize&&ae.serialize(Q,V),Q.host&&!te.IPV6ADDRESS.test(Q.host)){if(V.domainHost||ae&&ae.domainHost)try{Q.host=V.iri?P.toUnicode(Q.host):P.toASCII(Q.host.replace(te.PCT_ENCODED,I).toLowerCase())}catch(ot){Q.error=Q.error||"Host's domain name can not be converted to "+(V.iri?"Unicode":"ASCII")+" via punycode: "+ot}}$(Q,te),V.reference!=="suffix"&&Q.scheme&&(ie.push(Q.scheme),ie.push(":"));var xe=Me(Q,V);if(xe!==void 0&&(V.reference!=="suffix"&&ie.push("//"),ie.push(xe),Q.path&&Q.path.charAt(0)!=="/"&&ie.push("/")),Q.path!==void 0){var Le=Q.path;!V.absolutePath&&(!ae||!ae.absolutePath)&&(Le=le(Le)),xe===void 0&&(Le=Le.replace(/^\/\//,"/%2F")),ie.push(Le)}return Q.query!==void 0&&(ie.push("?"),ie.push(Q.query)),Q.fragment!==void 0&&(ie.push("#"),ie.push(Q.fragment)),ie.join("")}function W(Q,V){var te=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},ie=arguments[3],ae={};return ie||(Q=Ve(Te(Q,te),te),V=Ve(Te(V,te),te)),te=te||{},!te.tolerant&&V.scheme?(ae.scheme=V.scheme,ae.userinfo=V.userinfo,ae.host=V.host,ae.port=V.port,ae.path=le(V.path||""),ae.query=V.query):(V.userinfo!==void 0||V.host!==void 0||V.port!==void 0?(ae.userinfo=V.userinfo,ae.host=V.host,ae.port=V.port,ae.path=le(V.path||""),ae.query=V.query):(V.path?(V.path.charAt(0)==="/"?ae.path=le(V.path):((Q.userinfo!==void 0||Q.host!==void 0||Q.port!==void 0)&&!Q.path?ae.path="/"+V.path:Q.path?ae.path=Q.path.slice(0,Q.path.lastIndexOf("/")+1)+V.path:ae.path=V.path,ae.path=le(ae.path)),ae.query=V.query):(ae.path=Q.path,V.query!==void 0?ae.query=V.query:ae.query=Q.query),ae.userinfo=Q.userinfo,ae.host=Q.host,ae.port=Q.port),ae.scheme=Q.scheme),ae.fragment=V.fragment,ae}function se(Q,V,te){var ie=i({scheme:"null"},te);return Te(W(Ve(Q,ie),Ve(V,ie),ie,!0),ie)}function ce(Q,V){return typeof Q=="string"?Q=Te(Ve(Q,V),V):s(Q)==="object"&&(Q=Ve(Te(Q,V),V)),Q}function k(Q,V,te){return typeof Q=="string"?Q=Te(Ve(Q,te),te):s(Q)==="object"&&(Q=Te(Q,te)),typeof V=="string"?V=Te(Ve(V,te),te):s(V)==="object"&&(V=Te(V,te)),Q===V}function S(Q,V){return Q&&Q.toString().replace(!V||!V.iri?l.ESCAPE:p.ESCAPE,w)}function _(Q,V){return Q&&Q.toString().replace(!V||!V.iri?l.PCT_ENCODED:p.PCT_ENCODED,I)}var x={scheme:"http",domainHost:!0,parse:function(V,te){return V.host||(V.error=V.error||"HTTP URIs must have a host."),V},serialize:function(V,te){var ie=String(V.scheme).toLowerCase()==="https";return(V.port===(ie?443:80)||V.port==="")&&(V.port=void 0),V.path||(V.path="/"),V}},U={scheme:"https",domainHost:x.domainHost,parse:x.parse,serialize:x.serialize};function X(Q){return typeof Q.secure=="boolean"?Q.secure:String(Q.scheme).toLowerCase()==="wss"}var re={scheme:"ws",domainHost:!0,parse:function(V,te){var ie=V;return ie.secure=X(ie),ie.resourceName=(ie.path||"/")+(ie.query?"?"+ie.query:""),ie.path=void 0,ie.query=void 0,ie},serialize:function(V,te){if((V.port===(X(V)?443:80)||V.port==="")&&(V.port=void 0),typeof V.secure=="boolean"&&(V.scheme=V.secure?"wss":"ws",V.secure=void 0),V.resourceName){var ie=V.resourceName.split("?"),ae=d(ie,2),xe=ae[0],Le=ae[1];V.path=xe&&xe!=="/"?xe:void 0,V.query=Le,V.resourceName=void 0}return V.fragment=void 0,V}},ve={scheme:"wss",domainHost:re.domainHost,parse:re.parse,serialize:re.serialize},Se={},Oe="[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]",Ie="[0-9A-Fa-f]",Ke=u(u("%[EFef]"+Ie+"%"+Ie+Ie+"%"+Ie+Ie)+"|"+u("%[89A-Fa-f]"+Ie+"%"+Ie+Ie)+"|"+u("%"+Ie+Ie)),Cr="[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]",xn="[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",su=n(xn,'[\\"\\\\]'),lo="[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]",Nu=new RegExp(Oe,"g"),Xr=new RegExp(Ke,"g"),Ra=new RegExp(n("[^]",Cr,"[\\.]",'[\\"]',su),"g"),po=new RegExp(n("[^]",Oe,lo),"g"),ja=po;function ou(Q){var V=I(Q);return V.match(Nu)?V:Q}var Tc={scheme:"mailto",parse:function(V,te){var ie=V,ae=ie.to=ie.path?ie.path.split(","):[];if(ie.path=void 0,ie.query){for(var xe=!1,Le={},ot=ie.query.split("&"),ct=0,$t=ot.length;ct<$t;++ct){var et=ot[ct].split("=");switch(et[0]){case"to":for(var Et=et[1].split(","),Pt=0,He=Et.length;Ptnew RegExp(z,O);f.code="new RegExp";const h=["removeAdditional","useDefaults","coerceTypes"],y=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),A={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},m={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},v=200;function C(z){var O,E,F,D,g,P,b,w,I,$,M,L,Y,be,Ne,Ve,Me,Fe,qe,Pe,Be,le,Te,W,se;const ce=z.strict,k=(O=z.code)===null||O===void 0?void 0:O.optimize,S=k===!0||k===void 0?1:k||0,_=(F=(E=z.code)===null||E===void 0?void 0:E.regExp)!==null&&F!==void 0?F:f,x=(D=z.uriResolver)!==null&&D!==void 0?D:d.default;return{strictSchema:(P=(g=z.strictSchema)!==null&&g!==void 0?g:ce)!==null&&P!==void 0?P:!0,strictNumbers:(w=(b=z.strictNumbers)!==null&&b!==void 0?b:ce)!==null&&w!==void 0?w:!0,strictTypes:($=(I=z.strictTypes)!==null&&I!==void 0?I:ce)!==null&&$!==void 0?$:"log",strictTuples:(L=(M=z.strictTuples)!==null&&M!==void 0?M:ce)!==null&&L!==void 0?L:"log",strictRequired:(be=(Y=z.strictRequired)!==null&&Y!==void 0?Y:ce)!==null&&be!==void 0?be:!1,code:z.code?{...z.code,optimize:S,regExp:_}:{optimize:S,regExp:_},loopRequired:(Ne=z.loopRequired)!==null&&Ne!==void 0?Ne:v,loopEnum:(Ve=z.loopEnum)!==null&&Ve!==void 0?Ve:v,meta:(Me=z.meta)!==null&&Me!==void 0?Me:!0,messages:(Fe=z.messages)!==null&&Fe!==void 0?Fe:!0,inlineRefs:(qe=z.inlineRefs)!==null&&qe!==void 0?qe:!0,schemaId:(Pe=z.schemaId)!==null&&Pe!==void 0?Pe:"$id",addUsedSchema:(Be=z.addUsedSchema)!==null&&Be!==void 0?Be:!0,validateSchema:(le=z.validateSchema)!==null&&le!==void 0?le:!0,validateFormats:(Te=z.validateFormats)!==null&&Te!==void 0?Te:!0,unicodeRegExp:(W=z.unicodeRegExp)!==null&&W!==void 0?W:!0,int32range:(se=z.int32range)!==null&&se!==void 0?se:!0,uriResolver:x}}class B{constructor(O={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,O=this.opts={...O,...C(O)};const{es5:E,lines:F}=this.opts.code;this.scope=new a.ValueScope({scope:{},prefixes:y,es5:E,lines:F}),this.logger=K(O.logger);const D=O.validateFormats;O.validateFormats=!1,this.RULES=(0,s.getRules)(),T.call(this,A,O,"NOT SUPPORTED"),T.call(this,m,O,"DEPRECATED","warn"),this._metaOpts=G.call(this),O.formats&&J.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),O.keywords&&q.call(this,O.keywords),typeof O.meta=="object"&&this.addMetaSchema(O.meta),R.call(this),O.validateFormats=D}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){const{$data:O,meta:E,schemaId:F}=this.opts;let D=p;F==="id"&&(D={...p},D.id=D.$id,delete D.$id),E&&O&&this.addMetaSchema(D,D[F],!1)}defaultMeta(){const{meta:O,schemaId:E}=this.opts;return this.opts.defaultMeta=typeof O=="object"?O[E]||O:void 0}validate(O,E){let F;if(typeof O=="string"){if(F=this.getSchema(O),!F)throw new Error(`no schema with key or ref "${O}"`)}else F=this.compile(O);const D=F(E);return"$async"in F||(this.errors=F.errors),D}compile(O,E){const F=this._addSchema(O,E);return F.validate||this._compileSchemaEnv(F)}compileAsync(O,E){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");const{loadSchema:F}=this.opts;return D.call(this,O,E);async function D($,M){await g.call(this,$.$schema);const L=this._addSchema($,M);return L.validate||P.call(this,L)}async function g($){$&&!this.getSchema($)&&await D.call(this,{$ref:$},!0)}async function P($){try{return this._compileSchemaEnv($)}catch(M){if(!(M instanceof u.default))throw M;return b.call(this,M),await w.call(this,M.missingSchema),P.call(this,$)}}function b({missingSchema:$,missingRef:M}){if(this.refs[$])throw new Error(`AnySchema ${$} is loaded but ${M} cannot be resolved`)}async function w($){const M=await I.call(this,$);this.refs[$]||await g.call(this,M.$schema),this.refs[$]||this.addSchema(M,$,E)}async function I($){const M=this._loading[$];if(M)return M;try{return await(this._loading[$]=F($))}finally{delete this._loading[$]}}}addSchema(O,E,F,D=this.opts.validateSchema){if(Array.isArray(O)){for(const P of O)this.addSchema(P,void 0,F,D);return this}let g;if(typeof O=="object"){const{schemaId:P}=this.opts;if(g=O[P],g!==void 0&&typeof g!="string")throw new Error(`schema ${P} must be string`)}return E=(0,i.normalizeId)(E||g),this._checkUnique(E),this.schemas[E]=this._addSchema(O,F,E,D,!0),this}addMetaSchema(O,E,F=this.opts.validateSchema){return this.addSchema(O,E,!0,F),this}validateSchema(O,E){if(typeof O=="boolean")return!0;let F;if(F=O.$schema,F!==void 0&&typeof F!="string")throw new Error("$schema must be a string");if(F=F||this.opts.defaultMeta||this.defaultMeta(),!F)return this.logger.warn("meta-schema not available"),this.errors=null,!0;const D=this.validate(F,O);if(!D&&E){const g="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(g);else throw new Error(g)}return D}getSchema(O){let E;for(;typeof(E=N.call(this,O))=="string";)O=E;if(E===void 0){const{schemaId:F}=this.opts,D=new o.SchemaEnv({schema:{},schemaId:F});if(E=o.resolveSchema.call(this,D,O),!E)return;this.refs[O]=E}return E.validate||this._compileSchemaEnv(E)}removeSchema(O){if(O instanceof RegExp)return this._removeAllSchemas(this.schemas,O),this._removeAllSchemas(this.refs,O),this;switch(typeof O){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{const E=N.call(this,O);return typeof E=="object"&&this._cache.delete(E.schema),delete this.schemas[O],delete this.refs[O],this}case"object":{const E=O;this._cache.delete(E);let F=O[this.opts.schemaId];return F&&(F=(0,i.normalizeId)(F),delete this.schemas[F],delete this.refs[F]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(O){for(const E of O)this.addKeyword(E);return this}addKeyword(O,E){let F;if(typeof O=="string")F=O,typeof E=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),E.keyword=F);else if(typeof O=="object"&&E===void 0){if(E=O,F=E.keyword,Array.isArray(F)&&!F.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(oe.call(this,F,E),!E)return(0,l.eachItem)(F,g=>de.call(this,g)),this;fe.call(this,E);const D={...E,type:(0,c.getJSONTypes)(E.type),schemaType:(0,c.getJSONTypes)(E.schemaType)};return(0,l.eachItem)(F,D.type.length===0?g=>de.call(this,g,D):g=>D.type.forEach(P=>de.call(this,g,D,P))),this}getKeyword(O){const E=this.RULES.all[O];return typeof E=="object"?E.definition:!!E}removeKeyword(O){const{RULES:E}=this;delete E.keywords[O],delete E.all[O];for(const F of E.rules){const D=F.rules.findIndex(g=>g.keyword===O);D>=0&&F.rules.splice(D,1)}return this}addFormat(O,E){return typeof E=="string"&&(E=new RegExp(E)),this.formats[O]=E,this}errorsText(O=this.errors,{separator:E=", ",dataVar:F="data"}={}){return!O||O.length===0?"No errors":O.map(D=>`${F}${D.instancePath} ${D.message}`).reduce((D,g)=>D+E+g)}$dataMetaSchema(O,E){const F=this.RULES.all;O=JSON.parse(JSON.stringify(O));for(const D of E){const g=D.split("/").slice(1);let P=O;for(const b of g)P=P[b];for(const b in F){const w=F[b];if(typeof w!="object")continue;const{$data:I}=w.definition,$=P[b];I&&$&&(P[b]=pe($))}}return O}_removeAllSchemas(O,E){for(const F in O){const D=O[F];(!E||E.test(F))&&(typeof D=="string"?delete O[F]:D&&!D.meta&&(this._cache.delete(D.schema),delete O[F]))}}_addSchema(O,E,F,D=this.opts.validateSchema,g=this.opts.addUsedSchema){let P;const{schemaId:b}=this.opts;if(typeof O=="object")P=O[b];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof O!="boolean")throw new Error("schema must be object or boolean")}let w=this._cache.get(O);if(w!==void 0)return w;F=(0,i.normalizeId)(P||F);const I=i.getSchemaRefs.call(this,O,F);return w=new o.SchemaEnv({schema:O,schemaId:b,meta:E,baseId:F,localRefs:I}),this._cache.set(w.schema,w),g&&!F.startsWith("#")&&(F&&this._checkUnique(F),this.refs[F]=w),D&&this.validateSchema(O,!0),w}_checkUnique(O){if(this.schemas[O]||this.refs[O])throw new Error(`schema with key or id "${O}" already exists`)}_compileSchemaEnv(O){if(O.meta?this._compileMetaSchema(O):o.compileSchema.call(this,O),!O.validate)throw new Error("ajv implementation error");return O.validate}_compileMetaSchema(O){const E=this.opts;this.opts=this._metaOpts;try{o.compileSchema.call(this,O)}finally{this.opts=E}}}e.default=B,B.ValidationError=n.default,B.MissingRefError=u.default;function T(z,O,E,F="error"){for(const D in z){const g=D;g in O&&this.logger[F](`${E}: option ${D}. ${z[g]}`)}}function N(z){return z=(0,i.normalizeId)(z),this.schemas[z]||this.refs[z]}function R(){const z=this.opts.schemas;if(z)if(Array.isArray(z))this.addSchema(z);else for(const O in z)this.addSchema(z[O],O)}function J(){for(const z in this.opts.formats){const O=this.opts.formats[z];O&&this.addFormat(z,O)}}function q(z){if(Array.isArray(z)){this.addVocabulary(z);return}this.logger.warn("keywords option as map is deprecated, pass array");for(const O in z){const E=z[O];E.keyword||(E.keyword=O),this.addKeyword(E)}}function G(){const z={...this.opts};for(const O of h)delete z[O];return z}const ee={log(){},warn(){},error(){}};function K(z){if(z===!1)return ee;if(z===void 0)return console;if(z.log&&z.warn&&z.error)return z;throw new Error("logger must implement log, warn and error methods")}const ue=/^[a-z_$][a-z0-9_$:-]*$/i;function oe(z,O){const{RULES:E}=this;if((0,l.eachItem)(z,F=>{if(E.keywords[F])throw new Error(`Keyword ${F} is already defined`);if(!ue.test(F))throw new Error(`Keyword ${F} has invalid name`)}),!!O&&O.$data&&!("code"in O||"validate"in O))throw new Error('$data keyword must have "code" or "validate" function')}function de(z,O,E){var F;const D=O==null?void 0:O.post;if(E&&D)throw new Error('keyword with "post" flag cannot have "type"');const{RULES:g}=this;let P=D?g.post:g.rules.find(({type:w})=>w===E);if(P||(P={type:E,rules:[]},g.rules.push(P)),g.keywords[z]=!0,!O)return;const b={keyword:z,definition:{...O,type:(0,c.getJSONTypes)(O.type),schemaType:(0,c.getJSONTypes)(O.schemaType)}};O.before?he.call(this,P,b,O.before):P.rules.push(b),g.all[z]=b,(F=O.implements)===null||F===void 0||F.forEach(w=>this.addKeyword(w))}function he(z,O,E){const F=z.rules.findIndex(D=>D.keyword===E);F>=0?z.rules.splice(F,0,O):(z.rules.push(O),this.logger.warn(`rule ${E} is not defined`))}function fe(z){let{metaSchema:O}=z;O!==void 0&&(z.$data&&this.opts.$data&&(O=pe(O)),z.validateSchema=this.compile(O,!0))}const ge={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function pe(z){return{anyOf:[z,ge]}}})($6);var $m={},Pm={},km={};Object.defineProperty(km,"__esModule",{value:!0});const xx={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};km.default=xx;var Zs={};Object.defineProperty(Zs,"__esModule",{value:!0});Zs.callRef=Zs.getValidate=void 0;const Rx=tc,pv=tt,Tr=ut,Ao=ru,dv=Nr,Vc=Dt,jx={keyword:"$ref",schemaType:"string",code(e){const{gen:t,schema:r,it:n}=e,{baseId:u,schemaEnv:s,validateName:o,opts:a,self:i}=n,{root:c}=s;if((r==="#"||r==="#/")&&u===c.baseId)return p();const l=dv.resolveRef.call(i,c,u,r);if(l===void 0)throw new Rx.default(n.opts.uriResolver,u,r);if(l instanceof dv.SchemaEnv)return d(l);return f(l);function p(){if(s===c)return $l(e,o,s,s.$async);const h=t.scopeValue("root",{ref:c});return $l(e,(0,Tr._)`${h}.validate`,c,c.$async)}function d(h){const y=t7(e,h);$l(e,y,h,h.$async)}function f(h){const y=t.scopeValue("schema",a.code.source===!0?{ref:h,code:(0,Tr.stringify)(h)}:{ref:h}),A=t.name("valid"),m=e.subschema({schema:h,dataTypes:[],schemaPath:Tr.nil,topSchemaRef:y,errSchemaPath:r},A);e.mergeEvaluated(m),e.ok(A)}}};function t7(e,t){const{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0,Tr._)`${r.scopeValue("wrapper",{ref:t})}.validate`}Zs.getValidate=t7;function $l(e,t,r,n){const{gen:u,it:s}=e,{allErrors:o,schemaEnv:a,opts:i}=s,c=i.passContext?Ao.default.this:Tr.nil;n?l():p();function l(){if(!a.$async)throw new Error("async schema referenced by sync schema");const h=u.let("valid");u.try(()=>{u.code((0,Tr._)`await ${(0,pv.callValidateCode)(e,t,c)}`),f(t),o||u.assign(h,!0)},y=>{u.if((0,Tr._)`!(${y} instanceof ${s.ValidationError})`,()=>u.throw(y)),d(y),o||u.assign(h,!1)}),e.ok(h)}function p(){e.result((0,pv.callValidateCode)(e,t,c),()=>f(t),()=>d(t))}function d(h){const y=(0,Tr._)`${h}.errors`;u.assign(Ao.default.vErrors,(0,Tr._)`${Ao.default.vErrors} === null ? ${y} : ${Ao.default.vErrors}.concat(${y})`),u.assign(Ao.default.errors,(0,Tr._)`${Ao.default.vErrors}.length`)}function f(h){var y;if(!s.opts.unevaluated)return;const A=(y=r==null?void 0:r.validate)===null||y===void 0?void 0:y.evaluated;if(s.props!==!0)if(A&&!A.dynamicProps)A.props!==void 0&&(s.props=Vc.mergeEvaluated.props(u,A.props,s.props));else{const m=u.var("props",(0,Tr._)`${h}.evaluated.props`);s.props=Vc.mergeEvaluated.props(u,m,s.props,Tr.Name)}if(s.items!==!0)if(A&&!A.dynamicItems)A.items!==void 0&&(s.items=Vc.mergeEvaluated.items(u,A.items,s.items));else{const m=u.var("items",(0,Tr._)`${h}.evaluated.items`);s.items=Vc.mergeEvaluated.items(u,m,s.items,Tr.Name)}}}Zs.callRef=$l;Zs.default=jx;Object.defineProperty(Pm,"__esModule",{value:!0});const Mx=km,Lx=Zs,Ux=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",Mx.default,Lx.default];Pm.default=Ux;var Om={},Im={};Object.defineProperty(Im,"__esModule",{value:!0});const fp=ut,Lu=fp.operators,Dp={maximum:{okStr:"<=",ok:Lu.LTE,fail:Lu.GT},minimum:{okStr:">=",ok:Lu.GTE,fail:Lu.LT},exclusiveMaximum:{okStr:"<",ok:Lu.LT,fail:Lu.GTE},exclusiveMinimum:{okStr:">",ok:Lu.GT,fail:Lu.LTE}},Gx={message:({keyword:e,schemaCode:t})=>(0,fp.str)`must be ${Dp[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,fp._)`{comparison: ${Dp[e].okStr}, limit: ${t}}`},Vx={keyword:Object.keys(Dp),type:"number",schemaType:"number",$data:!0,error:Gx,code(e){const{keyword:t,data:r,schemaCode:n}=e;e.fail$data((0,fp._)`${r} ${Dp[t].fail} ${n} || isNaN(${r})`)}};Im.default=Vx;var Nm={};Object.defineProperty(Nm,"__esModule",{value:!0});const Ei=ut,Hx={message:({schemaCode:e})=>(0,Ei.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0,Ei._)`{multipleOf: ${e}}`},Wx={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:Hx,code(e){const{gen:t,data:r,schemaCode:n,it:u}=e,s=u.opts.multipleOfPrecision,o=t.let("res"),a=s?(0,Ei._)`Math.abs(Math.round(${o}) - ${o}) > 1e-${s}`:(0,Ei._)`${o} !== parseInt(${o})`;e.fail$data((0,Ei._)`(${n} === 0 || (${o} = ${r}/${n}, ${a}))`)}};Nm.default=Wx;var qm={},xm={};Object.defineProperty(xm,"__esModule",{value:!0});function r7(e){const t=e.length;let r=0,n=0,u;for(;n=55296&&u<=56319&&n(0,Is._)`{limit: ${e}}`},Xx={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:Kx,code(e){const{keyword:t,data:r,schemaCode:n,it:u}=e,s=t==="maxLength"?Is.operators.GT:Is.operators.LT,o=u.opts.unicode===!1?(0,Is._)`${r}.length`:(0,Is._)`${(0,Jx.useFunc)(e.gen,zx.default)}(${r})`;e.fail$data((0,Is._)`${o} ${s} ${n}`)}};qm.default=Xx;var Rm={};Object.defineProperty(Rm,"__esModule",{value:!0});const Yx=tt,hp=ut,Zx={message:({schemaCode:e})=>(0,hp.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0,hp._)`{pattern: ${e}}`},Qx={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:Zx,code(e){const{data:t,$data:r,schema:n,schemaCode:u,it:s}=e,o=s.opts.unicodeRegExp?"u":"",a=r?(0,hp._)`(new RegExp(${u}, ${o}))`:(0,Yx.usePattern)(e,n);e.fail$data((0,hp._)`!${a}.test(${t})`)}};Rm.default=Qx;var jm={};Object.defineProperty(jm,"__esModule",{value:!0});const yi=ut,eR={message({keyword:e,schemaCode:t}){const r=e==="maxProperties"?"more":"fewer";return(0,yi.str)`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>(0,yi._)`{limit: ${e}}`},tR={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:eR,code(e){const{keyword:t,data:r,schemaCode:n}=e,u=t==="maxProperties"?yi.operators.GT:yi.operators.LT;e.fail$data((0,yi._)`Object.keys(${r}).length ${u} ${n}`)}};jm.default=tR;var Mm={};Object.defineProperty(Mm,"__esModule",{value:!0});const Ga=tt,vi=ut,rR=Dt,nR={message:({params:{missingProperty:e}})=>(0,vi.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0,vi._)`{missingProperty: ${e}}`},uR={keyword:"required",type:"object",schemaType:"array",$data:!0,error:nR,code(e){const{gen:t,schema:r,schemaCode:n,data:u,$data:s,it:o}=e,{opts:a}=o;if(!s&&r.length===0)return;const i=r.length>=a.loopRequired;if(o.allErrors?c():l(),a.strictRequired){const f=e.parentSchema.properties,{definedProperties:h}=e.it;for(const y of r)if((f==null?void 0:f[y])===void 0&&!h.has(y)){const A=o.schemaEnv.baseId+o.errSchemaPath,m=`required property "${y}" is not defined at "${A}" (strictRequired)`;(0,rR.checkStrictMode)(o,m,o.opts.strictRequired)}}function c(){if(i||s)e.block$data(vi.nil,p);else for(const f of r)(0,Ga.checkReportMissingProp)(e,f)}function l(){const f=t.let("missing");if(i||s){const h=t.let("valid",!0);e.block$data(h,()=>d(f,h)),e.ok(h)}else t.if((0,Ga.checkMissingProp)(e,r,f)),(0,Ga.reportMissingProp)(e,f),t.else()}function p(){t.forOf("prop",n,f=>{e.setParams({missingProperty:f}),t.if((0,Ga.noPropertyInData)(t,u,f,a.ownProperties),()=>e.error())})}function d(f,h){e.setParams({missingProperty:f}),t.forOf(f,n,()=>{t.assign(h,(0,Ga.propertyInData)(t,u,f,a.ownProperties)),t.if((0,vi.not)(h),()=>{e.error(),t.break()})},vi.nil)}}};Mm.default=uR;var Lm={};Object.defineProperty(Lm,"__esModule",{value:!0});const gi=ut,sR={message({keyword:e,schemaCode:t}){const r=e==="maxItems"?"more":"fewer";return(0,gi.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0,gi._)`{limit: ${e}}`},oR={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:sR,code(e){const{keyword:t,data:r,schemaCode:n}=e,u=t==="maxItems"?gi.operators.GT:gi.operators.LT;e.fail$data((0,gi._)`${r}.length ${u} ${n}`)}};Lm.default=oR;var Um={},rc={};Object.defineProperty(rc,"__esModule",{value:!0});const n7=R6;n7.code='require("ajv/dist/runtime/equal").default';rc.default=n7;Object.defineProperty(Um,"__esModule",{value:!0});const pf=Qi,cr=ut,aR=Dt,iR=rc,cR={message:({params:{i:e,j:t}})=>(0,cr.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0,cr._)`{i: ${e}, j: ${t}}`},lR={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:cR,code(e){const{gen:t,data:r,$data:n,schema:u,parentSchema:s,schemaCode:o,it:a}=e;if(!n&&!u)return;const i=t.let("valid"),c=s.items?(0,pf.getSchemaTypes)(s.items):[];e.block$data(i,l,(0,cr._)`${o} === false`),e.ok(i);function l(){const h=t.let("i",(0,cr._)`${r}.length`),y=t.let("j");e.setParams({i:h,j:y}),t.assign(i,!0),t.if((0,cr._)`${h} > 1`,()=>(p()?d:f)(h,y))}function p(){return c.length>0&&!c.some(h=>h==="object"||h==="array")}function d(h,y){const A=t.name("item"),m=(0,pf.checkDataTypes)(c,A,a.opts.strictNumbers,pf.DataType.Wrong),v=t.const("indices",(0,cr._)`{}`);t.for((0,cr._)`;${h}--;`,()=>{t.let(A,(0,cr._)`${r}[${h}]`),t.if(m,(0,cr._)`continue`),c.length>1&&t.if((0,cr._)`typeof ${A} == "string"`,(0,cr._)`${A} += "_"`),t.if((0,cr._)`typeof ${v}[${A}] == "number"`,()=>{t.assign(y,(0,cr._)`${v}[${A}]`),e.error(),t.assign(i,!1).break()}).code((0,cr._)`${v}[${A}] = ${h}`)})}function f(h,y){const A=(0,aR.useFunc)(t,iR.default),m=t.name("outer");t.label(m).for((0,cr._)`;${h}--;`,()=>t.for((0,cr._)`${y} = ${h}; ${y}--;`,()=>t.if((0,cr._)`${A}(${r}[${h}], ${r}[${y}])`,()=>{e.error(),t.assign(i,!1).break(m)})))}}};Um.default=lR;var Gm={};Object.defineProperty(Gm,"__esModule",{value:!0});const K2=ut,pR=Dt,dR=rc,fR={message:"must be equal to constant",params:({schemaCode:e})=>(0,K2._)`{allowedValue: ${e}}`},DR={keyword:"const",$data:!0,error:fR,code(e){const{gen:t,data:r,$data:n,schemaCode:u,schema:s}=e;n||s&&typeof s=="object"?e.fail$data((0,K2._)`!${(0,pR.useFunc)(t,dR.default)}(${r}, ${u})`):e.fail((0,K2._)`${s} !== ${r}`)}};Gm.default=DR;var Vm={};Object.defineProperty(Vm,"__esModule",{value:!0});const ii=ut,hR=Dt,mR=rc,ER={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0,ii._)`{allowedValues: ${e}}`},yR={keyword:"enum",schemaType:"array",$data:!0,error:ER,code(e){const{gen:t,data:r,$data:n,schema:u,schemaCode:s,it:o}=e;if(!n&&u.length===0)throw new Error("enum must have non-empty array");const a=u.length>=o.opts.loopEnum;let i;const c=()=>i??(i=(0,hR.useFunc)(t,mR.default));let l;if(a||n)l=t.let("valid"),e.block$data(l,p);else{if(!Array.isArray(u))throw new Error("ajv implementation error");const f=t.const("vSchema",s);l=(0,ii.or)(...u.map((h,y)=>d(f,y)))}e.pass(l);function p(){t.assign(l,!1),t.forOf("v",s,f=>t.if((0,ii._)`${c()}(${r}, ${f})`,()=>t.assign(l,!0).break()))}function d(f,h){const y=u[h];return typeof y=="object"&&y!==null?(0,ii._)`${c()}(${r}, ${f}[${h}])`:(0,ii._)`${r} === ${y}`}}};Vm.default=yR;Object.defineProperty(Om,"__esModule",{value:!0});const vR=Im,gR=Nm,AR=qm,FR=Rm,CR=jm,bR=Mm,SR=Lm,wR=Um,_R=Gm,BR=Vm,TR=[vR.default,gR.default,AR.default,FR.default,CR.default,bR.default,SR.default,wR.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},_R.default,BR.default];Om.default=TR;var Hm={},wa={};Object.defineProperty(wa,"__esModule",{value:!0});wa.validateAdditionalItems=void 0;const Ns=ut,X2=Dt,$R={message:({params:{len:e}})=>(0,Ns.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,Ns._)`{limit: ${e}}`},PR={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:$R,code(e){const{parentSchema:t,it:r}=e,{items:n}=t;if(!Array.isArray(n)){(0,X2.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}u7(e,n)}};function u7(e,t){const{gen:r,schema:n,data:u,keyword:s,it:o}=e;o.items=!0;const a=r.const("len",(0,Ns._)`${u}.length`);if(n===!1)e.setParams({len:t.length}),e.pass((0,Ns._)`${a} <= ${t.length}`);else if(typeof n=="object"&&!(0,X2.alwaysValidSchema)(o,n)){const c=r.var("valid",(0,Ns._)`${a} <= ${t.length}`);r.if((0,Ns.not)(c),()=>i(c)),e.ok(c)}function i(c){r.forRange("i",t.length,a,l=>{e.subschema({keyword:s,dataProp:l,dataPropType:X2.Type.Num},c),o.allErrors||r.if((0,Ns.not)(c),()=>r.break())})}}wa.validateAdditionalItems=u7;wa.default=PR;var Wm={},_a={};Object.defineProperty(_a,"__esModule",{value:!0});_a.validateTuple=void 0;const fv=ut,Pl=Dt,kR=tt,OR={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){const{schema:t,it:r}=e;if(Array.isArray(t))return s7(e,"additionalItems",t);r.items=!0,!(0,Pl.alwaysValidSchema)(r,t)&&e.ok((0,kR.validateArray)(e))}};function s7(e,t,r=e.schema){const{gen:n,parentSchema:u,data:s,keyword:o,it:a}=e;l(u),a.opts.unevaluated&&r.length&&a.items!==!0&&(a.items=Pl.mergeEvaluated.items(n,r.length,a.items));const i=n.name("valid"),c=n.const("len",(0,fv._)`${s}.length`);r.forEach((p,d)=>{(0,Pl.alwaysValidSchema)(a,p)||(n.if((0,fv._)`${c} > ${d}`,()=>e.subschema({keyword:o,schemaProp:d,dataProp:d},i)),e.ok(i))});function l(p){const{opts:d,errSchemaPath:f}=a,h=r.length,y=h===p.minItems&&(h===p.maxItems||p[t]===!1);if(d.strictTuples&&!y){const A=`"${o}" is ${h}-tuple, but minItems or maxItems/${t} are not specified or different at path "${f}"`;(0,Pl.checkStrictMode)(a,A,d.strictTuples)}}}_a.validateTuple=s7;_a.default=OR;Object.defineProperty(Wm,"__esModule",{value:!0});const IR=_a,NR={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,IR.validateTuple)(e,"items")};Wm.default=NR;var Jm={};Object.defineProperty(Jm,"__esModule",{value:!0});const Dv=ut,qR=Dt,xR=tt,RR=wa,jR={message:({params:{len:e}})=>(0,Dv.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,Dv._)`{limit: ${e}}`},MR={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:jR,code(e){const{schema:t,parentSchema:r,it:n}=e,{prefixItems:u}=r;n.items=!0,!(0,qR.alwaysValidSchema)(n,t)&&(u?(0,RR.validateAdditionalItems)(e,u):e.ok((0,xR.validateArray)(e)))}};Jm.default=MR;var zm={};Object.defineProperty(zm,"__esModule",{value:!0});const nn=ut,Hc=Dt,LR={message:({params:{min:e,max:t}})=>t===void 0?(0,nn.str)`must contain at least ${e} valid item(s)`:(0,nn.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0,nn._)`{minContains: ${e}}`:(0,nn._)`{minContains: ${e}, maxContains: ${t}}`},UR={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:LR,code(e){const{gen:t,schema:r,parentSchema:n,data:u,it:s}=e;let o,a;const{minContains:i,maxContains:c}=n;s.opts.next?(o=i===void 0?1:i,a=c):o=1;const l=t.const("len",(0,nn._)`${u}.length`);if(e.setParams({min:o,max:a}),a===void 0&&o===0){(0,Hc.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&o>a){(0,Hc.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0,Hc.alwaysValidSchema)(s,r)){let y=(0,nn._)`${l} >= ${o}`;a!==void 0&&(y=(0,nn._)`${y} && ${l} <= ${a}`),e.pass(y);return}s.items=!0;const p=t.name("valid");a===void 0&&o===1?f(p,()=>t.if(p,()=>t.break())):o===0?(t.let(p,!0),a!==void 0&&t.if((0,nn._)`${u}.length > 0`,d)):(t.let(p,!1),d()),e.result(p,()=>e.reset());function d(){const y=t.name("_valid"),A=t.let("count",0);f(y,()=>t.if(y,()=>h(A)))}function f(y,A){t.forRange("i",0,l,m=>{e.subschema({keyword:"contains",dataProp:m,dataPropType:Hc.Type.Num,compositeRule:!0},y),A()})}function h(y){t.code((0,nn._)`${y}++`),a===void 0?t.if((0,nn._)`${y} >= ${o}`,()=>t.assign(p,!0).break()):(t.if((0,nn._)`${y} > ${a}`,()=>t.assign(p,!1).break()),o===1?t.assign(p,!0):t.if((0,nn._)`${y} >= ${o}`,()=>t.assign(p,!0)))}}};zm.default=UR;var o7={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.validateSchemaDeps=e.validatePropertyDeps=e.error=void 0;const t=ut,r=Dt,n=tt;e.error={message:({params:{property:i,depsCount:c,deps:l}})=>{const p=c===1?"property":"properties";return(0,t.str)`must have ${p} ${l} when property ${i} is present`},params:({params:{property:i,depsCount:c,deps:l,missingProperty:p}})=>(0,t._)`{property: ${i}, missingProperty: ${p}, depsCount: ${c}, - deps: ${l}}`};const u={keyword:"dependencies",type:"object",schemaType:"object",error:e.error,code(i){const[c,l]=s(i);o(i,c),a(i,l)}};function s({schema:i}){const c={},l={};for(const p in i){if(p==="__proto__")continue;const d=Array.isArray(i[p])?c:l;d[p]=i[p]}return[c,l]}function o(i,c=i.schema){const{gen:l,data:p,it:d}=i;if(Object.keys(c).length===0)return;const f=l.let("missing");for(const h in c){const y=c[h];if(y.length===0)continue;const A=(0,n.propertyInData)(l,p,h,d.opts.ownProperties);i.setParams({property:h,depsCount:y.length,deps:y.join(", ")}),d.allErrors?l.if(A,()=>{for(const m of y)(0,n.checkReportMissingProp)(i,m)}):(l.if((0,t._)`${A} && (${(0,n.checkMissingProp)(i,y,f)})`),(0,n.reportMissingProp)(i,f),l.else())}}e.validatePropertyDeps=o;function a(i,c=i.schema){const{gen:l,data:p,keyword:d,it:f}=i,h=l.name("valid");for(const y in c)(0,r.alwaysValidSchema)(f,c[y])||(l.if((0,n.propertyInData)(l,p,y,f.opts.ownProperties),()=>{const A=i.subschema({keyword:d,schemaProp:y},h);i.mergeValidEvaluated(A,h)},()=>l.var(h,!0)),i.ok(h))}e.validateSchemaDeps=a,e.default=u})(u7);var zm={};Object.defineProperty(zm,"__esModule",{value:!0});const s7=ut,LR=Dt,UR={message:"property name must be valid",params:({params:e})=>(0,s7._)`{propertyName: ${e.propertyName}}`},GR={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:UR,code(e){const{gen:t,schema:r,data:n,it:u}=e;if((0,LR.alwaysValidSchema)(u,r))return;const s=t.name("valid");t.forIn("key",n,o=>{e.setParams({propertyName:o}),e.subschema({keyword:"propertyNames",data:o,dataTypes:["string"],propertyName:o,compositeRule:!0},s),t.if((0,s7.not)(s),()=>{e.error(!0),u.allErrors||t.break()})}),e.ok(s)}};zm.default=GR;var Kp={};Object.defineProperty(Kp,"__esModule",{value:!0});const Wc=tt,gn=ut,VR=ru,Jc=Dt,HR={message:"must NOT have additional properties",params:({params:e})=>(0,gn._)`{additionalProperty: ${e.additionalProperty}}`},WR={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:HR,code(e){const{gen:t,schema:r,parentSchema:n,data:u,errsCount:s,it:o}=e;if(!s)throw new Error("ajv implementation error");const{allErrors:a,opts:i}=o;if(o.props=!0,i.removeAdditional!=="all"&&(0,Jc.alwaysValidSchema)(o,r))return;const c=(0,Wc.allSchemaProperties)(n.properties),l=(0,Wc.allSchemaProperties)(n.patternProperties);p(),e.ok((0,gn._)`${s} === ${VR.default.errors}`);function p(){t.forIn("key",u,A=>{!c.length&&!l.length?h(A):t.if(d(A),()=>h(A))})}function d(A){let m;if(c.length>8){const v=(0,Jc.schemaRefOrVal)(o,n.properties,"properties");m=(0,Wc.isOwnProperty)(t,v,A)}else c.length?m=(0,gn.or)(...c.map(v=>(0,gn._)`${A} === ${v}`)):m=gn.nil;return l.length&&(m=(0,gn.or)(m,...l.map(v=>(0,gn._)`${(0,Wc.usePattern)(e,v)}.test(${A})`))),(0,gn.not)(m)}function f(A){t.code((0,gn._)`delete ${u}[${A}]`)}function h(A){if(i.removeAdditional==="all"||i.removeAdditional&&r===!1){f(A);return}if(r===!1){e.setParams({additionalProperty:A}),e.error(),a||t.break();return}if(typeof r=="object"&&!(0,Jc.alwaysValidSchema)(o,r)){const m=t.name("valid");i.removeAdditional==="failing"?(y(A,m,!1),t.if((0,gn.not)(m),()=>{e.reset(),f(A)})):(y(A,m),a||t.if((0,gn.not)(m),()=>t.break()))}}function y(A,m,v){const C={keyword:"additionalProperties",dataProp:A,dataPropType:Jc.Type.Str};v===!1&&Object.assign(C,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(C,m)}}};Kp.default=WR;var Km={};Object.defineProperty(Km,"__esModule",{value:!0});const JR=Tn,Dv=tt,df=Dt,hv=Kp,zR={keyword:"properties",type:"object",schemaType:"object",code(e){const{gen:t,schema:r,parentSchema:n,data:u,it:s}=e;s.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&hv.default.code(new JR.KeywordCxt(s,hv.default,"additionalProperties"));const o=(0,Dv.allSchemaProperties)(r);for(const p of o)s.definedProperties.add(p);s.opts.unevaluated&&o.length&&s.props!==!0&&(s.props=df.mergeEvaluated.props(t,(0,df.toHash)(o),s.props));const a=o.filter(p=>!(0,df.alwaysValidSchema)(s,r[p]));if(a.length===0)return;const i=t.name("valid");for(const p of a)c(p)?l(p):(t.if((0,Dv.propertyInData)(t,u,p,s.opts.ownProperties)),l(p),s.allErrors||t.else().var(i,!0),t.endIf()),e.it.definedProperties.add(p),e.ok(i);function c(p){return s.opts.useDefaults&&!s.compositeRule&&r[p].default!==void 0}function l(p){e.subschema({keyword:"properties",schemaProp:p,dataProp:p},i)}}};Km.default=zR;var Xm={};Object.defineProperty(Xm,"__esModule",{value:!0});const mv=tt,zc=ut,Ev=Dt,yv=Dt,KR={keyword:"patternProperties",type:"object",schemaType:"object",code(e){const{gen:t,schema:r,data:n,parentSchema:u,it:s}=e,{opts:o}=s,a=(0,mv.allSchemaProperties)(r),i=a.filter(y=>(0,Ev.alwaysValidSchema)(s,r[y]));if(a.length===0||i.length===a.length&&(!s.opts.unevaluated||s.props===!0))return;const c=o.strictSchema&&!o.allowMatchingProperties&&u.properties,l=t.name("valid");s.props!==!0&&!(s.props instanceof zc.Name)&&(s.props=(0,yv.evaluatedPropsToName)(t,s.props));const{props:p}=s;d();function d(){for(const y of a)c&&f(y),s.allErrors?h(y):(t.var(l,!0),h(y),t.if(l))}function f(y){for(const A in c)new RegExp(y).test(A)&&(0,Ev.checkStrictMode)(s,`property ${A} matches pattern ${y} (use allowMatchingProperties)`)}function h(y){t.forIn("key",n,A=>{t.if((0,zc._)`${(0,mv.usePattern)(e,y)}.test(${A})`,()=>{const m=i.includes(y);m||e.subschema({keyword:"patternProperties",schemaProp:y,dataProp:A,dataPropType:yv.Type.Str},l),s.opts.unevaluated&&p!==!0?t.assign((0,zc._)`${p}[${A}]`,!0):!m&&!s.allErrors&&t.if((0,zc.not)(l),()=>t.break())})})}}};Xm.default=KR;var Ym={};Object.defineProperty(Ym,"__esModule",{value:!0});const XR=Dt,YR={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){const{gen:t,schema:r,it:n}=e;if((0,XR.alwaysValidSchema)(n,r)){e.fail();return}const u=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},u),e.failResult(u,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};Ym.default=YR;var Zm={};Object.defineProperty(Zm,"__esModule",{value:!0});const ZR=tt,QR={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:ZR.validateUnion,error:{message:"must match a schema in anyOf"}};Zm.default=QR;var Qm={};Object.defineProperty(Qm,"__esModule",{value:!0});const kl=ut,ej=Dt,tj={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,kl._)`{passingSchemas: ${e.passing}}`},rj={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:tj,code(e){const{gen:t,schema:r,parentSchema:n,it:u}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(u.opts.discriminator&&n.discriminator)return;const s=r,o=t.let("valid",!1),a=t.let("passing",null),i=t.name("_valid");e.setParams({passing:a}),t.block(c),e.result(o,()=>e.reset(),()=>e.error(!0));function c(){s.forEach((l,p)=>{let d;(0,ej.alwaysValidSchema)(u,l)?t.var(i,!0):d=e.subschema({keyword:"oneOf",schemaProp:p,compositeRule:!0},i),p>0&&t.if((0,kl._)`${i} && ${o}`).assign(o,!1).assign(a,(0,kl._)`[${a}, ${p}]`).else(),t.if(i,()=>{t.assign(o,!0),t.assign(a,p),d&&e.mergeEvaluated(d,kl.Name)})})}}};Qm.default=rj;var eE={};Object.defineProperty(eE,"__esModule",{value:!0});const nj=Dt,uj={keyword:"allOf",schemaType:"array",code(e){const{gen:t,schema:r,it:n}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");const u=t.name("valid");r.forEach((s,o)=>{if((0,nj.alwaysValidSchema)(n,s))return;const a=e.subschema({keyword:"allOf",schemaProp:o},u);e.ok(u),e.mergeEvaluated(a)})}};eE.default=uj;var tE={};Object.defineProperty(tE,"__esModule",{value:!0});const mp=ut,o7=Dt,sj={message:({params:e})=>(0,mp.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,mp._)`{failingKeyword: ${e.ifClause}}`},oj={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:sj,code(e){const{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0,o7.checkStrictMode)(n,'"if" without "then" and "else" is ignored');const u=vv(n,"then"),s=vv(n,"else");if(!u&&!s)return;const o=t.let("valid",!0),a=t.name("_valid");if(i(),e.reset(),u&&s){const l=t.let("ifClause");e.setParams({ifClause:l}),t.if(a,c("then",l),c("else",l))}else u?t.if(a,c("then")):t.if((0,mp.not)(a),c("else"));e.pass(o,()=>e.error(!0));function i(){const l=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);e.mergeEvaluated(l)}function c(l,p){return()=>{const d=e.subschema({keyword:l},a);t.assign(o,a),e.mergeValidEvaluated(d,o),p?t.assign(p,(0,mp._)`${l}`):e.setParams({ifClause:l})}}}};function vv(e,t){const r=e.schema[t];return r!==void 0&&!(0,o7.alwaysValidSchema)(e,r)}tE.default=oj;var rE={};Object.defineProperty(rE,"__esModule",{value:!0});const aj=Dt,ij={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0,aj.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};rE.default=ij;Object.defineProperty(Vm,"__esModule",{value:!0});const cj=wa,lj=Hm,pj=_a,dj=Wm,fj=Jm,Dj=u7,hj=zm,mj=Kp,Ej=Km,yj=Xm,vj=Ym,gj=Zm,Aj=Qm,Fj=eE,Cj=tE,bj=rE;function Sj(e=!1){const t=[vj.default,gj.default,Aj.default,Fj.default,Cj.default,bj.default,hj.default,mj.default,Dj.default,Ej.default,yj.default];return e?t.push(lj.default,dj.default):t.push(cj.default,pj.default),t.push(fj.default),t}Vm.default=Sj;var nE={},uE={};Object.defineProperty(uE,"__esModule",{value:!0});const Vt=ut,wj={message:({schemaCode:e})=>(0,Vt.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,Vt._)`{format: ${e}}`},_j={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:wj,code(e,t){const{gen:r,data:n,$data:u,schema:s,schemaCode:o,it:a}=e,{opts:i,errSchemaPath:c,schemaEnv:l,self:p}=a;if(!i.validateFormats)return;u?d():f();function d(){const h=r.scopeValue("formats",{ref:p.formats,code:i.code.formats}),y=r.const("fDef",(0,Vt._)`${h}[${o}]`),A=r.let("fType"),m=r.let("format");r.if((0,Vt._)`typeof ${y} == "object" && !(${y} instanceof RegExp)`,()=>r.assign(A,(0,Vt._)`${y}.type || "string"`).assign(m,(0,Vt._)`${y}.validate`),()=>r.assign(A,(0,Vt._)`"string"`).assign(m,y)),e.fail$data((0,Vt.or)(v(),C()));function v(){return i.strictSchema===!1?Vt.nil:(0,Vt._)`${o} && !${m}`}function C(){const B=l.$async?(0,Vt._)`(${y}.async ? await ${m}(${n}) : ${m}(${n}))`:(0,Vt._)`${m}(${n})`,T=(0,Vt._)`(typeof ${m} == "function" ? ${B} : ${m}.test(${n}))`;return(0,Vt._)`${m} && ${m} !== true && ${A} === ${t} && !${T}`}}function f(){const h=p.formats[s];if(!h){v();return}if(h===!0)return;const[y,A,m]=C(h);y===t&&e.pass(B());function v(){if(i.strictSchema===!1){p.logger.warn(T());return}throw new Error(T());function T(){return`unknown format "${s}" ignored in schema at path "${c}"`}}function C(T){const N=T instanceof RegExp?(0,Vt.regexpCode)(T):i.code.formats?(0,Vt._)`${i.code.formats}${(0,Vt.getProperty)(s)}`:void 0,R=r.scopeValue("formats",{key:s,ref:T,code:N});return typeof T=="object"&&!(T instanceof RegExp)?[T.type||"string",T.validate,(0,Vt._)`${R}.validate`]:["string",T,R]}function B(){if(typeof h=="object"&&!(h instanceof RegExp)&&h.async){if(!l.$async)throw new Error("async format in sync schema");return(0,Vt._)`await ${m}(${n})`}return typeof A=="function"?(0,Vt._)`${m}(${n})`:(0,Vt._)`${m}.test(${n})`}}}};uE.default=_j;Object.defineProperty(nE,"__esModule",{value:!0});const Bj=uE,Tj=[Bj.default];nE.default=Tj;var da={};Object.defineProperty(da,"__esModule",{value:!0});da.contentVocabulary=da.metadataVocabulary=void 0;da.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];da.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"];Object.defineProperty(Tm,"__esModule",{value:!0});const $j=$m,Pj=km,kj=Vm,Oj=nE,gv=da,Ij=[$j.default,Pj.default,(0,kj.default)(),Oj.default,gv.metadataVocabulary,gv.contentVocabulary];Tm.default=Ij;var sE={},a7={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.DiscrError=void 0,function(t){t.Tag="tag",t.Mapping="mapping"}(e.DiscrError||(e.DiscrError={}))})(a7);Object.defineProperty(sE,"__esModule",{value:!0});const Ho=ut,X2=a7,Av=Nr,Nj=Dt,qj={message:({params:{discrError:e,tagName:t}})=>e===X2.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0,Ho._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},xj={keyword:"discriminator",type:"object",schemaType:"object",error:qj,code(e){const{gen:t,data:r,schema:n,parentSchema:u,it:s}=e,{oneOf:o}=u;if(!s.opts.discriminator)throw new Error("discriminator: requires discriminator option");const a=n.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!o)throw new Error("discriminator: requires oneOf keyword");const i=t.let("valid",!1),c=t.const("tag",(0,Ho._)`${r}${(0,Ho.getProperty)(a)}`);t.if((0,Ho._)`typeof ${c} == "string"`,()=>l(),()=>e.error(!1,{discrError:X2.DiscrError.Tag,tag:c,tagName:a})),e.ok(i);function l(){const f=d();t.if(!1);for(const h in f)t.elseIf((0,Ho._)`${c} === ${h}`),t.assign(i,p(f[h]));t.else(),e.error(!1,{discrError:X2.DiscrError.Mapping,tag:c,tagName:a}),t.endIf()}function p(f){const h=t.name("valid"),y=e.subschema({keyword:"oneOf",schemaProp:f},h);return e.mergeEvaluated(y,Ho.Name),h}function d(){var f;const h={},y=m(u);let A=!0;for(let B=0;Bthis.addVocabulary(h)),this.opts.discriminator&&this.addKeyword(u.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;const h=this.opts.$data?this.$dataMetaSchema(s,o):s;this.addMetaSchema(h,a,!1),this.refs["http://json-schema.org/schema"]=a}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(a)?a:void 0)}}e.exports=t=i,Object.defineProperty(t,"__esModule",{value:!0}),t.default=i;var c=Tn;Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return c.KeywordCxt}});var l=ut;Object.defineProperty(t,"_",{enumerable:!0,get:function(){return l._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return l.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return l.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return l.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return l.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return l.CodeGen}});var p=ec;Object.defineProperty(t,"ValidationError",{enumerable:!0,get:function(){return p.default}});var d=tc;Object.defineProperty(t,"MissingRefError",{enumerable:!0,get:function(){return d.default}})})(eq,lp);const Hj="Root",Wj="object",Jj="Root Element",zj={base64String:{type:"string",pattern:"^[A-Za-z0-9/+=]*$"},tagString:{type:"string",pattern:"^[a-z][a-z0-9]*(:.+)?$"}},Kj={id:{type:"string"},metadata:{type:"object",properties:{selectors:{type:"object",additionalProperties:{type:"string"}}},required:["selectors"],additionalProperties:!1},tags:{type:"array",items:{type:"string",$ref:"#/definitions/tagString"}},enums:{type:"object",properties:{ids:{$ref:"#/definitions/base64String"},wordLike:{$ref:"#/definitions/base64String"},notWordLike:{$ref:"#/definitions/base64String"},scopeBits:{$ref:"#/definitions/base64String"},graftTypes:{$ref:"#/definitions/base64String"}},required:["ids","wordLike","notWordLike","scopeBits","graftTypes"],additionalProperties:!1},docs:{type:"object",propertyNames:{type:"string"},additionalProperties:{type:"object",properties:{sequences:{type:"object",additionalProperties:{type:"object",properties:{type:{type:"string"},blocks:{type:"array",items:{type:"object",properties:{bs:{type:"string"},bg:{type:"string"},c:{type:"string"},is:{type:"string"},os:{type:"string"},nt:{type:"string"}},required:["bs","bg","c","is","os","nt"],additionalProperties:!1}},tags:{type:"array",items:{type:"string",$ref:"#/definitions/tagString"}},chapters:{type:"object",additionalProperties:{type:"string"}},chapterVerses:{type:"object",additionalProperties:{type:"string"}},tokensPresent:{type:"string"}},required:["blocks","tags"],additionalProperties:!1}},headers:{type:"object",additionalProperties:{type:"string"}},mainId:{type:"string"},tags:{type:"array",items:{type:"string",$ref:"#/definitions/tagString"}}},required:["sequences","headers","mainId","tags"],additionalProperties:!1}},additionalProperties:!1},Xj=["id","enums","docs","tags"],Yj=!1,Zj={title:Hj,type:Wj,description:Jj,definitions:zj,properties:Kj,required:Xj,additionalProperties:Yj},Qj="version 0.1.0",eM="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_2_1/document_structure.json",tM="Document (Structure)",rM="A document, typically corresponding to a single USFM or USX book",nM="object",uM={schema:{type:"object",properties:{structure:{description:"The basic 'shape' of the content",type:"string",enum:["flat","nested"]},structure_version:{description:"the semantic version of the structure schema",type:"string"},constraints:{type:"array",items:{type:"object",properties:{name:{type:"string",enum:["perf","sofria"]},version:{description:"the semantic version of the constraint schema",type:"string"}},additionalProperties:!1,required:["name","version"]}}},required:["structure","structure_version","constraints"],additionalProperties:!1},metadata:{description:"Metadata describing the document and the translation it belongs to",type:"object",properties:{translation:{type:"object",description:"Metadata concerning the translation to which the document belongs",properties:{tags:{description:"Tags attached to the translation",type:"array",items:{type:"string"}},properties:{type:"object",description:"Key/value properties attached to the translation",additionalProperties:{type:"string"}},selectors:{type:"object",description:"Proskomma selectors for the translation that, together, provide a primary key in the translation store",additionalProperties:{type:"string"}}},additionalProperties:{type:"string"},required:["id"]},document:{type:"object",description:"Metadata concerning the document itself",properties:{tags:{type:"array",description:"Tags attached to the document",items:{type:"string"}},properties:{type:"object",description:"Key/value properties attached to the document",additionalProperties:{type:"string"}},chapters:{type:"string",pattern:"^[1-9][0-9]*(-[1-9][0-9]*)?$"}},additionalProperties:{type:"string"}}},additionalProperties:!1},sequences:{type:"object",propertyNames:{pattern:"^\\S+$"},additionalProperties:{$ref:"./sequence_structure.json"}},sequence:{$ref:"./sequence_structure.json"},main_sequence_id:{type:"string"}},sM=["schema","metadata"],oM=!1,aM={required:["sequences","main_sequence_id"],not:{required:["sequence"]}},iM={$comment:Qj,$id:eM,title:tM,description:rM,type:nM,properties:uM,required:sM,additionalProperties:oM,if:{properties:{schema:{type:"object",properties:{structure:{enum:["flat"]}}}}},then:aM,else:{required:["sequence"],allOf:[{not:{required:["sequences"]}},{not:{required:["main_sequence_id"]}}]}},cM="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_2_1/sequence_structure.json",lM="Sequence (Structure)",pM="A sequence contains a 'flow' of one or more blocks",dM="object",fM={type:{description:"The type of sequence",type:"string"},preview_text:{description:"An optional field to provide some kind of printable label",type:"string"},blocks:{type:"array",description:"The blocks that, together, represent the 'flow' of the sequence",items:{$ref:"./block_structure.json"}}},DM=["type"],hM=!1,mM={$id:cM,title:lM,description:pM,type:dM,properties:fM,required:DM,additionalProperties:hM},EM="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_2_1/block_structure.json",yM="Block (Structure)",vM="A block, which represents either a paragraph of text or a graft",gM="object",AM={type:{type:"string",description:"The type of block",enum:["paragraph","graft"]},subtype:{description:"A type-specific subtype",type:"string"},target:{description:"The id of the sequence containing graft content",type:"string"},sequence:{description:"The sequence containing graft content",$ref:"./sequence_structure.json"},preview_text:{description:"An optional field to provide some kind of printable label for a graft",type:"string"},new:{description:"If present and true, is interpreted as a request for the server to create a new graft",type:"boolean"},atts:{type:"object",description:"An object containing USFM attributes or subtype-specific additional information (such as the number of a verse or chapter). The value may be a boolean, a string or an array of strings",additionalProperties:{oneOf:[{type:"array",items:{type:"string"}},{type:"string"},{type:"boolean"}]}},content:{type:"array",description:"The content of the block",items:{oneOf:[{type:"string"},{$ref:"./contentElement_structure.json"}]}}},FM=["type"],CM=!1,bM={required:["content"],allOf:[{not:{required:["new"]}},{not:{required:["preview_text"]}},{not:{required:["target"]}}]},SM={$id:EM,title:yM,description:vM,type:gM,properties:AM,required:FM,additionalProperties:CM,if:{properties:{type:{enum:["paragraph"]}}},then:bM,else:{if:{required:["new"],properties:{new:{enum:[!0]}}},then:{allOf:[{oneOf:[{required:["subtype"]},{required:["sequence"]}]},{not:{required:["target"]}},{not:{required:["preview_text"]}},{not:{required:["content"]}}]},else:{oneOf:[{required:["target"]},{required:["sequence"]}]}}},wM="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_2_1/contentElement_structure.json",_M="Content Element (Structure)",BM="A content element, ie some form of (possibly nested) markup",TM="object",$M={type:{type:"string",description:"The type of element",enum:["mark","wrapper","start_milestone","end_milestone","graft"]},subtype:{description:"The subtype of the element, which is context-dependent",type:"string"},atts:{type:"object",description:"An object containing USFM attributes or subtype-specific additional information (such as the number of a verse or chapter). The value may be a boolean, a string or an array of strings",additionalProperties:{oneOf:[{type:"array",items:{type:"string"}},{type:"string"},{type:"boolean"}]}},target:{type:"string",description:"The id of the sequence containing graft content"},sequence:{description:"The sequence containing graft content",$ref:"./sequence_structure.json"},preview_text:{description:"An optional field to provide some kind of printable label for a graft",type:"string"},new:{type:"boolean",description:"If present and true, is interpreted as a request for the server to create a new graft"},content:{type:"array",description:"Nested content within the content element",items:{oneOf:[{type:"string"},{$ref:"./contentElement_structure.json"}]}},meta_content:{type:"array",description:"Non-Scripture content related to the content element, such as checking data or related resources",items:{oneOf:[{type:"string"},{$ref:"./contentElement_structure.json"}]}}},PM=["type"],kM=!1,OM={$id:wM,title:_M,description:BM,type:TM,properties:$M,required:PM,additionalProperties:kM},IM="version 0.2.0",NM="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/perf_document_constraint.json",qM="object",xM={sequences:{type:"object",propertyNames:{pattern:"^\\S+$"},additionalProperties:{$ref:"./perf_sequence_constraint.json"}}},RM={$comment:IM,$id:NM,type:qM,properties:xM},jM="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/perf_sequence_constraint.json",MM="object",LM={type:{type:"string",enum:["main","introduction","intro_title","intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv","footnote","note_caller","xref","pub_number","alt_number","esb_cat","fig","temp"]},blocks:{type:"array",items:{$ref:"./perf_block_constraint.json"}}},UM={$id:jM,type:MM,properties:LM},GM="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/perf_block_constraint.json",VM="object",HM={type:{type:"string",enum:["paragraph","graft"]},content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./perf_contentElement_constraint.json"}]}},meta_content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./perf_contentElement_constraint.json"}]}}},WM={properties:{subtype:{enum:["introduction","intro_title","Intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv"]}}},JM={$id:GM,type:VM,properties:HM,if:{properties:{type:{enum:["graft"]}}},then:WM,else:{properties:{subtype:{type:"string",pattern:"^usfm:"}}}},zM="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/perf_contentElement_constraint.json",KM="object",XM=[{properties:{content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./perf_contentElement_constraint.json"}]}},meta_content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./perf_contentElement_constraint.json"}]}}}},{if:{properties:{type:{enum:["graft"]}}},then:{properties:{subtype:{enum:["footnote","xref","note_caller"]}},allOf:[{not:{required:["content"]}},{not:{required:["meta_content"]}}],if:{required:["new"],properties:{new:{enum:[!0]}}},then:{not:{anyOf:[{required:["target"]},{required:["preview_text"]}]}},else:{required:["target"]}}},{if:{properties:{type:{enum:["mark"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["chapter","verses"]},{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},if:{properties:{subtype:{enum:["chapter","verses"]}}},then:{type:"object",required:["atts"],properties:{atts:{type:"object",required:["number"],maxProperties:1}}}}},{if:{properties:{type:{enum:["wrapper"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["meta_content"]},{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},if:{properties:{subtype:{enum:["meta_content"]}}},then:{not:{required:["atts"]}}}},{if:{properties:{type:{enum:["start_milestone"]}}},then:{properties:{subtype:{type:"string",oneOf:[{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}}}},{if:{properties:{type:{enum:["end_milestone"]}}},then:{properties:{subtype:{type:"string",oneOf:[{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},not:{required:["atts"]}}}],YM={$id:zM,type:KM,allOf:XM},ZM="version 0.2.0",QM="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/sofria_document_constraint.json",eL="object",tL={sequences:{type:"object",propertyNames:{pattern:"^\\S+$"},additionalProperties:{$ref:"./sofria_sequence_constraint.json"}}},rL={$comment:ZM,$id:QM,type:eL,properties:tL},nL="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/sofria_sequence_constraint.json",uL="object",sL={type:{type:"string",enum:["main","introduction","intro_title","intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv","footnote","note_caller","xref","pub_number","alt_number","esb_cat","fig","temp"]},blocks:{type:"array",items:{$ref:"./sofria_block_constraint.json"}}},oL={$id:nL,type:uL,properties:sL},aL="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/sofria_block_constraint.json",iL="object",cL={type:{type:"string",enum:["paragraph","graft"]},content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./sofria_contentElement_constraint.json"}]}},meta_content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./sofria_contentElement_constraint.json"}]}}},lL={properties:{subtype:{enum:["introduction","intro_title","Intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv"]}}},pL={$id:aL,type:iL,properties:cL,if:{properties:{type:{enum:["graft"]}}},then:lL,else:{properties:{subtype:{type:"string",pattern:"^usfm:"}}}},dL="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/sofria_contentElement_constraint.json",fL="object",DL=[{properties:{content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./sofria_contentElement_constraint.json"}]}},meta_content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./sofria_contentElement_constraint.json"}]}}}},{if:{properties:{type:{enum:["graft"]}}},then:{properties:{subtype:{enum:["footnote","xref","note_caller"]}},allOf:[{not:{required:["content"]}},{not:{required:["meta_content"]}}],if:{required:["new"],properties:{new:{enum:[!0]}}},then:{not:{anyOf:[{required:["block"]},{required:["preview_text"]}]}},else:{required:["block"]}}},{if:{properties:{type:{enum:["mark"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["chapter_label","verses_label"]},{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},if:{properties:{subtype:{enum:["chapter","verses"]}}},then:{type:"object",required:["atts"],properties:{atts:{type:"object",required:["number"],maxProperties:1}}}}},{if:{properties:{type:{enum:["wrapper"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["meta_content","chapter","verses"]},{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},if:{properties:{subtype:{enum:["meta_content"]}}},then:{not:{required:["atts"]}}}},{if:{properties:{type:{enum:["start_milestone"]}}},then:{properties:{subtype:{type:"string",oneOf:[{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}}}},{if:{properties:{type:{enum:["end_milestone"]}}},then:{properties:{subtype:{type:"string",oneOf:[{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},not:{required:["atts"]}}}],hL={$id:dL,type:fL,allOf:DL},mL="version 0.1.0",EL="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_3_0/document_structure.json",yL="Document (Structure)",vL="A document, typically corresponding to a single USFM or USX book",gL="object",AL={schema:{type:"object",properties:{structure:{description:"The basic 'shape' of the content",type:"string",enum:["flat","nested"]},structure_version:{description:"the semantic version of the structure schema",type:"string"},constraints:{type:"array",items:{type:"object",properties:{name:{type:"string",enum:["perf","sofria"]},version:{description:"the semantic version of the constraint schema",type:"string"}},additionalProperties:!1,required:["name","version"]}}},required:["structure","structure_version","constraints"],additionalProperties:!1},metadata:{description:"Metadata describing the document and the translation it belongs to",type:"object",properties:{translation:{type:"object",description:"Metadata concerning the translation to which the document belongs",properties:{tags:{description:"Tags attached to the translation",type:"array",items:{type:"string"}},properties:{type:"object",description:"Key/value properties attached to the translation",additionalProperties:{type:"string"}},selectors:{type:"object",description:"Proskomma selectors for the translation that, together, provide a primary key in the translation store",additionalProperties:{type:"string"}}},additionalProperties:{type:"string"},required:["id"]},document:{type:"object",description:"Metadata concerning the document itself",properties:{tags:{type:"array",description:"Tags attached to the document",items:{type:"string"}},properties:{type:"object",description:"Key/value properties attached to the document",additionalProperties:{type:"string"}},chapters:{type:"string",pattern:"^[1-9][0-9]*(-[1-9][0-9]*)?$"}},additionalProperties:{type:"string"}}},additionalProperties:!1},hooks:{type:"array",$ref:"./hook_structure.json"},sequences:{type:"object",propertyNames:{pattern:"^\\S+$"},additionalProperties:{$ref:"./sequence_structure.json"}},sequence:{$ref:"./sequence_structure.json"},main_sequence_id:{type:"string"}},FL=["schema","metadata"],CL=!1,bL={required:["sequences","main_sequence_id"],not:{required:["sequence"]}},SL={$comment:mL,$id:EL,title:yL,description:vL,type:gL,properties:AL,required:FL,additionalProperties:CL,if:{properties:{schema:{type:"object",properties:{structure:{enum:["flat"]}}}}},then:bL,else:{required:["sequence"],allOf:[{not:{required:["sequences"]}},{not:{required:["main_sequence_id"]}}]}},wL="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_3_0/sequence_structure.json",_L="Sequence (Structure)",BL="A sequence contains a 'flow' of one or more blocks",TL="object",$L={type:{description:"The type of sequence",type:"string"},preview_text:{description:"An optional field to provide some kind of printable label",type:"string"},blocks:{type:"array",description:"The blocks that, together, represent the 'flow' of the sequence",items:{$ref:"./block_structure.json"}},hooks:{type:"array",$ref:"./hook_structure.json"}},PL=["type"],kL=!1,OL={$id:wL,title:_L,description:BL,type:TL,properties:$L,required:PL,additionalProperties:kL},IL="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_3_0/block_structure.json",NL="Block (Structure)",qL="A block, which represents either a paragraph of text or a graft",xL="object",RL={type:{type:"string",description:"The type of block",enum:["paragraph","row","node","lookup","graft"]},subtype:{description:"A type-specific subtype",type:"string"},target:{description:"The id of the sequence containing graft content",type:"string"},sequence:{description:"The sequence containing graft content",$ref:"./sequence_structure.json"},preview_text:{description:"An optional field to provide some kind of printable label for a graft",type:"string"},new:{description:"If present and true, is interpreted as a request for the server to create a new graft",type:"boolean"},atts:{type:"object",description:"An object containing USFM attributes or subtype-specific additional information (such as the number of a verse or chapter). The value may be a boolean, a string or an array of strings",additionalProperties:{oneOf:[{type:"array",items:{type:"string"}},{type:"string"},{type:"boolean"}]}},content:{type:"array",description:"The content of the block",items:{oneOf:[{type:"string"},{$ref:"./contentElement_structure.json"}]}},hooks:{type:"array",$ref:"./hook_structure.json"}},jL=["type"],ML=!1,LL={required:["content"],allOf:[{not:{required:["new"]}},{not:{required:["preview_text"]}},{not:{required:["target"]}}]},UL={$id:IL,title:NL,description:qL,type:xL,properties:RL,required:jL,additionalProperties:ML,if:{properties:{type:{enum:["paragraph","row","node","lookup"]}}},then:LL,else:{if:{required:["new"],properties:{new:{enum:[!0]}}},then:{allOf:[{oneOf:[{required:["subtype"]},{required:["sequence"]}]},{not:{required:["target"]}},{not:{required:["preview_text"]}},{not:{required:["content"]}}]},else:{oneOf:[{required:["target"]},{required:["sequence"]}]}}},GL="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_3_0/contentElement_structure.json",VL="Content Element (Structure)",HL="A content element, ie some form of (possibly nested) markup",WL="object",JL={type:{type:"string",description:"The type of element",enum:["mark","wrapper","start_milestone","end_milestone","graft"]},subtype:{description:"The subtype of the element, which is context-dependent",type:"string"},atts:{type:"object",description:"An object containing USFM attributes or subtype-specific additional information (such as the number of a verse or chapter). The value may be a boolean, a string or an array of strings",additionalProperties:{oneOf:[{type:"array",items:{type:"string"}},{type:"string"},{type:"boolean"}]}},target:{type:"string",description:"The id of the sequence containing graft content"},sequence:{description:"The sequence containing graft content",$ref:"./sequence_structure.json"},preview_text:{description:"An optional field to provide some kind of printable label for a graft",type:"string"},new:{type:"boolean",description:"If present and true, is interpreted as a request for the server to create a new graft"},content:{type:"array",description:"Nested content within the content element",items:{oneOf:[{type:"string"},{$ref:"./contentElement_structure.json"}]}},meta_content:{type:"array",description:"Non-Scripture content related to the content element, such as checking data or related resources",items:{oneOf:[{type:"string"},{$ref:"./contentElement_structure.json"}]}},hooks:{type:"array",$ref:"./hook_structure.json"}},zL=["type"],KL=!1,XL={$id:GL,title:VL,description:HL,type:WL,properties:JL,required:zL,additionalProperties:KL},YL="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_3_0/hook_structure.json",ZL="Hook (Structure)",QL="Hooks, ie typed labels that may be used to link documents",eU="array",tU={type:"array",items:[{type:"string",oneOf:[{enum:["bcv_ref","book_ref"]},{pattern:"^x-(app|publisher)-[a-z][a-z0-9]+-\\S{2,256}$"},{pattern:"^x-local-\\S{2,256}$"}]},{type:"string",oneOf:[{enum:["label"]},{pattern:"^\\w{1,255}$"}]}],minItems:2,maxItems:2},rU={$id:YL,title:ZL,description:QL,type:eU,items:tU},nU="version 0.3.0",uU="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/perf_document_constraint.json",sU="object",oU={hooks:{type:"array"},sequences:{type:"object",propertyNames:{pattern:"^\\S+$"},additionalProperties:{$ref:"./perf_sequence_constraint.json"}}},aU={$comment:nU,$id:uU,type:sU,properties:oU},iU="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/perf_sequence_constraint.json",cU="object",lU={type:{type:"string",enum:["main","introduction","intro_title","intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv","footnote","note_caller","xref","pub_number","alt_number","esb_cat","fig","temp"]},blocks:{type:"array",items:{$ref:"./perf_block_constraint.json"}}},pU={$id:iU,type:cU,properties:lU},dU="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/perf_block_constraint.json",fU="object",DU={type:{type:"string",enum:["paragraph","graft","row","node","lookup"]},content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./perf_contentElement_constraint.json"}]}},meta_content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./perf_contentElement_constraint.json"}]}}},hU={properties:{subtype:{enum:["introduction","intro_title","Intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv"]}}},mU={$id:dU,type:fU,properties:DU,if:{properties:{type:{enum:["graft"]}}},then:hU,else:{if:{properties:{type:{enum:["row"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["row:heading","row:body"]}]}}},else:{if:{properties:{type:{enum:["node"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["node"]},{pattern:"^x-\\S{1,256}$"}]},atts:{type:"object",properties:{id:{type:"string"},parent:{type:"string"},children:{type:"array",items:{type:"string"}}},required:["id"],additionalProperties:!1}}},else:{if:{properties:{type:{enum:["lookup"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["lookup"]},{pattern:"^x-\\S{1,256}$"}]},atts:{type:"object",properties:{primary:{type:"string"},secondary:{type:"array",items:{type:"string"}}},required:["primary"],additionalProperties:!1}}},else:{properties:{subtype:{type:"string",oneOf:[{pattern:"^usfm:"},{pattern:"^x-\\S{1,256}$"}]}}}}}}},EU="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/perf_contentElement_constraint.json",yU="object",vU=[{properties:{content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./perf_contentElement_constraint.json"}]}},meta_content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./perf_contentElement_constraint.json"}]}}}},{if:{properties:{type:{enum:["graft"]}}},then:{properties:{subtype:{enum:["footnote","xref","note_caller"]}},allOf:[{not:{required:["content"]}},{not:{required:["meta_content"]}}],if:{required:["new"],properties:{new:{enum:[!0]}}},then:{not:{anyOf:[{required:["target"]},{required:["preview_text"]}]}},else:{required:["target"]}}},{if:{properties:{type:{enum:["mark"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["chapter","verses","alt_chapter","alt_verse","pub_chapter","pub_verse"]},{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},if:{properties:{subtype:{enum:["chapter","verses"]}}},then:{type:"object",required:["atts"],properties:{atts:{type:"object",required:["number"],maxProperties:1}}}}},{if:{properties:{type:{enum:["wrapper"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["meta_content"]},{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},if:{properties:{subtype:{enum:["meta_content"]}}},then:{not:{required:["atts"]}}}},{if:{properties:{type:{enum:["start_milestone"]}}},then:{properties:{subtype:{type:"string",oneOf:[{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}}}},{if:{properties:{type:{enum:["end_milestone"]}}},then:{properties:{subtype:{type:"string",oneOf:[{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},not:{required:["atts"]}}}],gU={$id:EU,type:yU,allOf:vU},AU="version 0.3.0",FU="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/sofria_document_constraint.json",CU="object",bU={sequence:{$ref:"./sofria_sequence_constraint.json"}},SU={$comment:AU,$id:FU,type:CU,properties:bU},wU="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/sofria_sequence_constraint.json",_U="object",BU={type:{type:"string",enum:["main","introduction","intro_title","intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv","footnote","note_caller","xref","pub_number","alt_number","esb_cat","fig","temp"]},blocks:{type:"array",items:{$ref:"./sofria_block_constraint.json"}}},TU={$id:wU,type:_U,properties:BU},$U="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/sofria_block_constraint.json",PU="object",kU={type:{type:"string",enum:["paragraph","graft"]},content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./sofria_contentElement_constraint.json"}]}},meta_content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./sofria_contentElement_constraint.json"}]}}},OU={properties:{subtype:{enum:["introduction","intro_title","Intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv"]}}},IU={$id:$U,type:PU,properties:kU,if:{properties:{type:{enum:["graft"]}}},then:OU,else:{properties:{subtype:{type:"string",pattern:"^usfm:"}}}},NU="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/sofria_contentElement_constraint.json",qU="object",xU=[{properties:{content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./sofria_contentElement_constraint.json"}]}},meta_content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./sofria_contentElement_constraint.json"}]}}}},{if:{properties:{type:{enum:["graft"]}}},then:{properties:{subtype:{enum:["footnote","xref","note_caller"]}},allOf:[{not:{required:["content"]}},{not:{required:["meta_content"]}}],if:{required:["new"],properties:{new:{enum:[!0]}}},then:{not:{anyOf:[{required:["blocks"]},{required:["preview_text"]}]}},else:{required:["sequence"]}}},{if:{properties:{type:{enum:["mark"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["chapter_label","verses_label","alt_chapter","alt_verse","pub_chapter","pub_verse"]},{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},if:{properties:{subtype:{enum:["chapter","verses"]}}},then:{type:"object",required:["atts"],properties:{atts:{type:"object",required:["number"],maxProperties:1}}}}},{if:{properties:{type:{enum:["wrapper"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["meta_content","chapter","verses"]},{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},if:{properties:{subtype:{enum:["meta_content"]}}},then:{not:{required:["atts"]}}}},{if:{properties:{type:{enum:["start_milestone"]}}},then:{properties:{subtype:{type:"string",oneOf:[{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}}}},{if:{properties:{type:{enum:["end_milestone"]}}},then:{properties:{subtype:{type:"string",oneOf:[{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},not:{required:["atts"]}}}],RU={$id:NU,type:qU,allOf:xU};var Gt=lp,jU=Zj,ff=iM,Fo=mM,Co=SM,bo=OM,MU=RM,Fv=UM,Cv=JM,bv=YM,LU=rL,Sv=oL,wv=pL,_v=hL,Df=SL,So=OL,wo=UL,_o=XL,jn=rU,UU=aU,Bv=pU,Tv=mU,$v=gU,GU=SU,Pv=TU,kv=IU,Ov=RU;let VU=class{constructor(){this.schema={structure:{},constraint:{},proskomma:{}};for(var[t,r]of[["succinct",{"0.2.0":[{name:"Proskomma Serialized Succinct",validator:new Gt().compile(jU)}]}]])this.schema.proskomma[t]=r;for(var[n,u]of[["document",{"0.2.1":[{name:"Document Structure",validator:new Gt().addSchema(bo).addSchema(Co).addSchema(Fo).compile(ff)}],"0.3.0":[{name:"Document Structure",validator:new Gt().addSchema(jn).addSchema(_o).addSchema(wo).addSchema(So).compile(Df)}]}],["sequence",{"0.2.1":[{name:"Sequence Structure",validator:new Gt().addSchema(bo).addSchema(Co).compile(Fo)}],"0.3.0":[{name:"Sequence Structure",validator:new Gt().addSchema(jn).addSchema(_o).addSchema(wo).compile(So)}]}]])this.schema.structure[n]=u;for(var[s,o]of[["perfDocument",{"0.2.1":[{name:"Document Structure",validator:new Gt().addSchema(bo).addSchema(Co).addSchema(Fo).compile(ff)},{name:"PERF Document",validator:new Gt().addSchema(bv).addSchema(Cv).addSchema(Fv).compile(MU)}],"0.3.0":[{name:"Document Structure",validator:new Gt().addSchema(jn).addSchema(_o).addSchema(wo).addSchema(So).compile(Df)},{name:"PERF Document",validator:new Gt().addSchema(jn).addSchema($v).addSchema(Tv).addSchema(Bv).compile(UU)}]}],["perfSequence",{"0.2.1":[{name:"Sequence Structure",validator:new Gt().addSchema(bo).addSchema(Co).compile(Fo)},{name:"PERF Sequence",validator:new Gt().addSchema(bv).addSchema(Cv).compile(Fv)}],"0.3.0":[{name:"Sequence Structure",validator:new Gt().addSchema(jn).addSchema(_o).addSchema(wo).compile(So)},{name:"PERF Sequence",validator:new Gt().addSchema(jn).addSchema($v).addSchema(Tv).compile(Bv)}]}],["sofriaDocument",{"0.2.1":[{name:"Document Structure",validator:new Gt().addSchema(bo).addSchema(Co).addSchema(Fo).compile(ff)},{name:"SOFRIA Document",validator:new Gt().addSchema(_v).addSchema(wv).addSchema(Sv).compile(LU)}],"0.3.0":[{name:"Document Structure",validator:new Gt().addSchema(jn).addSchema(_o).addSchema(wo).addSchema(So).compile(Df)},{name:"SOFRIA Document",validator:new Gt().addSchema(jn).addSchema(Ov).addSchema(kv).addSchema(Pv).compile(GU)}]}],["sofriaSequence",{"0.2.1":[{name:"Sequence Structure",validator:new Gt().addSchema(bo).addSchema(Co).compile(Fo)},{name:"SOFRIA Sequence",validator:new Gt().addSchema(_v).addSchema(wv).compile(Sv)}],"0.3.0":[{name:"Sequence Structure",validator:new Gt().addSchema(jn).addSchema(_o).addSchema(wo).compile(So)},{name:"SOFRIA Sequence",validator:new Gt().addSchema(jn).addSchema(Ov).addSchema(kv).compile(Pv)}]}]])this.schema.constraint[s]=o}schemaInfo(){var t={};for(var[r,n]of Object.entries(this.schema)){t[r]={};for(var[u,s]of Object.entries(n)){t[r][u]={};for(var[o,a]of Object.entries(s))t[r][u][o]=a.map(i=>i.name)}}return t}validate(t,r,n,u){if(u===void 0)throw new Error("data argument is missing. Usage: validate(schemaType, schemaKey, schemaVersion, data)");if(u===null)throw new Error("Data argument is null");var s=Object.keys(this.schema);if(!s.includes(t))throw new Error("Schema type must be one of ".concat(s.map(l=>"'".concat(l,"'")).join(", "),", not '").concat(t,"'"));if(!this.schema[t][r])throw new Error("Unknown ".concat(t," schema key ").concat(r));if(!this.schema[t][r][n])throw new Error("Unknown version ".concat(n," for ").concat(t," schema key ").concat(r));var o=this.schema[t][r][n],a;for(var{name:i,validator:c}of o)if(a={validatorName:i,isValid:c(u),errors:c.errors},!a.isValid)break;return{requested:{schemaType:t,schemaKey:r,schemaVersion:n},lastSchema:a.validatorName,isValid:a.isValid,errors:a.errors}}};var HU=VU,WU=["qs","qac","litl","lik","liv","fr","fq","fqa","fk","fl","fw","fp","fv","ft","fdc","fm","xo","xk","xq","xt","xta","xop","xot","xnt","xdc","rq","add","bk","dc","k","nd","ord","pn","png","qt","sig","sls","tl","wj","em","bd","it","bdit","no","sc","sup","ior","iqt","th","thr","tc","tcr"],JU=["ms","mr","s","sr","r","qa","sp","sd"],zU=["cd","p","m","po","pr","cls","pmo","pm","pmc","pmr","pi","mi","nb","pc","ph","b","q","qr","qc","qa","qm","qd","lh","li","lf","lim","d"],KU=["imt","is","imte"],XU=["ip","ipi","im","imi","ipq","imq","ipr","iq","ib","ili","iot","io","iex"],YU={characterTags:WU,bodyTags:zU,headingTags:JU,introHeadingTags:KU,introBodyTags:XU};const oE=bT(PT);var Iv=ZU(oE);function ZU(e){return e&&e.__esModule?e:{default:e}}var QU={startDocument:[{description:"Set up storage",test:()=>!0,action:e=>{var{workspace:t,output:r}=e;t.verseContent=[],t.chapter=null,t.verses=null,r.cv={}}}],mark:[{description:"Update CV state",test:()=>!0,action:e=>{var{context:t,workspace:r,output:n}=e,{element:u}=t.sequences[0];u.subType==="chapter"?(r.chapter=u.atts.number,r.verses=0,n.cv[r.chapter]={},n.cv[r.chapter][r.verses]={}):u.subType==="verses"&&(r.verses=u.atts.number,n.cv[r.chapter][r.verses]={})}}],text:[{description:"Log occurrences",test:()=>!0,action:e=>{var{context:t,workspace:r,output:n}=e,{chapter:u,verses:s}=r,{text:o}=t.sequences[0].element,a=(0,Iv.default)("([\\p{Letter}\\p{Number}\\p{Mark}\\u2060]{1,127})"),i=Iv.default.match(o,a,"all");for(var c of i){var l,p;(p=(l=n.cv[u][s])[c])!==null&&p!==void 0||(l[c]=0),n.cv[u][s][c]+=1}}}]},i7={verseWordsActions:QU},Nv=eG(oE);function eG(e){return e&&e.__esModule?e:{default:e}}function qv(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable})),r.push.apply(r,n)}return r}function Kc(e){for(var t=1;t!0,action:e=>{var{workspace:t,output:r}=e;return t.chapter=null,t.verses=null,t.lastWord="",t.waitingMarkup=[],t.currentOccurrences={},t.PendingStartMilestones=[],r.stripped={},r.unalignedWords={},!0}}],startMilestone:[{description:"Ignore zaln startMilestone events",test:e=>{var{context:t}=e;return t.sequences[0].element.subType==="usfm:zaln"},action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element;n.subtype=n.subType,delete n.subType,r.waitingMarkup.push(n),r.PendingStartMilestones.push(n)}}],endMilestone:[{description:"Ignore zaln endMilestone events",test:e=>{var{context:t}=e;return t.sequences[0].element.subType==="usfm:zaln"},action:e=>{var{context:t,workspace:r,output:n,config:u}=e,{chapter:s,verses:o,lastWord:a}=r,{verseWords:i}=u,c=["after",a,r.currentOccurrences[a],i[s][o][a]].join("--"),l=Kc({},t.sequences[0].element);l.subtype=l.subType,delete l.subType;var p={chapter:s,verses:o,occurrence:r.currentOccurrences[a],occurrences:i[s][o][a],position:"after",word:a,payload:l,startMilestone:r.PendingStartMilestones.shift()};return n.stripped[r.chapter][r.verses][c]?n.stripped[r.chapter][r.verses][c].push(p):n.stripped[r.chapter][r.verses][c]=[p],!1}}],startWrapper:[{description:"Ignore w startWrapper events",test:e=>{var{context:t}=e;return t.sequences[0].element.subType==="usfm:w"},action:e=>{var{context:t,workspace:r}=e,n=Kc({},t.sequences[0].element);n.subtype=n.subType,delete n.subType,r.waitingMarkup.push(n)}}],endWrapper:[{description:"Ignore w endWrapper events",test:e=>{var{context:t}=e;return t.sequences[0].element.subType==="usfm:w"},action:e=>{}}],text:[{description:"Log occurrences",test:()=>!0,action:e=>{var{context:t,workspace:r,output:n,config:u}=e;try{var s=t.sequences[0];if(s.type!=="main")return!0;var o=s.element.text,a=(0,Nv.default)("([\\p{Letter}\\p{Number}\\p{Mark}\\u2060]{1,127})"),i=Nv.default.match(o,a,"all"),{chapter:c,verses:l}=r,{verseWords:p}=u;for(var d of i){var f,h;if((h=(f=r.currentOccurrences)[d])!==null&&h!==void 0||(f[d]=0),r.currentOccurrences[d]++,!r.PendingStartMilestones.length&&r.waitingMarkup.length){var y,A,m,v;(A=(y=n.unalignedWords)[c])!==null&&A!==void 0||(y[c]={}),(v=(m=n.unalignedWords[c])[l])!==null&&v!==void 0||(m[l]=[]),n.unalignedWords[c][l].push({word:d,occurrence:r.currentOccurrences[d],totalOccurrences:p[c][l][d]})}for(;r.waitingMarkup.length;){var C=r.waitingMarkup.shift(),B=["before",d,r.currentOccurrences[d],p[c][l][d]].join("--"),T={chapter:c,verses:l,occurrence:r.currentOccurrences[d],occurrences:p[c][l][d],position:"before",word:d,payload:Kc(Kc({},C),C.subtype==="usfm:w"&&{content:[d]})};n.stripped[r.chapter][r.verses][B]?n.stripped[r.chapter][r.verses][B].push(T):n.stripped[r.chapter][r.verses][B]=[T]}r.lastWord=d}}catch(N){throw console.error(N),N}return!0}}],mark:[{description:"Update CV state",test:()=>!0,action:e=>{var{context:t,workspace:r,output:n}=e;try{var u=t.sequences[0].element;u.subType==="chapter"?(r.chapter=u.atts.number,r.verses=0,r.lastWord="",r.currentOccurrences={},n.stripped[r.chapter]={},n.stripped[r.chapter][r.verses]={}):u.subType==="verses"&&(r.verses=u.atts.number,r.lastWord="",r.currentOccurrences={},n.stripped[r.chapter][r.verses]={})}catch(s){throw console.error(s),s}return!0}}]},c7={stripMarkupActions:uG},Ls=sG(oE);function sG(e){return e&&e.__esModule?e:{default:e}}var l7=[["printable","wordLike",(0,Ls.default)("([\\p{Letter}\\p{Number}\\p{Mark}\\u2060]{1,127})")],["printable","lineSpace",(0,Ls.default)("([\\p{Separator} ]{1,127})")],["printable","punctuation",(0,Ls.default)("([\\p{Punctuation}\\p{Math_Symbol}\\p{Currency_Symbol}\\p{Modifier_Symbol}\\p{Other_Symbol}])")],["bad","unknown",(0,Ls.default)("(.)")]],oG=Ls.default.union(l7.map(e=>e[2])),aG={type:"end_milestone",subtype:"usfm:zaln"},iG={startDocument:[{description:"setup",test:()=>!0,action:e=>{var{workspace:t,output:r}=e;return t.chapter=null,t.verses=null,t.currentOccurrences={},r.unalignedWords={},!0}}],text:[{description:"add-to-text",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e;try{let v=function(){for(;h.length;)n.outputContentStack[0].push(h.shift())};var s=r.sequences[0];if(s.type!=="main")return!0;var o=r.sequences[0].element.text,a=Ls.default.match(o,oG,"all"),{chapter:i,verses:c}=n;if(!c)return!0;var{totalOccurrences:l,strippedAlignment:p}=t,d={opened:null},f=C=>{var{subtype:B,content:T=[],atts:N={}}=C;return Object.keys(N).length>0?{type:"wrapper",subtype:B,content:T,atts:N}:{type:"wrapper",subtype:B,content:T}},h=[],y=function(B){var T,N,R,J=(T=Ls.default.match(B,l7[0][2],"all"))===null||T===void 0?void 0:T.length;if(!J)return h.push(B),"continue";(R=(N=n.currentOccurrences)[B])!==null&&R!==void 0||(N[B]=0),n.currentOccurrences[B]++;var q=pe=>[pe,B,n.currentOccurrences[B],l[i][c][B]].join("--"),G=p[i][c],ee=!1,K=G[q("after")],ue=G[q("before")];if(ue!=null&&ue.length&&v(),K!=null&&K.length&&!d.opened&&(K.map(pe=>{var{startMilestone:z}=pe;return n.outputContentStack[0].push(z)}),ee=!0),ue==null||ue.forEach(pe=>{var{payload:z}=pe;z.type!=="start_milestone"&&n.outputContentStack[0].push(z),z.type==="start_milestone"&&!ee&&(n.outputContentStack[0].push(z),d.opened=!0)}),K==null||K.forEach(pe=>{var{payload:z}=pe;d.opened=!1,n.outputContentStack[0].push(z)}),!(ue!=null&&ue.length)){var oe,de,he,fe;d.opened&&(n.outputContentStack[0].push(aG),d.opened=!1),v(),(de=(oe=u.unalignedWords)[i])!==null&&de!==void 0||(oe[i]={}),(fe=(he=u.unalignedWords[i])[c])!==null&&fe!==void 0||(he[c]=[]),u.unalignedWords[n.chapter][n.verses].push({word:B,occurrence:n.currentOccurrences[B],totalOccurrences:l[i][c][B]});var ge=f({subtype:"usfm:w",content:[B]});n.outputContentStack[0].push(ge)}};for(var A of a)var m=y(A);return v(),!1}catch(v){throw console.error(v),v}}}],mark:[{description:"mark-chapters",test:e=>{var{context:t}=e;return t.sequences[0].element.subType==="chapter"},action:e=>{var{config:t,context:r,workspace:n,output:u}=e,s=r.sequences[0].element;return n.chapter=s.atts.number,n.verses=0,!0}},{description:"mark-verses",test:e=>{var{context:t}=e;return t.sequences[0].element.subType==="verses"},action:e=>{var{config:t,context:r,workspace:n,output:u}=e,s=r.sequences[0].element;return n.verses=s.atts.number,n.currentOccurrences={},!0}}]},p7={mergeAlignmentActions:iG},{verseWordsActions:cG}=i7,{stripMarkupActions:lG}=c7,{mergeAlignmentActions:pG}=p7,dG={verseWordsActions:cG,stripMarkupActions:lG,mergeAlignmentActions:pG};let fG=class{constructor(t){if(!t)throw new Error("Must provide a constructor object to constructor");this.description=t.description||function(r){throw r}(new Error("Must provide a description in constructor object")),this.test=t.test||(()=>!0),this.action=t.action||(()=>null)}};var DG=fG,xv=DG;let hG=class d7{constructor(t){if(this.constructor===d7)throw new Error("Abstract class ProskommaRender cannot be instantiated - make as subclass!");var r=t.actions||{};this.debugLevel=t.debugLevel||0,this.actions={};for(var n of["startDocument","endDocument","startSequence","endSequence","unresolvedBlockGraft","blockGraft","startParagraph","endParagraph","metaContent","mark","unresolvedInlineGraft","inlineGraft","startWrapper","endWrapper","startMilestone","endMilestone","text"])r[n]?this.actions[n]=r[n].map(u=>new xv(u)):this.actions[n]=[]}addRenderActionObject(t,r){if(!this.actions[t])throw new Error("Unknown event '".concat(t));this.actions[t].push(r)}addRenderAction(t,r){this.addRenderActionObject(t,new xv(r))}describeRenderActions(t){if(!this.actions[t])throw new Error("Unknown event '".concat(t));var r=["**Actions for ".concat(t,`** + deps: ${l}}`};const u={keyword:"dependencies",type:"object",schemaType:"object",error:e.error,code(i){const[c,l]=s(i);o(i,c),a(i,l)}};function s({schema:i}){const c={},l={};for(const p in i){if(p==="__proto__")continue;const d=Array.isArray(i[p])?c:l;d[p]=i[p]}return[c,l]}function o(i,c=i.schema){const{gen:l,data:p,it:d}=i;if(Object.keys(c).length===0)return;const f=l.let("missing");for(const h in c){const y=c[h];if(y.length===0)continue;const A=(0,n.propertyInData)(l,p,h,d.opts.ownProperties);i.setParams({property:h,depsCount:y.length,deps:y.join(", ")}),d.allErrors?l.if(A,()=>{for(const m of y)(0,n.checkReportMissingProp)(i,m)}):(l.if((0,t._)`${A} && (${(0,n.checkMissingProp)(i,y,f)})`),(0,n.reportMissingProp)(i,f),l.else())}}e.validatePropertyDeps=o;function a(i,c=i.schema){const{gen:l,data:p,keyword:d,it:f}=i,h=l.name("valid");for(const y in c)(0,r.alwaysValidSchema)(f,c[y])||(l.if((0,n.propertyInData)(l,p,y,f.opts.ownProperties),()=>{const A=i.subschema({keyword:d,schemaProp:y},h);i.mergeValidEvaluated(A,h)},()=>l.var(h,!0)),i.ok(h))}e.validateSchemaDeps=a,e.default=u})(o7);var Km={};Object.defineProperty(Km,"__esModule",{value:!0});const a7=ut,GR=Dt,VR={message:"property name must be valid",params:({params:e})=>(0,a7._)`{propertyName: ${e.propertyName}}`},HR={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:VR,code(e){const{gen:t,schema:r,data:n,it:u}=e;if((0,GR.alwaysValidSchema)(u,r))return;const s=t.name("valid");t.forIn("key",n,o=>{e.setParams({propertyName:o}),e.subschema({keyword:"propertyNames",data:o,dataTypes:["string"],propertyName:o,compositeRule:!0},s),t.if((0,a7.not)(s),()=>{e.error(!0),u.allErrors||t.break()})}),e.ok(s)}};Km.default=HR;var Kp={};Object.defineProperty(Kp,"__esModule",{value:!0});const Wc=tt,gn=ut,WR=ru,Jc=Dt,JR={message:"must NOT have additional properties",params:({params:e})=>(0,gn._)`{additionalProperty: ${e.additionalProperty}}`},zR={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:JR,code(e){const{gen:t,schema:r,parentSchema:n,data:u,errsCount:s,it:o}=e;if(!s)throw new Error("ajv implementation error");const{allErrors:a,opts:i}=o;if(o.props=!0,i.removeAdditional!=="all"&&(0,Jc.alwaysValidSchema)(o,r))return;const c=(0,Wc.allSchemaProperties)(n.properties),l=(0,Wc.allSchemaProperties)(n.patternProperties);p(),e.ok((0,gn._)`${s} === ${WR.default.errors}`);function p(){t.forIn("key",u,A=>{!c.length&&!l.length?h(A):t.if(d(A),()=>h(A))})}function d(A){let m;if(c.length>8){const v=(0,Jc.schemaRefOrVal)(o,n.properties,"properties");m=(0,Wc.isOwnProperty)(t,v,A)}else c.length?m=(0,gn.or)(...c.map(v=>(0,gn._)`${A} === ${v}`)):m=gn.nil;return l.length&&(m=(0,gn.or)(m,...l.map(v=>(0,gn._)`${(0,Wc.usePattern)(e,v)}.test(${A})`))),(0,gn.not)(m)}function f(A){t.code((0,gn._)`delete ${u}[${A}]`)}function h(A){if(i.removeAdditional==="all"||i.removeAdditional&&r===!1){f(A);return}if(r===!1){e.setParams({additionalProperty:A}),e.error(),a||t.break();return}if(typeof r=="object"&&!(0,Jc.alwaysValidSchema)(o,r)){const m=t.name("valid");i.removeAdditional==="failing"?(y(A,m,!1),t.if((0,gn.not)(m),()=>{e.reset(),f(A)})):(y(A,m),a||t.if((0,gn.not)(m),()=>t.break()))}}function y(A,m,v){const C={keyword:"additionalProperties",dataProp:A,dataPropType:Jc.Type.Str};v===!1&&Object.assign(C,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(C,m)}}};Kp.default=zR;var Xm={};Object.defineProperty(Xm,"__esModule",{value:!0});const KR=Tn,hv=tt,df=Dt,mv=Kp,XR={keyword:"properties",type:"object",schemaType:"object",code(e){const{gen:t,schema:r,parentSchema:n,data:u,it:s}=e;s.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&mv.default.code(new KR.KeywordCxt(s,mv.default,"additionalProperties"));const o=(0,hv.allSchemaProperties)(r);for(const p of o)s.definedProperties.add(p);s.opts.unevaluated&&o.length&&s.props!==!0&&(s.props=df.mergeEvaluated.props(t,(0,df.toHash)(o),s.props));const a=o.filter(p=>!(0,df.alwaysValidSchema)(s,r[p]));if(a.length===0)return;const i=t.name("valid");for(const p of a)c(p)?l(p):(t.if((0,hv.propertyInData)(t,u,p,s.opts.ownProperties)),l(p),s.allErrors||t.else().var(i,!0),t.endIf()),e.it.definedProperties.add(p),e.ok(i);function c(p){return s.opts.useDefaults&&!s.compositeRule&&r[p].default!==void 0}function l(p){e.subschema({keyword:"properties",schemaProp:p,dataProp:p},i)}}};Xm.default=XR;var Ym={};Object.defineProperty(Ym,"__esModule",{value:!0});const Ev=tt,zc=ut,yv=Dt,vv=Dt,YR={keyword:"patternProperties",type:"object",schemaType:"object",code(e){const{gen:t,schema:r,data:n,parentSchema:u,it:s}=e,{opts:o}=s,a=(0,Ev.allSchemaProperties)(r),i=a.filter(y=>(0,yv.alwaysValidSchema)(s,r[y]));if(a.length===0||i.length===a.length&&(!s.opts.unevaluated||s.props===!0))return;const c=o.strictSchema&&!o.allowMatchingProperties&&u.properties,l=t.name("valid");s.props!==!0&&!(s.props instanceof zc.Name)&&(s.props=(0,vv.evaluatedPropsToName)(t,s.props));const{props:p}=s;d();function d(){for(const y of a)c&&f(y),s.allErrors?h(y):(t.var(l,!0),h(y),t.if(l))}function f(y){for(const A in c)new RegExp(y).test(A)&&(0,yv.checkStrictMode)(s,`property ${A} matches pattern ${y} (use allowMatchingProperties)`)}function h(y){t.forIn("key",n,A=>{t.if((0,zc._)`${(0,Ev.usePattern)(e,y)}.test(${A})`,()=>{const m=i.includes(y);m||e.subschema({keyword:"patternProperties",schemaProp:y,dataProp:A,dataPropType:vv.Type.Str},l),s.opts.unevaluated&&p!==!0?t.assign((0,zc._)`${p}[${A}]`,!0):!m&&!s.allErrors&&t.if((0,zc.not)(l),()=>t.break())})})}}};Ym.default=YR;var Zm={};Object.defineProperty(Zm,"__esModule",{value:!0});const ZR=Dt,QR={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){const{gen:t,schema:r,it:n}=e;if((0,ZR.alwaysValidSchema)(n,r)){e.fail();return}const u=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},u),e.failResult(u,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};Zm.default=QR;var Qm={};Object.defineProperty(Qm,"__esModule",{value:!0});const ej=tt,tj={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:ej.validateUnion,error:{message:"must match a schema in anyOf"}};Qm.default=tj;var eE={};Object.defineProperty(eE,"__esModule",{value:!0});const kl=ut,rj=Dt,nj={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,kl._)`{passingSchemas: ${e.passing}}`},uj={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:nj,code(e){const{gen:t,schema:r,parentSchema:n,it:u}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(u.opts.discriminator&&n.discriminator)return;const s=r,o=t.let("valid",!1),a=t.let("passing",null),i=t.name("_valid");e.setParams({passing:a}),t.block(c),e.result(o,()=>e.reset(),()=>e.error(!0));function c(){s.forEach((l,p)=>{let d;(0,rj.alwaysValidSchema)(u,l)?t.var(i,!0):d=e.subschema({keyword:"oneOf",schemaProp:p,compositeRule:!0},i),p>0&&t.if((0,kl._)`${i} && ${o}`).assign(o,!1).assign(a,(0,kl._)`[${a}, ${p}]`).else(),t.if(i,()=>{t.assign(o,!0),t.assign(a,p),d&&e.mergeEvaluated(d,kl.Name)})})}}};eE.default=uj;var tE={};Object.defineProperty(tE,"__esModule",{value:!0});const sj=Dt,oj={keyword:"allOf",schemaType:"array",code(e){const{gen:t,schema:r,it:n}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");const u=t.name("valid");r.forEach((s,o)=>{if((0,sj.alwaysValidSchema)(n,s))return;const a=e.subschema({keyword:"allOf",schemaProp:o},u);e.ok(u),e.mergeEvaluated(a)})}};tE.default=oj;var rE={};Object.defineProperty(rE,"__esModule",{value:!0});const mp=ut,i7=Dt,aj={message:({params:e})=>(0,mp.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,mp._)`{failingKeyword: ${e.ifClause}}`},ij={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:aj,code(e){const{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0,i7.checkStrictMode)(n,'"if" without "then" and "else" is ignored');const u=gv(n,"then"),s=gv(n,"else");if(!u&&!s)return;const o=t.let("valid",!0),a=t.name("_valid");if(i(),e.reset(),u&&s){const l=t.let("ifClause");e.setParams({ifClause:l}),t.if(a,c("then",l),c("else",l))}else u?t.if(a,c("then")):t.if((0,mp.not)(a),c("else"));e.pass(o,()=>e.error(!0));function i(){const l=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);e.mergeEvaluated(l)}function c(l,p){return()=>{const d=e.subschema({keyword:l},a);t.assign(o,a),e.mergeValidEvaluated(d,o),p?t.assign(p,(0,mp._)`${l}`):e.setParams({ifClause:l})}}}};function gv(e,t){const r=e.schema[t];return r!==void 0&&!(0,i7.alwaysValidSchema)(e,r)}rE.default=ij;var nE={};Object.defineProperty(nE,"__esModule",{value:!0});const cj=Dt,lj={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0,cj.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};nE.default=lj;Object.defineProperty(Hm,"__esModule",{value:!0});const pj=wa,dj=Wm,fj=_a,Dj=Jm,hj=zm,mj=o7,Ej=Km,yj=Kp,vj=Xm,gj=Ym,Aj=Zm,Fj=Qm,Cj=eE,bj=tE,Sj=rE,wj=nE;function _j(e=!1){const t=[Aj.default,Fj.default,Cj.default,bj.default,Sj.default,wj.default,Ej.default,yj.default,mj.default,vj.default,gj.default];return e?t.push(dj.default,Dj.default):t.push(pj.default,fj.default),t.push(hj.default),t}Hm.default=_j;var uE={},sE={};Object.defineProperty(sE,"__esModule",{value:!0});const Vt=ut,Bj={message:({schemaCode:e})=>(0,Vt.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,Vt._)`{format: ${e}}`},Tj={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:Bj,code(e,t){const{gen:r,data:n,$data:u,schema:s,schemaCode:o,it:a}=e,{opts:i,errSchemaPath:c,schemaEnv:l,self:p}=a;if(!i.validateFormats)return;u?d():f();function d(){const h=r.scopeValue("formats",{ref:p.formats,code:i.code.formats}),y=r.const("fDef",(0,Vt._)`${h}[${o}]`),A=r.let("fType"),m=r.let("format");r.if((0,Vt._)`typeof ${y} == "object" && !(${y} instanceof RegExp)`,()=>r.assign(A,(0,Vt._)`${y}.type || "string"`).assign(m,(0,Vt._)`${y}.validate`),()=>r.assign(A,(0,Vt._)`"string"`).assign(m,y)),e.fail$data((0,Vt.or)(v(),C()));function v(){return i.strictSchema===!1?Vt.nil:(0,Vt._)`${o} && !${m}`}function C(){const B=l.$async?(0,Vt._)`(${y}.async ? await ${m}(${n}) : ${m}(${n}))`:(0,Vt._)`${m}(${n})`,T=(0,Vt._)`(typeof ${m} == "function" ? ${B} : ${m}.test(${n}))`;return(0,Vt._)`${m} && ${m} !== true && ${A} === ${t} && !${T}`}}function f(){const h=p.formats[s];if(!h){v();return}if(h===!0)return;const[y,A,m]=C(h);y===t&&e.pass(B());function v(){if(i.strictSchema===!1){p.logger.warn(T());return}throw new Error(T());function T(){return`unknown format "${s}" ignored in schema at path "${c}"`}}function C(T){const N=T instanceof RegExp?(0,Vt.regexpCode)(T):i.code.formats?(0,Vt._)`${i.code.formats}${(0,Vt.getProperty)(s)}`:void 0,R=r.scopeValue("formats",{key:s,ref:T,code:N});return typeof T=="object"&&!(T instanceof RegExp)?[T.type||"string",T.validate,(0,Vt._)`${R}.validate`]:["string",T,R]}function B(){if(typeof h=="object"&&!(h instanceof RegExp)&&h.async){if(!l.$async)throw new Error("async format in sync schema");return(0,Vt._)`await ${m}(${n})`}return typeof A=="function"?(0,Vt._)`${m}(${n})`:(0,Vt._)`${m}.test(${n})`}}}};sE.default=Tj;Object.defineProperty(uE,"__esModule",{value:!0});const $j=sE,Pj=[$j.default];uE.default=Pj;var da={};Object.defineProperty(da,"__esModule",{value:!0});da.contentVocabulary=da.metadataVocabulary=void 0;da.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];da.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"];Object.defineProperty($m,"__esModule",{value:!0});const kj=Pm,Oj=Om,Ij=Hm,Nj=uE,Av=da,qj=[kj.default,Oj.default,(0,Ij.default)(),Nj.default,Av.metadataVocabulary,Av.contentVocabulary];$m.default=qj;var oE={},c7={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.DiscrError=void 0,function(t){t.Tag="tag",t.Mapping="mapping"}(e.DiscrError||(e.DiscrError={}))})(c7);Object.defineProperty(oE,"__esModule",{value:!0});const Ho=ut,Y2=c7,Fv=Nr,xj=Dt,Rj={message:({params:{discrError:e,tagName:t}})=>e===Y2.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0,Ho._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},jj={keyword:"discriminator",type:"object",schemaType:"object",error:Rj,code(e){const{gen:t,data:r,schema:n,parentSchema:u,it:s}=e,{oneOf:o}=u;if(!s.opts.discriminator)throw new Error("discriminator: requires discriminator option");const a=n.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!o)throw new Error("discriminator: requires oneOf keyword");const i=t.let("valid",!1),c=t.const("tag",(0,Ho._)`${r}${(0,Ho.getProperty)(a)}`);t.if((0,Ho._)`typeof ${c} == "string"`,()=>l(),()=>e.error(!1,{discrError:Y2.DiscrError.Tag,tag:c,tagName:a})),e.ok(i);function l(){const f=d();t.if(!1);for(const h in f)t.elseIf((0,Ho._)`${c} === ${h}`),t.assign(i,p(f[h]));t.else(),e.error(!1,{discrError:Y2.DiscrError.Mapping,tag:c,tagName:a}),t.endIf()}function p(f){const h=t.name("valid"),y=e.subschema({keyword:"oneOf",schemaProp:f},h);return e.mergeEvaluated(y,Ho.Name),h}function d(){var f;const h={},y=m(u);let A=!0;for(let B=0;Bthis.addVocabulary(h)),this.opts.discriminator&&this.addKeyword(u.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;const h=this.opts.$data?this.$dataMetaSchema(s,o):s;this.addMetaSchema(h,a,!1),this.refs["http://json-schema.org/schema"]=a}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(a)?a:void 0)}}e.exports=t=i,Object.defineProperty(t,"__esModule",{value:!0}),t.default=i;var c=Tn;Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return c.KeywordCxt}});var l=ut;Object.defineProperty(t,"_",{enumerable:!0,get:function(){return l._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return l.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return l.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return l.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return l.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return l.CodeGen}});var p=ec;Object.defineProperty(t,"ValidationError",{enumerable:!0,get:function(){return p.default}});var d=tc;Object.defineProperty(t,"MissingRefError",{enumerable:!0,get:function(){return d.default}})})(rq,lp);const Jj="Root",zj="object",Kj="Root Element",Xj={base64String:{type:"string",pattern:"^[A-Za-z0-9/+=]*$"},tagString:{type:"string",pattern:"^[a-z][a-z0-9]*(:.+)?$"}},Yj={id:{type:"string"},metadata:{type:"object",properties:{selectors:{type:"object",additionalProperties:{type:"string"}}},required:["selectors"],additionalProperties:!1},tags:{type:"array",items:{type:"string",$ref:"#/definitions/tagString"}},enums:{type:"object",properties:{ids:{$ref:"#/definitions/base64String"},wordLike:{$ref:"#/definitions/base64String"},notWordLike:{$ref:"#/definitions/base64String"},scopeBits:{$ref:"#/definitions/base64String"},graftTypes:{$ref:"#/definitions/base64String"}},required:["ids","wordLike","notWordLike","scopeBits","graftTypes"],additionalProperties:!1},docs:{type:"object",propertyNames:{type:"string"},additionalProperties:{type:"object",properties:{sequences:{type:"object",additionalProperties:{type:"object",properties:{type:{type:"string"},blocks:{type:"array",items:{type:"object",properties:{bs:{type:"string"},bg:{type:"string"},c:{type:"string"},is:{type:"string"},os:{type:"string"},nt:{type:"string"}},required:["bs","bg","c","is","os","nt"],additionalProperties:!1}},tags:{type:"array",items:{type:"string",$ref:"#/definitions/tagString"}},chapters:{type:"object",additionalProperties:{type:"string"}},chapterVerses:{type:"object",additionalProperties:{type:"string"}},tokensPresent:{type:"string"}},required:["blocks","tags"],additionalProperties:!1}},headers:{type:"object",additionalProperties:{type:"string"}},mainId:{type:"string"},tags:{type:"array",items:{type:"string",$ref:"#/definitions/tagString"}}},required:["sequences","headers","mainId","tags"],additionalProperties:!1}},additionalProperties:!1},Zj=["id","enums","docs","tags"],Qj=!1,eM={title:Jj,type:zj,description:Kj,definitions:Xj,properties:Yj,required:Zj,additionalProperties:Qj},tM="version 0.1.0",rM="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_2_1/document_structure.json",nM="Document (Structure)",uM="A document, typically corresponding to a single USFM or USX book",sM="object",oM={schema:{type:"object",properties:{structure:{description:"The basic 'shape' of the content",type:"string",enum:["flat","nested"]},structure_version:{description:"the semantic version of the structure schema",type:"string"},constraints:{type:"array",items:{type:"object",properties:{name:{type:"string",enum:["perf","sofria"]},version:{description:"the semantic version of the constraint schema",type:"string"}},additionalProperties:!1,required:["name","version"]}}},required:["structure","structure_version","constraints"],additionalProperties:!1},metadata:{description:"Metadata describing the document and the translation it belongs to",type:"object",properties:{translation:{type:"object",description:"Metadata concerning the translation to which the document belongs",properties:{tags:{description:"Tags attached to the translation",type:"array",items:{type:"string"}},properties:{type:"object",description:"Key/value properties attached to the translation",additionalProperties:{type:"string"}},selectors:{type:"object",description:"Proskomma selectors for the translation that, together, provide a primary key in the translation store",additionalProperties:{type:"string"}}},additionalProperties:{type:"string"},required:["id"]},document:{type:"object",description:"Metadata concerning the document itself",properties:{tags:{type:"array",description:"Tags attached to the document",items:{type:"string"}},properties:{type:"object",description:"Key/value properties attached to the document",additionalProperties:{type:"string"}},chapters:{type:"string",pattern:"^[1-9][0-9]*(-[1-9][0-9]*)?$"}},additionalProperties:{type:"string"}}},additionalProperties:!1},sequences:{type:"object",propertyNames:{pattern:"^\\S+$"},additionalProperties:{$ref:"./sequence_structure.json"}},sequence:{$ref:"./sequence_structure.json"},main_sequence_id:{type:"string"}},aM=["schema","metadata"],iM=!1,cM={required:["sequences","main_sequence_id"],not:{required:["sequence"]}},lM={$comment:tM,$id:rM,title:nM,description:uM,type:sM,properties:oM,required:aM,additionalProperties:iM,if:{properties:{schema:{type:"object",properties:{structure:{enum:["flat"]}}}}},then:cM,else:{required:["sequence"],allOf:[{not:{required:["sequences"]}},{not:{required:["main_sequence_id"]}}]}},pM="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_2_1/sequence_structure.json",dM="Sequence (Structure)",fM="A sequence contains a 'flow' of one or more blocks",DM="object",hM={type:{description:"The type of sequence",type:"string"},preview_text:{description:"An optional field to provide some kind of printable label",type:"string"},blocks:{type:"array",description:"The blocks that, together, represent the 'flow' of the sequence",items:{$ref:"./block_structure.json"}}},mM=["type"],EM=!1,yM={$id:pM,title:dM,description:fM,type:DM,properties:hM,required:mM,additionalProperties:EM},vM="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_2_1/block_structure.json",gM="Block (Structure)",AM="A block, which represents either a paragraph of text or a graft",FM="object",CM={type:{type:"string",description:"The type of block",enum:["paragraph","graft"]},subtype:{description:"A type-specific subtype",type:"string"},target:{description:"The id of the sequence containing graft content",type:"string"},sequence:{description:"The sequence containing graft content",$ref:"./sequence_structure.json"},preview_text:{description:"An optional field to provide some kind of printable label for a graft",type:"string"},new:{description:"If present and true, is interpreted as a request for the server to create a new graft",type:"boolean"},atts:{type:"object",description:"An object containing USFM attributes or subtype-specific additional information (such as the number of a verse or chapter). The value may be a boolean, a string or an array of strings",additionalProperties:{oneOf:[{type:"array",items:{type:"string"}},{type:"string"},{type:"boolean"}]}},content:{type:"array",description:"The content of the block",items:{oneOf:[{type:"string"},{$ref:"./contentElement_structure.json"}]}}},bM=["type"],SM=!1,wM={required:["content"],allOf:[{not:{required:["new"]}},{not:{required:["preview_text"]}},{not:{required:["target"]}}]},_M={$id:vM,title:gM,description:AM,type:FM,properties:CM,required:bM,additionalProperties:SM,if:{properties:{type:{enum:["paragraph"]}}},then:wM,else:{if:{required:["new"],properties:{new:{enum:[!0]}}},then:{allOf:[{oneOf:[{required:["subtype"]},{required:["sequence"]}]},{not:{required:["target"]}},{not:{required:["preview_text"]}},{not:{required:["content"]}}]},else:{oneOf:[{required:["target"]},{required:["sequence"]}]}}},BM="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_2_1/contentElement_structure.json",TM="Content Element (Structure)",$M="A content element, ie some form of (possibly nested) markup",PM="object",kM={type:{type:"string",description:"The type of element",enum:["mark","wrapper","start_milestone","end_milestone","graft"]},subtype:{description:"The subtype of the element, which is context-dependent",type:"string"},atts:{type:"object",description:"An object containing USFM attributes or subtype-specific additional information (such as the number of a verse or chapter). The value may be a boolean, a string or an array of strings",additionalProperties:{oneOf:[{type:"array",items:{type:"string"}},{type:"string"},{type:"boolean"}]}},target:{type:"string",description:"The id of the sequence containing graft content"},sequence:{description:"The sequence containing graft content",$ref:"./sequence_structure.json"},preview_text:{description:"An optional field to provide some kind of printable label for a graft",type:"string"},new:{type:"boolean",description:"If present and true, is interpreted as a request for the server to create a new graft"},content:{type:"array",description:"Nested content within the content element",items:{oneOf:[{type:"string"},{$ref:"./contentElement_structure.json"}]}},meta_content:{type:"array",description:"Non-Scripture content related to the content element, such as checking data or related resources",items:{oneOf:[{type:"string"},{$ref:"./contentElement_structure.json"}]}}},OM=["type"],IM=!1,NM={$id:BM,title:TM,description:$M,type:PM,properties:kM,required:OM,additionalProperties:IM},qM="version 0.2.0",xM="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/perf_document_constraint.json",RM="object",jM={sequences:{type:"object",propertyNames:{pattern:"^\\S+$"},additionalProperties:{$ref:"./perf_sequence_constraint.json"}}},MM={$comment:qM,$id:xM,type:RM,properties:jM},LM="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/perf_sequence_constraint.json",UM="object",GM={type:{type:"string",enum:["main","introduction","intro_title","intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv","footnote","note_caller","xref","pub_number","alt_number","esb_cat","fig","temp"]},blocks:{type:"array",items:{$ref:"./perf_block_constraint.json"}}},VM={$id:LM,type:UM,properties:GM},HM="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/perf_block_constraint.json",WM="object",JM={type:{type:"string",enum:["paragraph","graft"]},content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./perf_contentElement_constraint.json"}]}},meta_content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./perf_contentElement_constraint.json"}]}}},zM={properties:{subtype:{enum:["introduction","intro_title","Intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv"]}}},KM={$id:HM,type:WM,properties:JM,if:{properties:{type:{enum:["graft"]}}},then:zM,else:{properties:{subtype:{type:"string",pattern:"^usfm:"}}}},XM="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/perf_contentElement_constraint.json",YM="object",ZM=[{properties:{content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./perf_contentElement_constraint.json"}]}},meta_content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./perf_contentElement_constraint.json"}]}}}},{if:{properties:{type:{enum:["graft"]}}},then:{properties:{subtype:{enum:["footnote","xref","note_caller"]}},allOf:[{not:{required:["content"]}},{not:{required:["meta_content"]}}],if:{required:["new"],properties:{new:{enum:[!0]}}},then:{not:{anyOf:[{required:["target"]},{required:["preview_text"]}]}},else:{required:["target"]}}},{if:{properties:{type:{enum:["mark"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["chapter","verses"]},{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},if:{properties:{subtype:{enum:["chapter","verses"]}}},then:{type:"object",required:["atts"],properties:{atts:{type:"object",required:["number"],maxProperties:1}}}}},{if:{properties:{type:{enum:["wrapper"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["meta_content"]},{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},if:{properties:{subtype:{enum:["meta_content"]}}},then:{not:{required:["atts"]}}}},{if:{properties:{type:{enum:["start_milestone"]}}},then:{properties:{subtype:{type:"string",oneOf:[{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}}}},{if:{properties:{type:{enum:["end_milestone"]}}},then:{properties:{subtype:{type:"string",oneOf:[{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},not:{required:["atts"]}}}],QM={$id:XM,type:YM,allOf:ZM},eL="version 0.2.0",tL="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/sofria_document_constraint.json",rL="object",nL={sequences:{type:"object",propertyNames:{pattern:"^\\S+$"},additionalProperties:{$ref:"./sofria_sequence_constraint.json"}}},uL={$comment:eL,$id:tL,type:rL,properties:nL},sL="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/sofria_sequence_constraint.json",oL="object",aL={type:{type:"string",enum:["main","introduction","intro_title","intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv","footnote","note_caller","xref","pub_number","alt_number","esb_cat","fig","temp"]},blocks:{type:"array",items:{$ref:"./sofria_block_constraint.json"}}},iL={$id:sL,type:oL,properties:aL},cL="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/sofria_block_constraint.json",lL="object",pL={type:{type:"string",enum:["paragraph","graft"]},content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./sofria_contentElement_constraint.json"}]}},meta_content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./sofria_contentElement_constraint.json"}]}}},dL={properties:{subtype:{enum:["introduction","intro_title","Intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv"]}}},fL={$id:cL,type:lL,properties:pL,if:{properties:{type:{enum:["graft"]}}},then:dL,else:{properties:{subtype:{type:"string",pattern:"^usfm:"}}}},DL="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/sofria_contentElement_constraint.json",hL="object",mL=[{properties:{content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./sofria_contentElement_constraint.json"}]}},meta_content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./sofria_contentElement_constraint.json"}]}}}},{if:{properties:{type:{enum:["graft"]}}},then:{properties:{subtype:{enum:["footnote","xref","note_caller"]}},allOf:[{not:{required:["content"]}},{not:{required:["meta_content"]}}],if:{required:["new"],properties:{new:{enum:[!0]}}},then:{not:{anyOf:[{required:["block"]},{required:["preview_text"]}]}},else:{required:["block"]}}},{if:{properties:{type:{enum:["mark"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["chapter_label","verses_label"]},{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},if:{properties:{subtype:{enum:["chapter","verses"]}}},then:{type:"object",required:["atts"],properties:{atts:{type:"object",required:["number"],maxProperties:1}}}}},{if:{properties:{type:{enum:["wrapper"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["meta_content","chapter","verses"]},{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},if:{properties:{subtype:{enum:["meta_content"]}}},then:{not:{required:["atts"]}}}},{if:{properties:{type:{enum:["start_milestone"]}}},then:{properties:{subtype:{type:"string",oneOf:[{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}}}},{if:{properties:{type:{enum:["end_milestone"]}}},then:{properties:{subtype:{type:"string",oneOf:[{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},not:{required:["atts"]}}}],EL={$id:DL,type:hL,allOf:mL},yL="version 0.1.0",vL="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_3_0/document_structure.json",gL="Document (Structure)",AL="A document, typically corresponding to a single USFM or USX book",FL="object",CL={schema:{type:"object",properties:{structure:{description:"The basic 'shape' of the content",type:"string",enum:["flat","nested"]},structure_version:{description:"the semantic version of the structure schema",type:"string"},constraints:{type:"array",items:{type:"object",properties:{name:{type:"string",enum:["perf","sofria"]},version:{description:"the semantic version of the constraint schema",type:"string"}},additionalProperties:!1,required:["name","version"]}}},required:["structure","structure_version","constraints"],additionalProperties:!1},metadata:{description:"Metadata describing the document and the translation it belongs to",type:"object",properties:{translation:{type:"object",description:"Metadata concerning the translation to which the document belongs",properties:{tags:{description:"Tags attached to the translation",type:"array",items:{type:"string"}},properties:{type:"object",description:"Key/value properties attached to the translation",additionalProperties:{type:"string"}},selectors:{type:"object",description:"Proskomma selectors for the translation that, together, provide a primary key in the translation store",additionalProperties:{type:"string"}}},additionalProperties:{type:"string"},required:["id"]},document:{type:"object",description:"Metadata concerning the document itself",properties:{tags:{type:"array",description:"Tags attached to the document",items:{type:"string"}},properties:{type:"object",description:"Key/value properties attached to the document",additionalProperties:{type:"string"}},chapters:{type:"string",pattern:"^[1-9][0-9]*(-[1-9][0-9]*)?$"}},additionalProperties:{type:"string"}}},additionalProperties:!1},hooks:{type:"array",$ref:"./hook_structure.json"},sequences:{type:"object",propertyNames:{pattern:"^\\S+$"},additionalProperties:{$ref:"./sequence_structure.json"}},sequence:{$ref:"./sequence_structure.json"},main_sequence_id:{type:"string"}},bL=["schema","metadata"],SL=!1,wL={required:["sequences","main_sequence_id"],not:{required:["sequence"]}},_L={$comment:yL,$id:vL,title:gL,description:AL,type:FL,properties:CL,required:bL,additionalProperties:SL,if:{properties:{schema:{type:"object",properties:{structure:{enum:["flat"]}}}}},then:wL,else:{required:["sequence"],allOf:[{not:{required:["sequences"]}},{not:{required:["main_sequence_id"]}}]}},BL="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_3_0/sequence_structure.json",TL="Sequence (Structure)",$L="A sequence contains a 'flow' of one or more blocks",PL="object",kL={type:{description:"The type of sequence",type:"string"},preview_text:{description:"An optional field to provide some kind of printable label",type:"string"},blocks:{type:"array",description:"The blocks that, together, represent the 'flow' of the sequence",items:{$ref:"./block_structure.json"}},hooks:{type:"array",$ref:"./hook_structure.json"}},OL=["type"],IL=!1,NL={$id:BL,title:TL,description:$L,type:PL,properties:kL,required:OL,additionalProperties:IL},qL="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_3_0/block_structure.json",xL="Block (Structure)",RL="A block, which represents either a paragraph of text or a graft",jL="object",ML={type:{type:"string",description:"The type of block",enum:["paragraph","row","node","lookup","graft"]},subtype:{description:"A type-specific subtype",type:"string"},target:{description:"The id of the sequence containing graft content",type:"string"},sequence:{description:"The sequence containing graft content",$ref:"./sequence_structure.json"},preview_text:{description:"An optional field to provide some kind of printable label for a graft",type:"string"},new:{description:"If present and true, is interpreted as a request for the server to create a new graft",type:"boolean"},atts:{type:"object",description:"An object containing USFM attributes or subtype-specific additional information (such as the number of a verse or chapter). The value may be a boolean, a string or an array of strings",additionalProperties:{oneOf:[{type:"array",items:{type:"string"}},{type:"string"},{type:"boolean"}]}},content:{type:"array",description:"The content of the block",items:{oneOf:[{type:"string"},{$ref:"./contentElement_structure.json"}]}},hooks:{type:"array",$ref:"./hook_structure.json"}},LL=["type"],UL=!1,GL={required:["content"],allOf:[{not:{required:["new"]}},{not:{required:["preview_text"]}},{not:{required:["target"]}}]},VL={$id:qL,title:xL,description:RL,type:jL,properties:ML,required:LL,additionalProperties:UL,if:{properties:{type:{enum:["paragraph","row","node","lookup"]}}},then:GL,else:{if:{required:["new"],properties:{new:{enum:[!0]}}},then:{allOf:[{oneOf:[{required:["subtype"]},{required:["sequence"]}]},{not:{required:["target"]}},{not:{required:["preview_text"]}},{not:{required:["content"]}}]},else:{oneOf:[{required:["target"]},{required:["sequence"]}]}}},HL="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_3_0/contentElement_structure.json",WL="Content Element (Structure)",JL="A content element, ie some form of (possibly nested) markup",zL="object",KL={type:{type:"string",description:"The type of element",enum:["mark","wrapper","start_milestone","end_milestone","graft"]},subtype:{description:"The subtype of the element, which is context-dependent",type:"string"},atts:{type:"object",description:"An object containing USFM attributes or subtype-specific additional information (such as the number of a verse or chapter). The value may be a boolean, a string or an array of strings",additionalProperties:{oneOf:[{type:"array",items:{type:"string"}},{type:"string"},{type:"boolean"}]}},target:{type:"string",description:"The id of the sequence containing graft content"},sequence:{description:"The sequence containing graft content",$ref:"./sequence_structure.json"},preview_text:{description:"An optional field to provide some kind of printable label for a graft",type:"string"},new:{type:"boolean",description:"If present and true, is interpreted as a request for the server to create a new graft"},content:{type:"array",description:"Nested content within the content element",items:{oneOf:[{type:"string"},{$ref:"./contentElement_structure.json"}]}},meta_content:{type:"array",description:"Non-Scripture content related to the content element, such as checking data or related resources",items:{oneOf:[{type:"string"},{$ref:"./contentElement_structure.json"}]}},hooks:{type:"array",$ref:"./hook_structure.json"}},XL=["type"],YL=!1,ZL={$id:HL,title:WL,description:JL,type:zL,properties:KL,required:XL,additionalProperties:YL},QL="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_3_0/hook_structure.json",eU="Hook (Structure)",tU="Hooks, ie typed labels that may be used to link documents",rU="array",nU={type:"array",items:[{type:"string",oneOf:[{enum:["bcv_ref","book_ref"]},{pattern:"^x-(app|publisher)-[a-z][a-z0-9]+-\\S{2,256}$"},{pattern:"^x-local-\\S{2,256}$"}]},{type:"string",oneOf:[{enum:["label"]},{pattern:"^\\w{1,255}$"}]}],minItems:2,maxItems:2},uU={$id:QL,title:eU,description:tU,type:rU,items:nU},sU="version 0.3.0",oU="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/perf_document_constraint.json",aU="object",iU={hooks:{type:"array"},sequences:{type:"object",propertyNames:{pattern:"^\\S+$"},additionalProperties:{$ref:"./perf_sequence_constraint.json"}}},cU={$comment:sU,$id:oU,type:aU,properties:iU},lU="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/perf_sequence_constraint.json",pU="object",dU={type:{type:"string",enum:["main","introduction","intro_title","intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv","footnote","note_caller","xref","pub_number","alt_number","esb_cat","fig","temp"]},blocks:{type:"array",items:{$ref:"./perf_block_constraint.json"}}},fU={$id:lU,type:pU,properties:dU},DU="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/perf_block_constraint.json",hU="object",mU={type:{type:"string",enum:["paragraph","graft","row","node","lookup"]},content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./perf_contentElement_constraint.json"}]}},meta_content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./perf_contentElement_constraint.json"}]}}},EU={properties:{subtype:{enum:["introduction","intro_title","Intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv"]}}},yU={$id:DU,type:hU,properties:mU,if:{properties:{type:{enum:["graft"]}}},then:EU,else:{if:{properties:{type:{enum:["row"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["row:heading","row:body"]}]}}},else:{if:{properties:{type:{enum:["node"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["node"]},{pattern:"^x-\\S{1,256}$"}]},atts:{type:"object",properties:{id:{type:"string"},parent:{type:"string"},children:{type:"array",items:{type:"string"}}},required:["id"],additionalProperties:!1}}},else:{if:{properties:{type:{enum:["lookup"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["lookup"]},{pattern:"^x-\\S{1,256}$"}]},atts:{type:"object",properties:{primary:{type:"string"},secondary:{type:"array",items:{type:"string"}}},required:["primary"],additionalProperties:!1}}},else:{properties:{subtype:{type:"string",oneOf:[{pattern:"^usfm:"},{pattern:"^x-\\S{1,256}$"}]}}}}}}},vU="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/perf_contentElement_constraint.json",gU="object",AU=[{properties:{content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./perf_contentElement_constraint.json"}]}},meta_content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./perf_contentElement_constraint.json"}]}}}},{if:{properties:{type:{enum:["graft"]}}},then:{properties:{subtype:{enum:["footnote","xref","note_caller"]}},allOf:[{not:{required:["content"]}},{not:{required:["meta_content"]}}],if:{required:["new"],properties:{new:{enum:[!0]}}},then:{not:{anyOf:[{required:["target"]},{required:["preview_text"]}]}},else:{required:["target"]}}},{if:{properties:{type:{enum:["mark"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["chapter","verses","alt_chapter","alt_verse","pub_chapter","pub_verse"]},{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},if:{properties:{subtype:{enum:["chapter","verses"]}}},then:{type:"object",required:["atts"],properties:{atts:{type:"object",required:["number"],maxProperties:1}}}}},{if:{properties:{type:{enum:["wrapper"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["meta_content"]},{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},if:{properties:{subtype:{enum:["meta_content"]}}},then:{not:{required:["atts"]}}}},{if:{properties:{type:{enum:["start_milestone"]}}},then:{properties:{subtype:{type:"string",oneOf:[{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}}}},{if:{properties:{type:{enum:["end_milestone"]}}},then:{properties:{subtype:{type:"string",oneOf:[{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},not:{required:["atts"]}}}],FU={$id:vU,type:gU,allOf:AU},CU="version 0.3.0",bU="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/sofria_document_constraint.json",SU="object",wU={sequence:{$ref:"./sofria_sequence_constraint.json"}},_U={$comment:CU,$id:bU,type:SU,properties:wU},BU="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/sofria_sequence_constraint.json",TU="object",$U={type:{type:"string",enum:["main","introduction","intro_title","intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv","footnote","note_caller","xref","pub_number","alt_number","esb_cat","fig","temp"]},blocks:{type:"array",items:{$ref:"./sofria_block_constraint.json"}}},PU={$id:BU,type:TU,properties:$U},kU="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/sofria_block_constraint.json",OU="object",IU={type:{type:"string",enum:["paragraph","graft"]},content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./sofria_contentElement_constraint.json"}]}},meta_content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./sofria_contentElement_constraint.json"}]}}},NU={properties:{subtype:{enum:["introduction","intro_title","Intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv"]}}},qU={$id:kU,type:OU,properties:IU,if:{properties:{type:{enum:["graft"]}}},then:NU,else:{properties:{subtype:{type:"string",pattern:"^usfm:"}}}},xU="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/sofria_contentElement_constraint.json",RU="object",jU=[{properties:{content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./sofria_contentElement_constraint.json"}]}},meta_content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./sofria_contentElement_constraint.json"}]}}}},{if:{properties:{type:{enum:["graft"]}}},then:{properties:{subtype:{enum:["footnote","xref","note_caller"]}},allOf:[{not:{required:["content"]}},{not:{required:["meta_content"]}}],if:{required:["new"],properties:{new:{enum:[!0]}}},then:{not:{anyOf:[{required:["blocks"]},{required:["preview_text"]}]}},else:{required:["sequence"]}}},{if:{properties:{type:{enum:["mark"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["chapter_label","verses_label","alt_chapter","alt_verse","pub_chapter","pub_verse"]},{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},if:{properties:{subtype:{enum:["chapter","verses"]}}},then:{type:"object",required:["atts"],properties:{atts:{type:"object",required:["number"],maxProperties:1}}}}},{if:{properties:{type:{enum:["wrapper"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["meta_content","chapter","verses"]},{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},if:{properties:{subtype:{enum:["meta_content"]}}},then:{not:{required:["atts"]}}}},{if:{properties:{type:{enum:["start_milestone"]}}},then:{properties:{subtype:{type:"string",oneOf:[{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}}}},{if:{properties:{type:{enum:["end_milestone"]}}},then:{properties:{subtype:{type:"string",oneOf:[{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},not:{required:["atts"]}}}],MU={$id:xU,type:RU,allOf:jU};var Gt=lp,LU=eM,ff=lM,Fo=yM,Co=_M,bo=NM,UU=MM,Cv=VM,bv=KM,Sv=QM,GU=uL,wv=iL,_v=fL,Bv=EL,Df=_L,So=NL,wo=VL,_o=ZL,jn=uU,VU=cU,Tv=fU,$v=yU,Pv=FU,HU=_U,kv=PU,Ov=qU,Iv=MU;let WU=class{constructor(){this.schema={structure:{},constraint:{},proskomma:{}};for(var[t,r]of[["succinct",{"0.2.0":[{name:"Proskomma Serialized Succinct",validator:new Gt().compile(LU)}]}]])this.schema.proskomma[t]=r;for(var[n,u]of[["document",{"0.2.1":[{name:"Document Structure",validator:new Gt().addSchema(bo).addSchema(Co).addSchema(Fo).compile(ff)}],"0.3.0":[{name:"Document Structure",validator:new Gt().addSchema(jn).addSchema(_o).addSchema(wo).addSchema(So).compile(Df)}]}],["sequence",{"0.2.1":[{name:"Sequence Structure",validator:new Gt().addSchema(bo).addSchema(Co).compile(Fo)}],"0.3.0":[{name:"Sequence Structure",validator:new Gt().addSchema(jn).addSchema(_o).addSchema(wo).compile(So)}]}]])this.schema.structure[n]=u;for(var[s,o]of[["perfDocument",{"0.2.1":[{name:"Document Structure",validator:new Gt().addSchema(bo).addSchema(Co).addSchema(Fo).compile(ff)},{name:"PERF Document",validator:new Gt().addSchema(Sv).addSchema(bv).addSchema(Cv).compile(UU)}],"0.3.0":[{name:"Document Structure",validator:new Gt().addSchema(jn).addSchema(_o).addSchema(wo).addSchema(So).compile(Df)},{name:"PERF Document",validator:new Gt().addSchema(jn).addSchema(Pv).addSchema($v).addSchema(Tv).compile(VU)}]}],["perfSequence",{"0.2.1":[{name:"Sequence Structure",validator:new Gt().addSchema(bo).addSchema(Co).compile(Fo)},{name:"PERF Sequence",validator:new Gt().addSchema(Sv).addSchema(bv).compile(Cv)}],"0.3.0":[{name:"Sequence Structure",validator:new Gt().addSchema(jn).addSchema(_o).addSchema(wo).compile(So)},{name:"PERF Sequence",validator:new Gt().addSchema(jn).addSchema(Pv).addSchema($v).compile(Tv)}]}],["sofriaDocument",{"0.2.1":[{name:"Document Structure",validator:new Gt().addSchema(bo).addSchema(Co).addSchema(Fo).compile(ff)},{name:"SOFRIA Document",validator:new Gt().addSchema(Bv).addSchema(_v).addSchema(wv).compile(GU)}],"0.3.0":[{name:"Document Structure",validator:new Gt().addSchema(jn).addSchema(_o).addSchema(wo).addSchema(So).compile(Df)},{name:"SOFRIA Document",validator:new Gt().addSchema(jn).addSchema(Iv).addSchema(Ov).addSchema(kv).compile(HU)}]}],["sofriaSequence",{"0.2.1":[{name:"Sequence Structure",validator:new Gt().addSchema(bo).addSchema(Co).compile(Fo)},{name:"SOFRIA Sequence",validator:new Gt().addSchema(Bv).addSchema(_v).compile(wv)}],"0.3.0":[{name:"Sequence Structure",validator:new Gt().addSchema(jn).addSchema(_o).addSchema(wo).compile(So)},{name:"SOFRIA Sequence",validator:new Gt().addSchema(jn).addSchema(Iv).addSchema(Ov).compile(kv)}]}]])this.schema.constraint[s]=o}schemaInfo(){var t={};for(var[r,n]of Object.entries(this.schema)){t[r]={};for(var[u,s]of Object.entries(n)){t[r][u]={};for(var[o,a]of Object.entries(s))t[r][u][o]=a.map(i=>i.name)}}return t}validate(t,r,n,u){if(u===void 0)throw new Error("data argument is missing. Usage: validate(schemaType, schemaKey, schemaVersion, data)");if(u===null)throw new Error("Data argument is null");var s=Object.keys(this.schema);if(!s.includes(t))throw new Error("Schema type must be one of ".concat(s.map(l=>"'".concat(l,"'")).join(", "),", not '").concat(t,"'"));if(!this.schema[t][r])throw new Error("Unknown ".concat(t," schema key ").concat(r));if(!this.schema[t][r][n])throw new Error("Unknown version ".concat(n," for ").concat(t," schema key ").concat(r));var o=this.schema[t][r][n],a;for(var{name:i,validator:c}of o)if(a={validatorName:i,isValid:c(u),errors:c.errors},!a.isValid)break;return{requested:{schemaType:t,schemaKey:r,schemaVersion:n},lastSchema:a.validatorName,isValid:a.isValid,errors:a.errors}}};var JU=WU,zU=["qs","qac","litl","lik","liv","fr","fq","fqa","fk","fl","fw","fp","fv","ft","fdc","fm","xo","xk","xq","xt","xta","xop","xot","xnt","xdc","rq","add","bk","dc","k","nd","ord","pn","png","qt","sig","sls","tl","wj","em","bd","it","bdit","no","sc","sup","ior","iqt","th","thr","tc","tcr"],KU=["ms","mr","s","sr","r","qa","sp","sd"],XU=["cd","p","m","po","pr","cls","pmo","pm","pmc","pmr","pi","mi","nb","pc","ph","b","q","qr","qc","qa","qm","qd","lh","li","lf","lim","d"],YU=["imt","is","imte"],ZU=["ip","ipi","im","imi","ipq","imq","ipr","iq","ib","ili","iot","io","iex"],QU={characterTags:zU,bodyTags:XU,headingTags:KU,introHeadingTags:YU,introBodyTags:ZU};const aE=wT(OT);var Nv=eG(aE);function eG(e){return e&&e.__esModule?e:{default:e}}var tG={startDocument:[{description:"Set up storage",test:()=>!0,action:e=>{var{workspace:t,output:r}=e;t.verseContent=[],t.chapter=null,t.verses=null,r.cv={}}}],mark:[{description:"Update CV state",test:()=>!0,action:e=>{var{context:t,workspace:r,output:n}=e,{element:u}=t.sequences[0];u.subType==="chapter"?(r.chapter=u.atts.number,r.verses=0,n.cv[r.chapter]={},n.cv[r.chapter][r.verses]={}):u.subType==="verses"&&(r.verses=u.atts.number,n.cv[r.chapter][r.verses]={})}}],text:[{description:"Log occurrences",test:()=>!0,action:e=>{var{context:t,workspace:r,output:n}=e,{chapter:u,verses:s}=r,{text:o}=t.sequences[0].element,a=(0,Nv.default)("([\\p{Letter}\\p{Number}\\p{Mark}\\u2060]{1,127})"),i=Nv.default.match(o,a,"all");for(var c of i){var l,p;(p=(l=n.cv[u][s])[c])!==null&&p!==void 0||(l[c]=0),n.cv[u][s][c]+=1}}}]},l7={verseWordsActions:tG},qv=rG(aE);function rG(e){return e&&e.__esModule?e:{default:e}}function xv(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable})),r.push.apply(r,n)}return r}function Kc(e){for(var t=1;t!0,action:e=>{var{workspace:t,output:r}=e;return t.chapter=null,t.verses=null,t.lastWord="",t.waitingMarkup=[],t.currentOccurrences={},t.PendingStartMilestones=[],r.stripped={},r.unalignedWords={},!0}}],startMilestone:[{description:"Ignore zaln startMilestone events",test:e=>{var{context:t}=e;return t.sequences[0].element.subType==="usfm:zaln"},action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element;n.subtype=n.subType,delete n.subType,r.waitingMarkup.push(n),r.PendingStartMilestones.push(n)}}],endMilestone:[{description:"Ignore zaln endMilestone events",test:e=>{var{context:t}=e;return t.sequences[0].element.subType==="usfm:zaln"},action:e=>{var{context:t,workspace:r,output:n,config:u}=e,{chapter:s,verses:o,lastWord:a}=r,{verseWords:i}=u,c=["after",a,r.currentOccurrences[a],i[s][o][a]].join("--"),l=Kc({},t.sequences[0].element);l.subtype=l.subType,delete l.subType;var p={chapter:s,verses:o,occurrence:r.currentOccurrences[a],occurrences:i[s][o][a],position:"after",word:a,payload:l,startMilestone:r.PendingStartMilestones.shift()};return n.stripped[r.chapter][r.verses][c]?n.stripped[r.chapter][r.verses][c].push(p):n.stripped[r.chapter][r.verses][c]=[p],!1}}],startWrapper:[{description:"Ignore w startWrapper events",test:e=>{var{context:t}=e;return t.sequences[0].element.subType==="usfm:w"},action:e=>{var{context:t,workspace:r}=e,n=Kc({},t.sequences[0].element);n.subtype=n.subType,delete n.subType,r.waitingMarkup.push(n)}}],endWrapper:[{description:"Ignore w endWrapper events",test:e=>{var{context:t}=e;return t.sequences[0].element.subType==="usfm:w"},action:e=>{}}],text:[{description:"Log occurrences",test:()=>!0,action:e=>{var{context:t,workspace:r,output:n,config:u}=e;try{var s=t.sequences[0];if(s.type!=="main")return!0;var o=s.element.text,a=(0,qv.default)("([\\p{Letter}\\p{Number}\\p{Mark}\\u2060]{1,127})"),i=qv.default.match(o,a,"all"),{chapter:c,verses:l}=r,{verseWords:p}=u;for(var d of i){var f,h;if((h=(f=r.currentOccurrences)[d])!==null&&h!==void 0||(f[d]=0),r.currentOccurrences[d]++,!r.PendingStartMilestones.length&&r.waitingMarkup.length){var y,A,m,v;(A=(y=n.unalignedWords)[c])!==null&&A!==void 0||(y[c]={}),(v=(m=n.unalignedWords[c])[l])!==null&&v!==void 0||(m[l]=[]),n.unalignedWords[c][l].push({word:d,occurrence:r.currentOccurrences[d],totalOccurrences:p[c][l][d]})}for(;r.waitingMarkup.length;){var C=r.waitingMarkup.shift(),B=["before",d,r.currentOccurrences[d],p[c][l][d]].join("--"),T={chapter:c,verses:l,occurrence:r.currentOccurrences[d],occurrences:p[c][l][d],position:"before",word:d,payload:Kc(Kc({},C),C.subtype==="usfm:w"&&{content:[d]})};n.stripped[r.chapter][r.verses][B]?n.stripped[r.chapter][r.verses][B].push(T):n.stripped[r.chapter][r.verses][B]=[T]}r.lastWord=d}}catch(N){throw console.error(N),N}return!0}}],mark:[{description:"Update CV state",test:()=>!0,action:e=>{var{context:t,workspace:r,output:n}=e;try{var u=t.sequences[0].element;u.subType==="chapter"?(r.chapter=u.atts.number,r.verses=0,r.lastWord="",r.currentOccurrences={},n.stripped[r.chapter]={},n.stripped[r.chapter][r.verses]={}):u.subType==="verses"&&(r.verses=u.atts.number,r.lastWord="",r.currentOccurrences={},n.stripped[r.chapter][r.verses]={})}catch(s){throw console.error(s),s}return!0}}]},p7={stripMarkupActions:oG},Ls=aG(aE);function aG(e){return e&&e.__esModule?e:{default:e}}var d7=[["printable","wordLike",(0,Ls.default)("([\\p{Letter}\\p{Number}\\p{Mark}\\u2060]{1,127})")],["printable","lineSpace",(0,Ls.default)("([\\p{Separator} ]{1,127})")],["printable","punctuation",(0,Ls.default)("([\\p{Punctuation}\\p{Math_Symbol}\\p{Currency_Symbol}\\p{Modifier_Symbol}\\p{Other_Symbol}])")],["bad","unknown",(0,Ls.default)("(.)")]],iG=Ls.default.union(d7.map(e=>e[2])),cG={type:"end_milestone",subtype:"usfm:zaln"},lG={startDocument:[{description:"setup",test:()=>!0,action:e=>{var{workspace:t,output:r}=e;return t.chapter=null,t.verses=null,t.currentOccurrences={},r.unalignedWords={},!0}}],text:[{description:"add-to-text",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e;try{let v=function(){for(;h.length;)n.outputContentStack[0].push(h.shift())};var s=r.sequences[0];if(s.type!=="main")return!0;var o=r.sequences[0].element.text,a=Ls.default.match(o,iG,"all"),{chapter:i,verses:c}=n;if(!c)return!0;var{totalOccurrences:l,strippedAlignment:p}=t,d={opened:null},f=C=>{var{subtype:B,content:T=[],atts:N={}}=C;return Object.keys(N).length>0?{type:"wrapper",subtype:B,content:T,atts:N}:{type:"wrapper",subtype:B,content:T}},h=[],y=function(B){var T,N,R,J=(T=Ls.default.match(B,d7[0][2],"all"))===null||T===void 0?void 0:T.length;if(!J)return h.push(B),"continue";(R=(N=n.currentOccurrences)[B])!==null&&R!==void 0||(N[B]=0),n.currentOccurrences[B]++;var q=pe=>[pe,B,n.currentOccurrences[B],l[i][c][B]].join("--"),G=p[i][c],ee=!1,K=G[q("after")],ue=G[q("before")];if(ue!=null&&ue.length&&v(),K!=null&&K.length&&!d.opened&&(K.map(pe=>{var{startMilestone:z}=pe;return n.outputContentStack[0].push(z)}),ee=!0),ue==null||ue.forEach(pe=>{var{payload:z}=pe;z.type!=="start_milestone"&&n.outputContentStack[0].push(z),z.type==="start_milestone"&&!ee&&(n.outputContentStack[0].push(z),d.opened=!0)}),K==null||K.forEach(pe=>{var{payload:z}=pe;d.opened=!1,n.outputContentStack[0].push(z)}),!(ue!=null&&ue.length)){var oe,de,he,fe;d.opened&&(n.outputContentStack[0].push(cG),d.opened=!1),v(),(de=(oe=u.unalignedWords)[i])!==null&&de!==void 0||(oe[i]={}),(fe=(he=u.unalignedWords[i])[c])!==null&&fe!==void 0||(he[c]=[]),u.unalignedWords[n.chapter][n.verses].push({word:B,occurrence:n.currentOccurrences[B],totalOccurrences:l[i][c][B]});var ge=f({subtype:"usfm:w",content:[B]});n.outputContentStack[0].push(ge)}};for(var A of a)var m=y(A);return v(),!1}catch(v){throw console.error(v),v}}}],mark:[{description:"mark-chapters",test:e=>{var{context:t}=e;return t.sequences[0].element.subType==="chapter"},action:e=>{var{config:t,context:r,workspace:n,output:u}=e,s=r.sequences[0].element;return n.chapter=s.atts.number,n.verses=0,!0}},{description:"mark-verses",test:e=>{var{context:t}=e;return t.sequences[0].element.subType==="verses"},action:e=>{var{config:t,context:r,workspace:n,output:u}=e,s=r.sequences[0].element;return n.verses=s.atts.number,n.currentOccurrences={},!0}}]},f7={mergeAlignmentActions:lG},{verseWordsActions:pG}=l7,{stripMarkupActions:dG}=p7,{mergeAlignmentActions:fG}=f7,DG={verseWordsActions:pG,stripMarkupActions:dG,mergeAlignmentActions:fG};let hG=class{constructor(t){if(!t)throw new Error("Must provide a constructor object to constructor");this.description=t.description||function(r){throw r}(new Error("Must provide a description in constructor object")),this.test=t.test||(()=>!0),this.action=t.action||(()=>null)}};var mG=hG,Rv=mG;let EG=class D7{constructor(t){if(this.constructor===D7)throw new Error("Abstract class ProskommaRender cannot be instantiated - make as subclass!");var r=t.actions||{};this.debugLevel=t.debugLevel||0,this.actions={};for(var n of["startDocument","endDocument","startSequence","endSequence","unresolvedBlockGraft","blockGraft","startParagraph","endParagraph","metaContent","mark","unresolvedInlineGraft","inlineGraft","startWrapper","endWrapper","startMilestone","endMilestone","text"])r[n]?this.actions[n]=r[n].map(u=>new Rv(u)):this.actions[n]=[]}addRenderActionObject(t,r){if(!this.actions[t])throw new Error("Unknown event '".concat(t));this.actions[t].push(r)}addRenderAction(t,r){this.addRenderActionObject(t,new Rv(r))}describeRenderActions(t){if(!this.actions[t])throw new Error("Unknown event '".concat(t));var r=["**Actions for ".concat(t,`** `)];for(var n of this.actions[t])r.push("IF ".concat(n.test.toString(),":")),r.push(" DO ".concat(n.description));return r.join(` -`)}renderDocument(t){var{docId:r,config:n,output:u}=t,s={},o={};return this.renderDocument1({docId:r,config:n,context:s,workspace:o,output:u}),u}renderDocument1(t){throw new Error("Define renderDocument1() in subclass")}renderEvent(t,r){var n=r.context;if(this.debugLevel>1&&console.log("".concat(" ".repeat(n.sequences.length),"EVENT ").concat(t)),!this.actions[t])throw new Error("Unknown event '".concat(t));var u=!1;for(var s of this.actions[t]){var o=!1;try{o=s.test(r)}catch(c){var a="Exception from test of action '".concat(s.description,"' for event ").concat(t," in ").concat(n.sequences.length>0?n.sequences[0].type:"no"," sequence: ").concat(c);throw new Error(a)}if(o){u=!0,this.debugLevel>0&&console.log("".concat(" ".repeat(n.sequences.length)," ").concat(t," action: ").concat(s.description));var i=!1;try{i=s.action(r)}catch(c){throw new Error("Exception from action '".concat(s.description,"' for event ").concat(t," in ").concat(n.sequences.length>0?n.sequences[0].type:"no"," sequence: ").concat(c))}if(!i)break}}if(["unresolvedBlockGraft","unresolvedInlineGraft"].includes(t)&&this.actions[t].length===0)throw new Error("No action for ".concat(t," graft event in ").concat(n.sequences.length>0?n.sequences[0].type:"no"," sequence: add an action or fix your data!"));!u&&this.debugLevel>1&&console.log("".concat(" ".repeat(n.sequences.length)," No matching action"))}};var nc=hG,mG=nc;let EG=class extends mG{constructor(t){if(super(t),!t.srcJson)throw new Error("Must provide srcJson");this.srcJson=t.srcJson}renderDocument1(t){var{docId:r,config:n,context:u,workspace:s,output:o}=t,a={config:n,context:u,workspace:s,output:o};u.renderer=this,u.document={id:r,schema:this.srcJson.schema,metadata:this.srcJson.metadata,mainSequenceId:this.srcJson.main_sequence_id,nSequences:Object.keys(this.srcJson.sequences).length},u.sequences=[],this.renderEvent("startDocument",a),this.renderSequenceId(a,this.srcJson.main_sequence_id),this.renderEvent("endDocument",a)}sequenceContext(t,r){return{id:r,type:t.type,nBlocks:t.blocks.length,milestones:new Set([])}}renderSequenceId(t,r){var n=t.context,u=this.srcJson.sequences[r];if(!u)throw new Error("Sequence '".concat(r,"' not found in renderSequenceId()"));n.sequences.unshift(this.sequenceContext(u,r)),this.renderEvent("startSequence",t);for(var[s,o]of u.blocks.entries())n.sequences[0].block={type:o.type,subType:o.subtype,blockN:s,wrappers:[]},o.type==="graft"?o.target&&!this.srcJson.sequences[o.target]?(n.sequences[0].block.target=o.target,this.renderEvent("unresolvedBlockGraft",t)):(n.sequences[0].block.target=o.target,n.sequences[0].block.isNew=o.new||!1,this.renderEvent("blockGraft",t)):(this.renderEvent("startParagraph",t),this.renderContent(o.content,t),this.renderEvent("endParagraph",t)),delete n.sequences[0].block;this.renderEvent("endSequence",t),n.sequences.shift()}renderContent(t,r){for(var n of t)this.renderElement(n,r)}renderElement(t,r){var n=o=>{t.meta_content&&(o.metaContent=t.meta_content,this.renderEvent("metaContent",r))},u=r.context,s={type:t.type||"text"};if(t.subtype&&(s.subType=t.subtype),t.atts?s.atts=t.atts:s.type!=="end_milestone"&&s.type!=="meta_content"&&(s.atts={}),t.target&&(s.target=t.target),t.type==="graft"&&(s.isNew=t.new||!1),s.type==="text"&&(s.text=t),u.sequences[0].element=s,s.type==="text")this.renderEvent("text",r),n(s);else if(s.type==="mark")this.renderEvent("mark",r),n(s);else if(s.type==="start_milestone")this.renderEvent("startMilestone",r),n(s);else if(s.type==="end_milestone")this.renderEvent("endMilestone",r),n(s);else if(s.type==="graft"){if(t.target&&t.target&&!this.srcJson.sequences[t.target]){this.renderEvent("unresolvedInlineGraft",r);return}this.renderEvent("inlineGraft",r),n(s)}else if(s.type==="wrapper")u.sequences[0].block.wrappers.unshift(s.subType),this.renderEvent("startWrapper",r),this.renderContent(t.content,r),u.sequences[0].element=s,n(s),this.renderEvent("endWrapper",r),u.sequences[0].block.wrappers.shift();else throw new Error("Unexpected element type '".concat(s.type));delete u.sequences[0].element}};var ps=EG,yG=vG(ps);function vG(e){return e&&e.__esModule?e:{default:e}}var{verseWordsActions:gG}=i7,AG=function(t){var{perf:r}=t,n=new yG.default({srcJson:r,actions:gG}),u={};return n.renderDocument({docId:"",config:{},output:u}),{verseWords:u.cv}},FG={name:"verseWords",type:"Transform",description:"PERF=>JSON: Counts words occurrences",inputs:[{name:"perf",type:"json",source:""}],outputs:[{name:"verseWords",type:"json"}],code:AG},CG={verseWords:FG},bG=e=>{var t={};for(var r of e)for(var n of Object.keys(r))t[n]?t[n].push(...r[n]):t[n]=r[n];return t},Xp=bG,SG={startDocument:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e;u.perf={},u.perf.schema=r.document.schema,u.perf.metadata=r.document.metadata,u.perf.sequences={}}}],endDocument:[{description:"identity",test:()=>!0,action:e=>{}}],startSequence:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e;u.perf.sequences[r.sequences[0].id]={type:r.sequences[0].type,blocks:[]},n.outputSequence=u.perf.sequences[r.sequences[0].id],r.sequences[0].type==="main"&&(u.perf.main_sequence_id=r.sequences[0].id)}}],endSequence:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e;r.sequences.length>1&&(n.outputSequence=u.perf.sequences[r.sequences[1].id])}}],blockGraft:[{description:"identity",test:()=>!0,action:e=>{var t=e.context.sequences[0].block,r={type:t.type,subtype:t.subType};t.target&&(r.target=t.target,e.context.renderer.renderSequenceId(e,r.target)),t.isNew&&(r.new=t.isNew),e.workspace.outputSequence.blocks.push(r)}}],startParagraph:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e,s=r.sequences[0].block,o={type:s.type,subtype:s.subType,content:[]};n.outputSequence.blocks.push(o),n.currentContent=o.content,n.outputBlock=n.outputSequence.blocks[n.outputSequence.blocks.length-1],n.outputContentStack=[n.outputBlock.content]}}],endParagraph:[{description:"identity",test:()=>!0,action:e=>{}}],metaContent:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e,s=r.sequences[0].element;n.currentContent=s.metaContent;var o=n.outputContentStack[1][n.outputContentStack[1].length-1];o.meta_content=[],n.outputContentStack.unshift(o.meta_content),r.renderer.renderContent(n.currentContent,e),n.outputContentStack.shift()}}],mark:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e,s=r.sequences[0].element,o={type:s.type,subtype:s.subType};s.atts&&typeof s.atts=="object"&&Object.keys(s.atts).length!==0&&(o.atts=s.atts),n.outputContentStack[0].push(o)}}],inlineGraft:[{description:"identity",test:()=>!0,action:e=>{var t=e.context.sequences[0].element,r={type:t.type,subtype:t.subType};if(t.target){r.target=t.target;var n=e.workspace.outputContentStack[0];e.context.renderer.renderSequenceId(e,t.target),e.workspace.outputContentStack[0]=n}t.isNew&&(r.new=t.isNew),e.workspace.outputContentStack[0].push(r)}}],startWrapper:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e,s=r.sequences[0].element,o={type:s.type,subtype:s.subType,content:[]};"atts"in s&&typeof s.atts=="object"&&Object.keys(s.atts).length!==0&&(o.atts=s.atts),n.outputContentStack[0].push(o),n.outputContentStack.unshift(o.content)}}],endWrapper:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e;n.outputContentStack.shift()}}],startMilestone:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e,s=r.sequences[0].element,o={type:s.type,subtype:s.subType};s.atts&&typeof s.atts=="object"&&Object.keys(s.atts).length!==0&&(o.atts=s.atts),n.outputContentStack[0].push(o)}}],endMilestone:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e,s=r.sequences[0].element,o={type:s.type,subtype:s.subType};n.outputContentStack[0].push(o)}}],text:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e,s=r.sequences[0].element;n.outputContentStack[0].push(s.text)}}]},uc={identityActions:SG},wG=f7(ps),_G=f7(Xp);function f7(e){return e&&e.__esModule?e:{default:e}}var{identityActions:BG}=uc,{stripMarkupActions:TG}=c7,$G=function(t){var{perf:r,verseWords:n}=t,u=new wG.default({srcJson:r,actions:(0,_G.default)([TG,BG])}),s={};return u.renderDocument({docId:"",config:{verseWords:n},output:s}),{perf:s.perf,strippedAlignment:s.stripped,unalignedWords:s.unalignedWords}},PG={name:"stripAlignment",type:"Transform",description:"PERF=>PERF: Strips alignment markup",inputs:[{name:"perf",type:"json",source:""},{name:"verseWords",type:"json",source:""}],outputs:[{name:"perf",type:"json"},{name:"strippedAlignment",type:"json"},{name:"unalignedWords",type:"json"}],code:$G},kG={stripAlignment:PG},OG=D7(ps),IG=D7(Xp);function D7(e){return e&&e.__esModule?e:{default:e}}var{identityActions:NG}=uc,{mergeAlignmentActions:qG}=p7,xG=function(t){var{perf:r,verseWords:n,strippedAlignment:u}=t,s=new OG.default({srcJson:r,actions:(0,IG.default)([qG,NG])}),o={};return s.renderDocument({docId:"",config:{totalOccurrences:n,strippedAlignment:u},output:o}),{perf:o.perf,unalignedWords:o.unalignedWords}},RG={name:"mergeAlignment",type:"Transform",description:"PERF=>PERF adds report to verses",inputs:[{name:"perf",type:"json",source:""},{name:"strippedAlignment",type:"json",source:""},{name:"verseWords",type:"json",source:""}],outputs:[{name:"perf",type:"json"},{name:"unalignedWords",type:"json"}],code:xG},jG={mergeAlignment:RG},{verseWords:MG}=CG,{stripAlignment:LG}=kG,{mergeAlignment:UG}=jG,GG={verseWords:MG,stripAlignment:LG,mergeAlignment:UG},VG=dG,HG=GG,WG={transforms:HG,renderActions:VG},JG={},h7=function(t){var{usfm:r,selectors:n,proskomma:u}=t;u.importDocuments(n,"usfm",[r]);var s=u.gqlQuerySync("{documents {id docSetId perf} }").data.documents[0],o=s.id,a=s.docSetId;u.gqlQuerySync('mutation { deleteDocument(docSetId: "'.concat(a,'", documentId: "').concat(o,'") }'));var i=JSON.parse(s.perf);return{perf:i}},zG={name:"usfmToPerf",type:"Transform",description:"USFM=>PERF: Conversion via Proskomma",inputs:[{name:"usfm",type:"text",source:""},{name:"selectors",type:"json",source:""}],outputs:[{name:"perf",type:"json"}],code:h7},KG={usfmToPerf:zG,usfmToPerfCode:h7},{usfmToPerf:XG,usfmToPerfCode:YG}=KG,ZG={usfmToPerf:XG,usfmToPerfCode:YG},QG=JG,eV=ZG,tV={transforms:eV,renderActions:QG};function Rv(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable})),r.push.apply(r,n)}return r}function rV(e){for(var t=1;t!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e;u.sofria={},u.sofria.schema=r.document.schema,u.sofria.metadata=r.document.metadata,u.sofria.sequence={},n.currentSequence=u.sofria.sequence,n.chapter=null,n.verses=null,n.cachedChapter=null,n.cachedVerses=null}}],endDocument:[{description:"identity",test:()=>!0,action:e=>{}}],startSequence:[{description:"identity",test:()=>!0,action:e=>{var{context:t,workspace:r}=e;r.currentSequence.type=t.sequences[0].type,r.currentSequence.blocks=[]}}],endSequence:[{description:"identity",test:()=>!0,action:e=>{var{workspace:t}=e;t.currentSequence.type==="main"&&(t.chapter=null,t.verses=null),t.currentSequence=null}}],blockGraft:[{description:"identity",test:()=>!0,action:e=>{var t=e.context.sequences[0].block,r={type:t.type};if(t.sequence){r.sequence={};var n=e.workspace.currentSequence;e.workspace.currentSequence=r.sequence,e.context.renderer.renderSequence(e),e.workspace.currentSequence=n}e.workspace.currentSequence.blocks.push(r)}}],startParagraph:[{description:"identity",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].block,u={type:n.type,subtype:n.subType,content:[]};if(r.currentSequence.blocks.push(u),r.currentContent=u.content,r.outputBlock=r.currentSequence.blocks[r.currentSequence.blocks.length-1],r.outputContentStack=[r.outputBlock.content],r.currentSequence.type==="main"){for(var s of["chapter","verses"])if(r[s]){var o={type:"wrapper",subtype:s,content:[],atts:{number:r[s]}};r.outputContentStack[0].push(o),r.outputContentStack.unshift(o.content)}}}}],endParagraph:[{description:"identity",test:()=>!0,action:e=>{}}],metaContent:[{description:"identity",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element;r.currentContent=n.metaContent;var u=r.outputContentStack[1][r.outputContentStack[1].length-1];u.meta_content=[],r.outputContentStack.unshift(u.meta_content),t.renderer.renderContent(r.currentContent,e),r.outputContentStack.shift()}}],mark:[{description:"identity",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element,u={type:n.type,subtype:n.subType};n.atts&&(u.atts=n.atts),r.outputContentStack[0].push(u)}}],inlineGraft:[{description:"identity",test:()=>!0,action:e=>{var t=e.context.sequences[0].element,r={type:t.type,subtype:t.subType,sequence:{}},n=e.workspace.currentSequence,u=[...e.workspace.outputContentStack];e.workspace.currentSequence=r.sequence,e.context.renderer.renderSequence(e),e.workspace.outputContentStack=u,e.workspace.currentSequence=n,e.workspace.outputContentStack[0].push(r)}}],startWrapper:[{description:"identity",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element;n.subType==="chapter"?(r.chapter=n.atts.number,r.cachedChapter=r.chapter):n.subType==="verses"&&(r.verses=n.atts.number,r.cachedVerses=r.verses);var u={type:n.type,subtype:n.subType,content:[]};if("atts"in n&&(u.atts=rV({},n.atts)),r.outputContentStack.length===0)throw new Error("outputContentStack is empty before pushing to its first element, near ".concat(t.document.metadata.document.bookCode," ").concat(r.cachedChapter,":").concat(r.cachedVerses));r.outputContentStack[0].push(u),r.outputContentStack.unshift(u.content)}}],endWrapper:[{description:"identity",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element;n.subType==="chapter"?r.chapter=null:n.subType==="verses"&&(r.verses=null),r.outputContentStack.shift()}}],startMilestone:[{description:"identity",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element,u={type:n.type,subtype:n.subType};n.atts&&(u.atts=n.atts),r.outputContentStack[0].push(u)}}],endMilestone:[{description:"identity",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element,u={type:n.type,subtype:n.subType};r.outputContentStack[0].push(u)}}],text:[{description:"identity",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element;r.outputContentStack[0].push(n.text)}}]},aV={identityActions:oV},{identityActions:iV}=aV,cV={identityActions:iV},lV=function(t){var{perf:r}=t,n=new PerfRenderFromJson({srcJson:r,actions:identityAction}),u={};return n.renderDocument({docId:"",config:{},output:u}),{verseWords:u.cv}},pV={name:"identity",type:"Transform",description:"identity operation",inputs:[{name:"perf",type:"json",source:""}],outputs:[{name:"perf",type:"json"}],code:lV},dV={identity:pV},{identity:fV}=dV,DV={identity:fV},hV=cV,mV=DV,EV={transforms:mV,renderActions:hV},yV={startDocument:[{description:"Set up word object",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e;n.words={}}}],text:[{description:"Split strings and add words to word object",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e;for(var s of r.sequences[0].element.text.split(/[\s:;,.]+/).filter(o=>o.length>0))s=s.toLowerCase(),s in n.words?n.words[s]+=1:n.words[s]=1}}],endDocument:[{description:"Sort words",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e;u.words=[...Object.entries(n.words)].sort((s,o)=>o[1]-s[1])}}]},m7={wordCountActions:yV},jv=e=>({type:e.sequences[0].block.type,subType:e.sequences[0].block.subType,pos:e.sequences[0].block.blockN,perfChapter:null}),vV={startDocument:[{description:"Set up storage",test:()=>!0,action:e=>{var{workspace:t,output:r}=e;t.blockRecords=[],r.report={}}}],startParagraph:[{description:"Set up block record",test:()=>!0,action:e=>{var{context:t,workspace:r,output:n}=e;r.blockRecords.push(jv(t))}}],blockGraft:[{description:"Set up block record",test:()=>!0,action:e=>{var{context:t,workspace:r,output:n}=e;r.blockRecords.push(jv(t))}}],mark:[{description:"Add chapter number to block record",test:e=>{var{context:t}=e;return t.sequences[0].element.subType==="chapter"},action:e=>{var{config:t,context:r,workspace:n,output:u}=e;n.blockRecords[n.blockRecords.length-1].perfChapter=r.sequences[0].element.atts.number}}],endDocument:[{description:"Populate report",test:()=>!0,action:e=>{var{workspace:t,output:r}=e;for(var[n,u]of Object.entries(t.blockRecords))if(u.perfChapter){for(var s=n,o=!1;s>0&&!o;)t.blockRecords[s-1].type==="paragraph"||t.blockRecords[s-1].subType==="title"?o=!0:s--;r.report[s.toString()]=u.perfChapter}}}]},E7={calculateUsfmChapterPositionsActions:vV},wr=e=>["toc","toca","mt","imt","s","ms","mte","sd"].includes(e)?e+"1":e,gV=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};r==null&&(r={});var n="\\".concat(t,"-s |");for(var[u,s]of Object.entries(r))u==="x-morph"&&typeof s!="string"?n=n+wr(u)+'="'+s.join(",")+'" ':n=n+wr(u)+'="'+s+'" ';return n+"\\*"},AV=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;r==null&&(r={});var u="|";for(var[s,o]of Object.entries(r))u=u+wr(s)+'="'+o+'" ';return u=u+"\\",n&&(u=u+"+"),u+t+"*"},FV={startDocument:[{description:"Set up environment",test:()=>!0,action:e=>{var{context:t,workspace:r}=e;r.usfmBits=[""],r.nestedWrapper=0;for(var[n,u]of Object.entries(t.document.metadata.document).filter(s=>!["tags","properties","bookCode","cl"].includes(s[0])))r.usfmBits.push("\\".concat(wr(n)," ").concat(u,` +`)}renderDocument(t){var{docId:r,config:n,output:u}=t,s={},o={};return this.renderDocument1({docId:r,config:n,context:s,workspace:o,output:u}),u}renderDocument1(t){throw new Error("Define renderDocument1() in subclass")}renderEvent(t,r){var n=r.context;if(this.debugLevel>1&&console.log("".concat(" ".repeat(n.sequences.length),"EVENT ").concat(t)),!this.actions[t])throw new Error("Unknown event '".concat(t));var u=!1;for(var s of this.actions[t]){var o=!1;try{o=s.test(r)}catch(c){var a="Exception from test of action '".concat(s.description,"' for event ").concat(t," in ").concat(n.sequences.length>0?n.sequences[0].type:"no"," sequence: ").concat(c);throw new Error(a)}if(o){u=!0,this.debugLevel>0&&console.log("".concat(" ".repeat(n.sequences.length)," ").concat(t," action: ").concat(s.description));var i=!1;try{i=s.action(r)}catch(c){throw new Error("Exception from action '".concat(s.description,"' for event ").concat(t," in ").concat(n.sequences.length>0?n.sequences[0].type:"no"," sequence: ").concat(c))}if(!i)break}}if(["unresolvedBlockGraft","unresolvedInlineGraft"].includes(t)&&this.actions[t].length===0)throw new Error("No action for ".concat(t," graft event in ").concat(n.sequences.length>0?n.sequences[0].type:"no"," sequence: add an action or fix your data!"));!u&&this.debugLevel>1&&console.log("".concat(" ".repeat(n.sequences.length)," No matching action"))}};var nc=EG,yG=nc;let vG=class extends yG{constructor(t){if(super(t),!t.srcJson)throw new Error("Must provide srcJson");this.srcJson=t.srcJson}renderDocument1(t){var{docId:r,config:n,context:u,workspace:s,output:o}=t,a={config:n,context:u,workspace:s,output:o};u.renderer=this,u.document={id:r,schema:this.srcJson.schema,metadata:this.srcJson.metadata,mainSequenceId:this.srcJson.main_sequence_id,nSequences:Object.keys(this.srcJson.sequences).length},u.sequences=[],this.renderEvent("startDocument",a),this.renderSequenceId(a,this.srcJson.main_sequence_id),this.renderEvent("endDocument",a)}sequenceContext(t,r){return{id:r,type:t.type,nBlocks:t.blocks.length,milestones:new Set([])}}renderSequenceId(t,r){var n=t.context,u=this.srcJson.sequences[r];if(!u)throw new Error("Sequence '".concat(r,"' not found in renderSequenceId()"));n.sequences.unshift(this.sequenceContext(u,r)),this.renderEvent("startSequence",t);for(var[s,o]of u.blocks.entries())n.sequences[0].block={type:o.type,subType:o.subtype,blockN:s,wrappers:[]},o.type==="graft"?o.target&&!this.srcJson.sequences[o.target]?(n.sequences[0].block.target=o.target,this.renderEvent("unresolvedBlockGraft",t)):(n.sequences[0].block.target=o.target,n.sequences[0].block.isNew=o.new||!1,this.renderEvent("blockGraft",t)):(this.renderEvent("startParagraph",t),this.renderContent(o.content,t),this.renderEvent("endParagraph",t)),delete n.sequences[0].block;this.renderEvent("endSequence",t),n.sequences.shift()}renderContent(t,r){for(var n of t)this.renderElement(n,r)}renderElement(t,r){var n=o=>{t.meta_content&&(o.metaContent=t.meta_content,this.renderEvent("metaContent",r))},u=r.context,s={type:t.type||"text"};if(t.subtype&&(s.subType=t.subtype),t.atts?s.atts=t.atts:s.type!=="end_milestone"&&s.type!=="meta_content"&&(s.atts={}),t.target&&(s.target=t.target),t.type==="graft"&&(s.isNew=t.new||!1),s.type==="text"&&(s.text=t),u.sequences[0].element=s,s.type==="text")this.renderEvent("text",r),n(s);else if(s.type==="mark")this.renderEvent("mark",r),n(s);else if(s.type==="start_milestone")this.renderEvent("startMilestone",r),n(s);else if(s.type==="end_milestone")this.renderEvent("endMilestone",r),n(s);else if(s.type==="graft"){if(t.target&&t.target&&!this.srcJson.sequences[t.target]){this.renderEvent("unresolvedInlineGraft",r);return}this.renderEvent("inlineGraft",r),n(s)}else if(s.type==="wrapper")u.sequences[0].block.wrappers.unshift(s.subType),this.renderEvent("startWrapper",r),this.renderContent(t.content,r),u.sequences[0].element=s,n(s),this.renderEvent("endWrapper",r),u.sequences[0].block.wrappers.shift();else throw new Error("Unexpected element type '".concat(s.type));delete u.sequences[0].element}};var ps=vG,gG=AG(ps);function AG(e){return e&&e.__esModule?e:{default:e}}var{verseWordsActions:FG}=l7,CG=function(t){var{perf:r}=t,n=new gG.default({srcJson:r,actions:FG}),u={};return n.renderDocument({docId:"",config:{},output:u}),{verseWords:u.cv}},bG={name:"verseWords",type:"Transform",description:"PERF=>JSON: Counts words occurrences",inputs:[{name:"perf",type:"json",source:""}],outputs:[{name:"verseWords",type:"json"}],code:CG},SG={verseWords:bG},wG=e=>{var t={};for(var r of e)for(var n of Object.keys(r))t[n]?t[n].push(...r[n]):t[n]=r[n];return t},Xp=wG,_G={startDocument:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e;u.perf={},u.perf.schema=r.document.schema,u.perf.metadata=r.document.metadata,u.perf.sequences={}}}],endDocument:[{description:"identity",test:()=>!0,action:e=>{}}],startSequence:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e;u.perf.sequences[r.sequences[0].id]={type:r.sequences[0].type,blocks:[]},n.outputSequence=u.perf.sequences[r.sequences[0].id],r.sequences[0].type==="main"&&(u.perf.main_sequence_id=r.sequences[0].id)}}],endSequence:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e;r.sequences.length>1&&(n.outputSequence=u.perf.sequences[r.sequences[1].id])}}],blockGraft:[{description:"identity",test:()=>!0,action:e=>{var t=e.context.sequences[0].block,r={type:t.type,subtype:t.subType};t.target&&(r.target=t.target,e.context.renderer.renderSequenceId(e,r.target)),t.isNew&&(r.new=t.isNew),e.workspace.outputSequence.blocks.push(r)}}],startParagraph:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e,s=r.sequences[0].block,o={type:s.type,subtype:s.subType,content:[]};n.outputSequence.blocks.push(o),n.currentContent=o.content,n.outputBlock=n.outputSequence.blocks[n.outputSequence.blocks.length-1],n.outputContentStack=[n.outputBlock.content]}}],endParagraph:[{description:"identity",test:()=>!0,action:e=>{}}],metaContent:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e,s=r.sequences[0].element;n.currentContent=s.metaContent;var o=n.outputContentStack[1][n.outputContentStack[1].length-1];o.meta_content=[],n.outputContentStack.unshift(o.meta_content),r.renderer.renderContent(n.currentContent,e),n.outputContentStack.shift()}}],mark:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e,s=r.sequences[0].element,o={type:s.type,subtype:s.subType};s.atts&&typeof s.atts=="object"&&Object.keys(s.atts).length!==0&&(o.atts=s.atts),n.outputContentStack[0].push(o)}}],inlineGraft:[{description:"identity",test:()=>!0,action:e=>{var t=e.context.sequences[0].element,r={type:t.type,subtype:t.subType};if(t.target){r.target=t.target;var n=e.workspace.outputContentStack[0];e.context.renderer.renderSequenceId(e,t.target),e.workspace.outputContentStack[0]=n}t.isNew&&(r.new=t.isNew),e.workspace.outputContentStack[0].push(r)}}],startWrapper:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e,s=r.sequences[0].element,o={type:s.type,subtype:s.subType,content:[]};"atts"in s&&typeof s.atts=="object"&&Object.keys(s.atts).length!==0&&(o.atts=s.atts),n.outputContentStack[0].push(o),n.outputContentStack.unshift(o.content)}}],endWrapper:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e;n.outputContentStack.shift()}}],startMilestone:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e,s=r.sequences[0].element,o={type:s.type,subtype:s.subType};s.atts&&typeof s.atts=="object"&&Object.keys(s.atts).length!==0&&(o.atts=s.atts),n.outputContentStack[0].push(o)}}],endMilestone:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e,s=r.sequences[0].element,o={type:s.type,subtype:s.subType};n.outputContentStack[0].push(o)}}],text:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e,s=r.sequences[0].element;n.outputContentStack[0].push(s.text)}}]},uc={identityActions:_G},BG=h7(ps),TG=h7(Xp);function h7(e){return e&&e.__esModule?e:{default:e}}var{identityActions:$G}=uc,{stripMarkupActions:PG}=p7,kG=function(t){var{perf:r,verseWords:n}=t,u=new BG.default({srcJson:r,actions:(0,TG.default)([PG,$G])}),s={};return u.renderDocument({docId:"",config:{verseWords:n},output:s}),{perf:s.perf,strippedAlignment:s.stripped,unalignedWords:s.unalignedWords}},OG={name:"stripAlignment",type:"Transform",description:"PERF=>PERF: Strips alignment markup",inputs:[{name:"perf",type:"json",source:""},{name:"verseWords",type:"json",source:""}],outputs:[{name:"perf",type:"json"},{name:"strippedAlignment",type:"json"},{name:"unalignedWords",type:"json"}],code:kG},IG={stripAlignment:OG},NG=m7(ps),qG=m7(Xp);function m7(e){return e&&e.__esModule?e:{default:e}}var{identityActions:xG}=uc,{mergeAlignmentActions:RG}=f7,jG=function(t){var{perf:r,verseWords:n,strippedAlignment:u}=t,s=new NG.default({srcJson:r,actions:(0,qG.default)([RG,xG])}),o={};return s.renderDocument({docId:"",config:{totalOccurrences:n,strippedAlignment:u},output:o}),{perf:o.perf,unalignedWords:o.unalignedWords}},MG={name:"mergeAlignment",type:"Transform",description:"PERF=>PERF adds report to verses",inputs:[{name:"perf",type:"json",source:""},{name:"strippedAlignment",type:"json",source:""},{name:"verseWords",type:"json",source:""}],outputs:[{name:"perf",type:"json"},{name:"unalignedWords",type:"json"}],code:jG},LG={mergeAlignment:MG},{verseWords:UG}=SG,{stripAlignment:GG}=IG,{mergeAlignment:VG}=LG,HG={verseWords:UG,stripAlignment:GG,mergeAlignment:VG},WG=DG,JG=HG,zG={transforms:JG,renderActions:WG},KG={},E7=function(t){var{usfm:r,selectors:n,proskomma:u}=t;u.importDocuments(n,"usfm",[r]);var s=u.gqlQuerySync("{documents {id docSetId perf} }").data.documents[0],o=s.id,a=s.docSetId;u.gqlQuerySync('mutation { deleteDocument(docSetId: "'.concat(a,'", documentId: "').concat(o,'") }'));var i=JSON.parse(s.perf);return{perf:i}},XG={name:"usfmToPerf",type:"Transform",description:"USFM=>PERF: Conversion via Proskomma",inputs:[{name:"usfm",type:"text",source:""},{name:"selectors",type:"json",source:""}],outputs:[{name:"perf",type:"json"}],code:E7},YG={usfmToPerf:XG,usfmToPerfCode:E7},{usfmToPerf:ZG,usfmToPerfCode:QG}=YG,eV={usfmToPerf:ZG,usfmToPerfCode:QG},tV=KG,rV=eV,nV={transforms:rV,renderActions:tV};function jv(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable})),r.push.apply(r,n)}return r}function uV(e){for(var t=1;t!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e;u.sofria={},u.sofria.schema=r.document.schema,u.sofria.metadata=r.document.metadata,u.sofria.sequence={},n.currentSequence=u.sofria.sequence,n.chapter=null,n.verses=null,n.cachedChapter=null,n.cachedVerses=null}}],endDocument:[{description:"identity",test:()=>!0,action:e=>{}}],startSequence:[{description:"identity",test:()=>!0,action:e=>{var{context:t,workspace:r}=e;r.currentSequence.type=t.sequences[0].type,r.currentSequence.blocks=[]}}],endSequence:[{description:"identity",test:()=>!0,action:e=>{var{workspace:t}=e;t.currentSequence.type==="main"&&(t.chapter=null,t.verses=null),t.currentSequence=null}}],blockGraft:[{description:"identity",test:()=>!0,action:e=>{var t=e.context.sequences[0].block,r={type:t.type};if(t.sequence){r.sequence={};var n=e.workspace.currentSequence;e.workspace.currentSequence=r.sequence,e.context.renderer.renderSequence(e),e.workspace.currentSequence=n}e.workspace.currentSequence.blocks.push(r)}}],startParagraph:[{description:"identity",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].block,u={type:n.type,subtype:n.subType,content:[]};if(r.currentSequence.blocks.push(u),r.currentContent=u.content,r.outputBlock=r.currentSequence.blocks[r.currentSequence.blocks.length-1],r.outputContentStack=[r.outputBlock.content],r.currentSequence.type==="main"){for(var s of["chapter","verses"])if(r[s]){var o={type:"wrapper",subtype:s,content:[],atts:{number:r[s]}};r.outputContentStack[0].push(o),r.outputContentStack.unshift(o.content)}}}}],endParagraph:[{description:"identity",test:()=>!0,action:e=>{}}],metaContent:[{description:"identity",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element;r.currentContent=n.metaContent;var u=r.outputContentStack[1][r.outputContentStack[1].length-1];u.meta_content=[],r.outputContentStack.unshift(u.meta_content),t.renderer.renderContent(r.currentContent,e),r.outputContentStack.shift()}}],mark:[{description:"identity",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element,u={type:n.type,subtype:n.subType};n.atts&&(u.atts=n.atts),r.outputContentStack[0].push(u)}}],inlineGraft:[{description:"identity",test:()=>!0,action:e=>{var t=e.context.sequences[0].element,r={type:t.type,subtype:t.subType,sequence:{}},n=e.workspace.currentSequence,u=[...e.workspace.outputContentStack];e.workspace.currentSequence=r.sequence,e.context.renderer.renderSequence(e),e.workspace.outputContentStack=u,e.workspace.currentSequence=n,e.workspace.outputContentStack[0].push(r)}}],startWrapper:[{description:"identity",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element;n.subType==="chapter"?(r.chapter=n.atts.number,r.cachedChapter=r.chapter):n.subType==="verses"&&(r.verses=n.atts.number,r.cachedVerses=r.verses);var u={type:n.type,subtype:n.subType,content:[]};if("atts"in n&&(u.atts=uV({},n.atts)),r.outputContentStack.length===0)throw new Error("outputContentStack is empty before pushing to its first element, near ".concat(t.document.metadata.document.bookCode," ").concat(r.cachedChapter,":").concat(r.cachedVerses));r.outputContentStack[0].push(u),r.outputContentStack.unshift(u.content)}}],endWrapper:[{description:"identity",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element;n.subType==="chapter"?r.chapter=null:n.subType==="verses"&&(r.verses=null),r.outputContentStack.shift()}}],startMilestone:[{description:"identity",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element,u={type:n.type,subtype:n.subType};n.atts&&(u.atts=n.atts),r.outputContentStack[0].push(u)}}],endMilestone:[{description:"identity",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element,u={type:n.type,subtype:n.subType};r.outputContentStack[0].push(u)}}],text:[{description:"identity",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element;r.outputContentStack[0].push(n.text)}}]},cV={identityActions:iV},{identityActions:lV}=cV,pV={identityActions:lV},dV=function(t){var{perf:r}=t,n=new PerfRenderFromJson({srcJson:r,actions:identityAction}),u={};return n.renderDocument({docId:"",config:{},output:u}),{verseWords:u.cv}},fV={name:"identity",type:"Transform",description:"identity operation",inputs:[{name:"perf",type:"json",source:""}],outputs:[{name:"perf",type:"json"}],code:dV},DV={identity:fV},{identity:hV}=DV,mV={identity:hV},EV=pV,yV=mV,vV={transforms:yV,renderActions:EV},gV={startDocument:[{description:"Set up word object",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e;n.words={}}}],text:[{description:"Split strings and add words to word object",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e;for(var s of r.sequences[0].element.text.split(/[\s:;,.]+/).filter(o=>o.length>0))s=s.toLowerCase(),s in n.words?n.words[s]+=1:n.words[s]=1}}],endDocument:[{description:"Sort words",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e;u.words=[...Object.entries(n.words)].sort((s,o)=>o[1]-s[1])}}]},y7={wordCountActions:gV},Mv=e=>({type:e.sequences[0].block.type,subType:e.sequences[0].block.subType,pos:e.sequences[0].block.blockN,perfChapter:null}),AV={startDocument:[{description:"Set up storage",test:()=>!0,action:e=>{var{workspace:t,output:r}=e;t.blockRecords=[],r.report={}}}],startParagraph:[{description:"Set up block record",test:()=>!0,action:e=>{var{context:t,workspace:r,output:n}=e;r.blockRecords.push(Mv(t))}}],blockGraft:[{description:"Set up block record",test:()=>!0,action:e=>{var{context:t,workspace:r,output:n}=e;r.blockRecords.push(Mv(t))}}],mark:[{description:"Add chapter number to block record",test:e=>{var{context:t}=e;return t.sequences[0].element.subType==="chapter"},action:e=>{var{config:t,context:r,workspace:n,output:u}=e;n.blockRecords[n.blockRecords.length-1].perfChapter=r.sequences[0].element.atts.number}}],endDocument:[{description:"Populate report",test:()=>!0,action:e=>{var{workspace:t,output:r}=e;for(var[n,u]of Object.entries(t.blockRecords))if(u.perfChapter){for(var s=n,o=!1;s>0&&!o;)t.blockRecords[s-1].type==="paragraph"||t.blockRecords[s-1].subType==="title"?o=!0:s--;r.report[s.toString()]=u.perfChapter}}}]},v7={calculateUsfmChapterPositionsActions:AV},wr=e=>["toc","toca","mt","imt","s","ms","mte","sd"].includes(e)?e+"1":e,FV=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};r==null&&(r={});var n="\\".concat(t,"-s |");for(var[u,s]of Object.entries(r))u==="x-morph"&&typeof s!="string"?n=n+wr(u)+'="'+s.join(",")+'" ':n=n+wr(u)+'="'+s+'" ';return n+"\\*"},CV=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;r==null&&(r={});var u="|";for(var[s,o]of Object.entries(r))u=u+wr(s)+'="'+o+'" ';return u=u+"\\",n&&(u=u+"+"),u+t+"*"},bV={startDocument:[{description:"Set up environment",test:()=>!0,action:e=>{var{context:t,workspace:r}=e;r.usfmBits=[""],r.nestedWrapper=0;for(var[n,u]of Object.entries(t.document.metadata.document).filter(s=>!["tags","properties","bookCode","cl"].includes(s[0])))r.usfmBits.push("\\".concat(wr(n)," ").concat(u,` `))}}],blockGraft:[{description:"Follow block grafts",test:e=>{var{context:t}=e;return["title","heading","introduction"].includes(t.sequences[0].block.subType)},action:e=>{var t=e.context.sequences[0],r=e.config.report[t.block.blockN.toString()],n=t.block.target;r&&t.type==="main"&&e.workspace.usfmBits.push(` \\c `.concat(r,` `)),n&&e.context.renderer.renderSequenceId(e,n)}}],inlineGraft:[{description:"Follow inline grafts",test:()=>!0,action:e=>{var t=e.context.sequences[0].element.target;t&&e.context.renderer.renderSequenceId(e,t)}}],startParagraph:[{description:"Output footnote paragraph tag (footnote)",test:e=>{var{context:t}=e;return t.sequences[0].block.subType==="usfm:f"&&t.sequences[0].type==="footnote"||t.sequences[0].block.subType==="usfm:x"&&t.sequences[0].type==="xref"},action:e=>{var{context:t,workspace:r,config:n}=e;r.nestedWrapper=0;var u=t.sequences[0];r.usfmBits.push("\\".concat(wr(u.block.subType.split(":")[1])," "))}},{description:"Output footnote note_caller tag (footnote)",test:e=>{var{context:t}=e;return t.sequences[0].block.subType==="usfm:f"||t.sequences[0].block.subType==="usfm:x"},action:e=>{var{context:t,workspace:r,config:n}=e;r.nestedWrapper=0}},{description:"Output paragraph tag (main)",test:()=>!0,action:e=>{var{context:t,workspace:r,config:n}=e;r.nestedWrapper=0;var u=t.sequences[0],s=n.report[u.block.blockN.toString()];s&&u.type==="main"&&r.usfmBits.push(` @@ -156,15 +156,15 @@ Received directive: `)),r.usfmBits.push(` \\`.concat(wr(u.block.subType.split(":")[1]),` `))}}],endParagraph:[{description:"Output footnote paragraph tag (footnote)",test:e=>{var{context:t}=e;return t.sequences[0].block.subType==="usfm:f"&&t.sequences[0].type==="footnote"||t.sequences[0].block.subType==="usfm:x"&&t.sequences[0].type==="xref"},action:e=>{var{context:t,workspace:r,config:n}=e,u=t.sequences[0];r.usfmBits.push("\\".concat(wr(u.block.subType.split(":")[1]),"*"))}},{description:"Output footnote note_caller tag (footnote)",test:e=>{var{context:t}=e;return t.sequences[0].block.subType==="usfm:f"||t.sequences[0].block.subType==="usfm:x"},action:e=>{}},{description:"Output nl",test:()=>!0,action:e=>{var{workspace:t}=e;t.usfmBits.push(` -`)}}],startMilestone:[{description:"Output start milestone",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element,u=gV(wr(n.subType.split(":")[1]),n.atts);r.usfmBits.push(u)}}],endMilestone:[{description:"Output end milestone",test:()=>!0,action:e=>{var{context:t,workspace:r}=e;r.usfmBits.push("\\".concat(wr(t.sequences[0].element.subType.split(":")[1]),"-e\\*"))}}],text:[{description:"Output text",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element.text;r.usfmBits.push(n)}}],mark:[{description:"Output chapter or verses",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element;n.subType==="verses"&&r.usfmBits.push(` +`)}}],startMilestone:[{description:"Output start milestone",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element,u=FV(wr(n.subType.split(":")[1]),n.atts);r.usfmBits.push(u)}}],endMilestone:[{description:"Output end milestone",test:()=>!0,action:e=>{var{context:t,workspace:r}=e;r.usfmBits.push("\\".concat(wr(t.sequences[0].element.subType.split(":")[1]),"-e\\*"))}}],text:[{description:"Output text",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element.text;r.usfmBits.push(n)}}],mark:[{description:"Output chapter or verses",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element;n.subType==="verses"&&r.usfmBits.push(` \\v `.concat(n.atts.number,` `))}}],endSequence:[{description:"Output \\cl",test:e=>{var{context:t}=e;return t.document.metadata.document.cl&&t.sequences[0].type==="title"},action:e=>{var{context:t,workspace:r}=e;r.usfmBits.push(` \\cl `.concat(t.document.metadata.document.cl,` -`))}}],startWrapper:[{description:"Output start tag",test:()=>!0,action:e=>{var{workspace:t,context:r}=e,n=r.sequences[0];t.nestedWrapper>0?t.usfmBits.push("\\+".concat(wr(n.element.subType.split(":")[1])," ")):t.usfmBits.push("\\".concat(wr(n.element.subType.split(":")[1])," ")),t.nestedWrapper+=1}}],endWrapper:[{description:"Output end tag",test:e=>{var{context:t}=e;return!["fr","fq","fqa","fk","fl","fw","fp","ft","xo","xk","xq","xt","xta"].includes(t.sequences[0].element.subType.split(":")[1])},action:e=>{var{workspace:t,context:r}=e;t.nestedWrapper-=1;var n=r.sequences[0],u=n.element.subType.split(":")[1],s=t.nestedWrapper>0;if(u==="w"){var o=AV(wr(u),n.element.atts,s);t.usfmBits.push(o)}else s?t.usfmBits.push("\\+".concat(wr(n.element.subType.split(":")[1]),"*")):t.usfmBits.push("\\".concat(wr(n.element.subType.split(":")[1]),"*"))}},{description:"Do NOT output end tag",test:()=>!0,action:e=>{var{workspace:t}=e;t.nestedWrapper-=1}}],endDocument:[{description:"Build output",test:()=>!0,action:e=>{var{workspace:t,output:r}=e;r.usfm=t.usfmBits.join("").replace(/(\s*)\n(\s*)/gm,` -`)}}]},y7={perfToUsfmActions:FV},{wordCountActions:CV}=m7,{calculateUsfmChapterPositionsActions:bV}=E7,{perfToUsfmActions:SV}=y7,wV={wordCountActions:CV,perfToUsfmActions:SV,calculateUsfmChapterPositionsActions:bV},_V=BV(ps);function BV(e){return e&&e.__esModule?e:{default:e}}var{wordCountActions:TV}=m7,$V=function(t){var{perf:r}=t,n=new _V.default({srcJson:r,actions:TV}),u={};return n.renderDocument({docId:"",config:{},output:u}),{report:u.report}},PV={name:"wordCount",type:"Transform",description:"PERF=>JSON: Generates positions for inserting chapter numbers into USFM",inputs:[{name:"perf",type:"json",source:""}],outputs:[{name:"report",type:"json"}],code:$V},kV={wordCount:PV},OV=IV(ps);function IV(e){return e&&e.__esModule?e:{default:e}}var{calculateUsfmChapterPositionsActions:NV}=E7,qV=function(t){var{perf:r}=t,n=new OV.default({srcJson:r,actions:NV}),u={};return n.renderDocument({docId:"",config:{maxLength:60},output:u}),{report:u.report}},xV={name:"calculateUsfmChapterPositions",type:"Transform",description:"PERF=>JSON: Generates positions for inserting chapter numbers into USFM",inputs:[{name:"perf",type:"json",source:""}],outputs:[{name:"report",type:"json"}],code:qV},RV={calculateUsfmChapterPositions:xV},jV=MV(ps);function MV(e){return e&&e.__esModule?e:{default:e}}var{perfToUsfmActions:LV}=y7,UV=function(t){var{perf:r,report:n}=t,u=new jV.default({srcJson:r,actions:LV}),s={};return u.renderDocument({docId:"",config:{report:n},output:s}),{usfm:s.usfm}},GV={name:"perfToUsfm",type:"Transform",description:"PERF=>USFM",inputs:[{name:"perf",type:"json",source:""},{name:"report",type:"json",source:""}],outputs:[{name:"usfm",type:"text"}],code:UV},VV={perfToUsfm:GV},{wordCount:HV}=kV,{calculateUsfmChapterPositions:WV}=RV,{perfToUsfm:JV}=VV,zV={wordCount:HV,perfToUsfm:JV,calculateUsfmChapterPositions:WV},KV=wV,XV=zV,YV={transforms:XV,renderActions:KV},ZV={startMilestone:[{description:"Ignore startMilestone events",test:()=>!0,action:()=>{}}],endMilestone:[{description:"Ignore endMilestone events",test:()=>!0,action:()=>{}}],startWrapper:[{description:"Ignore startWrapper events",test:()=>!0,action:()=>{}}],endWrapper:[{description:"Ignore endWrapper events",test:()=>!0,action:()=>{}}],blockGraft:[{description:"Ignore blockGraft events, except for title (\\mt)",test:e=>e.context.sequences[0].block.subType!=="title",action:e=>{}}],inlineGraft:[{description:"Ignore inlineGraft events",test:()=>!0,action:()=>{}}],mark:[{description:"Ignore mark events, except for chapter and verses",test:e=>{var{context:t}=e;return!["chapter","verses"].includes(t.sequences[0].element.subType)},action:()=>{}}]},v7={justTheBibleActions:ZV},{identityActions:QV}=uc,{justTheBibleActions:eH}=v7,tH={identityActions:QV,justTheBibleActions:eH},{identityActions:rH}=uc,nH=function(t){var{perf:r}=t,n=new PerfRenderFromJson({srcJson:r,actions:rH}),u={};return n.renderDocument({docId:"",config:{},output:u}),{verseWords:u.cv}},uH={name:"identityTransform",type:"Transform",description:"identity operation",inputs:[{name:"perf",type:"json",source:""}],outputs:[{name:"perf",type:"json"}],code:nH},sH={identity:uH},oH=g7(ps),aH=g7(Xp);function g7(e){return e&&e.__esModule?e:{default:e}}var{identityActions:iH}=uc,{justTheBibleActions:cH}=v7,lH=function(t){var{perf:r}=t,n=new oH.default({srcJson:r,actions:(0,aH.default)([cH,iH])}),u={};return n.renderDocument({docId:"",config:{},output:u}),{perf:u.perf}},pH={name:"justTheBible",type:"Transform",description:"PERF=>PERF: Strips most markup",documentation:"This transform removes milestones, wrappers and most marks. It has been used in several pipelines. It may also be stripping metaContent.",inputs:[{name:"perf",type:"json",source:""}],outputs:[{name:"perf",type:"json"}],code:lH},dH={justTheBible:pH};const ur={},A7=e=>{let t=typeof e;return t==="number"||t==="string"||t==="boolean"||t==="undefined"||t==="bigint"||t==="symbol"||e===null},sc=e=>{if(A7(e)||!(e instanceof Object))return"primitive";const t=e.constructor&&e.constructor.name&&e.constructor.name.toLowerCase();if(typeof t=="string"&&t.length&&ur[t])return t;let r;for(const n in ur)if(r=ur[n].type,!r||e instanceof r)return n;return"unknown"},fH=(e,t,r)=>Array.prototype.push.call(e,r),DH=e=>{const t=[];return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),t},hH=e=>{const t=[...e];return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),t},mH=(e,t,r)=>{const n=e.length;for(let u=0;u{Object.assign(ur,{array:{type:Array,mayDeepCopy:!0,addElement:fH,makeEmpty:DH,makeShallow:hH,iterate:mH}})},yH=()=>{Object.assign(ur,{date:{type:Date,makeShallow:e=>new Date(e.getTime())}})},vH=()=>{Object.assign(ur,{regexp:{type:RegExp,makeShallow:e=>new RegExp(e)}})},gH=()=>{Object.assign(ur,{function:{type:Function,makeShallow:e=>e}})},AH=()=>{Object.assign(ur,{error:{type:Error,makeShallow:e=>{const t=new Error(e.message);return t.stack=e.stack,t}}})},FH=e=>{let t=typeof Vs<"u"&&Vs[e]||typeof window<"u"&&window[e]||typeof WorkerGlobalScope<"u"&&WorkerGlobalScope[e];typeof t<"u"&&(ur[e.toLowerCase()]={type:t,makeShallow:r=>t.from(r)})},CH=()=>{["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"].forEach(t=>FH(t))},bH=()=>{typeof ArrayBuffer<"u"&&Object.assign(ur,{arraybuffer:{type:ArrayBuffer,makeShallow:e=>e.slice(0)}})},SH=()=>{typeof Map>"u"||Object.assign(ur,{map:{type:Map,mayDeepCopy:!0,addElement:(e,t,r)=>e.set(t,r),makeEmpty:()=>new Map,makeShallow:e=>new Map(e),iterate:(e,t,r)=>{e.forEach((n,u)=>{const s={key:u,value:n,type:sc(n)};r(s)})}}})},wH=()=>{typeof Set>"u"||Object.assign(ur,{set:{type:Set,mayDeepCopy:!0,addElement:(e,t,r)=>e.add(r),makeEmpty:()=>new Set,makeShallow:e=>new Set(e),iterate:(e,t,r)=>{e.forEach(n=>{const u={key:null,value:n,type:sc(n)};r(u)})}}})},_H=()=>{typeof WeakSet>"u"||Object.assign(ur,{weakset:{type:WeakSet,makeShallow:e=>e}})},BH=()=>{typeof WeakMap>"u"||Object.assign(ur,{weakmap:{type:WeakMap,makeShallow:e=>e}})},TH=()=>{typeof Buffer>"u"||Object.assign(ur,{buffer:{type:Buffer,makeShallow:e=>Buffer.from(e)}})},$H=(e,t,r,n=void 0)=>{n?Object.defineProperty(e,t,n):e[t]=r},PH=e=>{const t={};return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),t},kH=e=>{const t=Object.assign({},e);return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),t},OH=(e,t,r)=>{const n=t?Object.getOwnPropertyNames(e):Object.keys(e),u=n.length;for(let s=0;s{Object.assign(ur,{object:{type:Object,mayDeepCopy:!0,addElement:$H,makeEmpty:PH,makeShallow:kH,iterate:OH}})},NH=()=>{Object.assign(ur,{unknown:{makeShallow:e=>e},primitive:{makeShallow:e=>e}})};EH();yH();vH();gH();AH();CH();bH();SH();wH();_H();BH();TH();IH();NH();function qH(e){return ur[e]}var xH=[A7,sc,qH];const[RH,jH,Y2]=xH,Z2={goDeep:!0,includeNonEnumerable:!1,detectCircular:!0,maxDepth:20};function MH(e){Object.keys(Z2).forEach(t=>{e[t]===void 0&&(e[t]=Z2[t])})}let LH=class{constructor(){this._seenMap=new WeakMap}setAsCopied(t,r){t instanceof Object&&this._seenMap.set(t,r)}wasCopied(t){return t instanceof Object&&this._seenMap.has(t)}getCopy(t){return this._seenMap.get(t)}};function UH(e,t,r){const{options:n,watcher:u}=r;let s;return t.mayDeepCopy?(s=t.makeEmpty(e),n.detectCircular&&u.setAsCopied(e,s)):s=t.makeShallow(e),s}function GH(e,t){if(e>=t)throw`Error max depth of ${t} levels exceeded, possible circular reference`}const F7=(e,t,r)=>{const{destObject:n,srcType:u,watcher:s,options:o}=t,a=o.detectCircular;GH(++r,o.maxDepth);const i=Y2(u);if(!i.mayDeepCopy)return;const c=i.addElement;i.iterate(e,o.includeNonEnumerable,l=>{const p=l.value,d=l.type,f=Y2(d);let h,y=!1;a&&s.wasCopied(p)?(h=s.getCopy(p),y=!0):h=UH(p,f,{options:o,watcher:s}),c(n,l.key,h,l.descriptor),f.mayDeepCopy&&!y&&F7(p,{destObject:h,srcType:d,watcher:s,options:o},r)})};function VH(e,t=Z2){if(MH(t),RH(e))return e;const r=jH(e),n=Y2(r);if(!t.goDeep||!n.mayDeepCopy)return n.makeShallow(e);const u=t.detectCircular?new LH:null;let s=n.makeEmpty(e);return t.detectCircular&&u.setAsCopied(e,s),F7(e,{destObject:s,srcType:r,watcher:u,options:t},0),s}var C7=VH,HH=WH(C7);function WH(e){return e&&e.__esModule?e:{default:e}}var Ep=e=>{var t=[];for(var r of e)typeof r=="string"?t.length>0&&typeof t[t.length-1]=="string"?t[t.length-1]+=r:t.push(r):(r.content&&(r.content=Ep(r.content)),r.metaContent&&(r.metaContent=Ep(r.content)),t.push(r));return t},JH=e=>{var t=(0,HH.default)(e);for(var r of Object.values(t.sequences))for(var n of r.blocks)n.content&&(n.content=Ep(n.content)),n.metaContent&&(n.metaContent=Ep(n.metaContent));return t},b7=function(t){var{perf:r}=t;return{perf:JH(r)}},zH={name:"mergePerfText",type:"Transform",description:"PERF=>PERF: Merge consecutive text strings",inputs:[{name:"perf",type:"json",source:""}],outputs:[{name:"perf",type:"json"}],code:b7},KH={mergePerfText:zH,mergePerfTextCode:b7},{identity:XH}=sH,{justTheBible:YH}=dH,{mergePerfText:ZH,mergePerfTextCode:QH}=KH,eW={identity:XH,justTheBible:YH,mergePerfText:ZH,mergePerfTextCode:QH},tW=tH,rW=eW,nW={transforms:rW,renderActions:tW},uW=WG,sW=tV,oW=EV,aW=YV,iW=nW,S7={xToPerf:sW,perfToX:aW,sofriaToSofria:oW,alignment:uW,perfToPerf:iW};const cW=[{id:0,type:"Inputs",inputs:{usfm:"text",selectors:"json"}},{id:2,title:"USFM to PERF",name:"usfmToPerf",type:"Transform",inputs:[{name:"usfm",type:"text",source:"Input usfm"},{name:"selectors",type:"json",source:"Input selectors"}],outputs:[{name:"perf",type:"json"}],description:"USFM=>PERF: Conversion via Proskomma"},{id:999,type:"Outputs",outputs:[{name:"perf",type:"json",source:"Transform 2 perf"}]}],lW=[{id:0,type:"Inputs",inputs:{perf:"json",strippedAlignment:"json"}},{id:1,title:"Count stripped perf words",name:"verseWords",transformName:"verseWords",type:"Transform",inputs:[{name:"perf",type:"json",source:"Input perf"}],outputs:[{name:"verseWords",type:"json"}],description:"PERF=>JSON: Counts words occurrences"},{id:2,title:"Merge Back Into Stripped (roundtrip)",name:"mergeAlignment",transformName:"mergeAlignment",type:"Transform",inputs:[{name:"perf",type:"json",source:"Input perf"},{name:"strippedAlignment",type:"json",source:"Input strippedAlignment"},{name:"verseWords",type:"json",source:"Transform 1 verseWords"}],outputs:[{name:"perf",type:"json"},{name:"unalignedWords",type:"json"}],description:"PERF=>PERF adds report to verses"},{id:3,title:"Merge Merged PERF Text",name:"mergePerfText",transformName:"mergePerfText",type:"Transform",inputs:[{name:"perf",type:"json",source:"Transform 2 perf"}],outputs:[{name:"perf",type:"json"}],description:"PERF=>PERF: Merge consecutive text strings"},{id:999,type:"Outputs",outputs:[{name:"perf",type:"json",source:"Transform 3 perf"},{name:"unalignedWords",type:"json",source:"Transform 2 unalignedWords"}]}],pW=[{id:0,type:"Inputs",inputs:{perf:"json"}},{id:1,title:"Count stripped perf words",name:"verseWords",type:"Transform",transformName:"verseWords",inputs:[{name:"perf",type:"json",source:"Input perf"}],outputs:[{name:"verseWords",type:"json"}],description:"PERF=>JSON: Counts words occurrences"},{id:2,title:"Strip Alignment",name:"stripAlignment",type:"Transform",transformName:"stripAlignment",inputs:[{name:"perf",type:"json",source:"Input perf"},{name:"verseWords",type:"json",source:"Transform 1 verseWords"}],outputs:[{name:"perf",type:"json"},{name:"strippedAlignment",type:"json"},{name:"unalignedWords",type:"json"}],description:"PERF=>PERF: Strips alignment markup"},{id:3,title:"Merge stripped perf",name:"mergePerfText",type:"Transform",transformName:"mergePerfText",inputs:[{name:"perf",type:"json",source:"Transform 2 perf"}],outputs:[{name:"perf",type:"json"}],description:"PERF=>PERF: Merge consecutive text strings"},{id:999,type:"Outputs",outputs:[{name:"perf",type:"json",source:"Transform 3 perf"},{name:"strippedAlignment",type:"json",source:"Transform 2 strippedAlignment"},{name:"unalignedWords",type:"json",source:"Transform 2 unalignedWords"}]}],dW=[{id:0,type:"Inputs",inputs:{perf:"json"}},{id:1,title:"Generate report",name:"calculateUsfmChapterPositions",type:"Transform",inputs:[{name:"perf",type:"json",source:"Input perf"}],outputs:[{name:"report",type:"json"}],description:"Generate report from perf to calculate the position of the chapters"},{id:2,title:"PERF to USFM",name:"perfToUsfm",type:"Transform",inputs:[{name:"perf",type:"json",source:"Input perf"},{name:"report",type:"json",source:"Transform 1 report"}],outputs:[{name:"usfm",type:"text"}],description:"PERF=>USFM: Conversion via Proskomma"},{id:999,type:"Outputs",outputs:[{name:"usfm",type:"text",source:"Transform 2 usfm"}]}],fW=[{id:0,type:"Inputs",inputs:{perf:"json"}},{id:1,title:"Simplify Input PERF",name:"justTheBible",transformName:"justTheBible",type:"Transform",inputs:[{name:"perf",type:"json",source:"Input perf"}],outputs:[{name:"perf",type:"json"}]},{id:999,type:"Outputs",outputs:[{name:"perf",type:"json",source:"Transform 1 perf"}]}];var DW=oc(cW),hW=oc(lW),mW=oc(pW),EW=oc(dW),yW=oc(fW);function oc(e){return e&&e.__esModule?e:{default:e}}var w7={usfmToPerfPipeline:DW.default,mergeAlignmentPipeline:hW.default,stripAlignmentPipeline:mW.default,perfToUsfmPipeline:EW.default,justTheBiblePipeline:yW.default};function Mv(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable})),r.push.apply(r,n)}return r}function Lv(e){for(var t=1;t!0,action:e=>{var{workspace:t,context:r}=e,n=r.sequences[0];t.nestedWrapper>0?t.usfmBits.push("\\+".concat(wr(n.element.subType.split(":")[1])," ")):t.usfmBits.push("\\".concat(wr(n.element.subType.split(":")[1])," ")),t.nestedWrapper+=1}}],endWrapper:[{description:"Output end tag",test:e=>{var{context:t}=e;return!["fr","fq","fqa","fk","fl","fw","fp","ft","xo","xk","xq","xt","xta"].includes(t.sequences[0].element.subType.split(":")[1])},action:e=>{var{workspace:t,context:r}=e;t.nestedWrapper-=1;var n=r.sequences[0],u=n.element.subType.split(":")[1],s=t.nestedWrapper>0;if(u==="w"){var o=CV(wr(u),n.element.atts,s);t.usfmBits.push(o)}else s?t.usfmBits.push("\\+".concat(wr(n.element.subType.split(":")[1]),"*")):t.usfmBits.push("\\".concat(wr(n.element.subType.split(":")[1]),"*"))}},{description:"Do NOT output end tag",test:()=>!0,action:e=>{var{workspace:t}=e;t.nestedWrapper-=1}}],endDocument:[{description:"Build output",test:()=>!0,action:e=>{var{workspace:t,output:r}=e;r.usfm=t.usfmBits.join("").replace(/(\s*)\n(\s*)/gm,` +`)}}]},g7={perfToUsfmActions:bV},{wordCountActions:SV}=y7,{calculateUsfmChapterPositionsActions:wV}=v7,{perfToUsfmActions:_V}=g7,BV={wordCountActions:SV,perfToUsfmActions:_V,calculateUsfmChapterPositionsActions:wV},TV=$V(ps);function $V(e){return e&&e.__esModule?e:{default:e}}var{wordCountActions:PV}=y7,kV=function(t){var{perf:r}=t,n=new TV.default({srcJson:r,actions:PV}),u={};return n.renderDocument({docId:"",config:{},output:u}),{report:u.report}},OV={name:"wordCount",type:"Transform",description:"PERF=>JSON: Generates positions for inserting chapter numbers into USFM",inputs:[{name:"perf",type:"json",source:""}],outputs:[{name:"report",type:"json"}],code:kV},IV={wordCount:OV},NV=qV(ps);function qV(e){return e&&e.__esModule?e:{default:e}}var{calculateUsfmChapterPositionsActions:xV}=v7,RV=function(t){var{perf:r}=t,n=new NV.default({srcJson:r,actions:xV}),u={};return n.renderDocument({docId:"",config:{maxLength:60},output:u}),{report:u.report}},jV={name:"calculateUsfmChapterPositions",type:"Transform",description:"PERF=>JSON: Generates positions for inserting chapter numbers into USFM",inputs:[{name:"perf",type:"json",source:""}],outputs:[{name:"report",type:"json"}],code:RV},MV={calculateUsfmChapterPositions:jV},LV=UV(ps);function UV(e){return e&&e.__esModule?e:{default:e}}var{perfToUsfmActions:GV}=g7,VV=function(t){var{perf:r,report:n}=t,u=new LV.default({srcJson:r,actions:GV}),s={};return u.renderDocument({docId:"",config:{report:n},output:s}),{usfm:s.usfm}},HV={name:"perfToUsfm",type:"Transform",description:"PERF=>USFM",inputs:[{name:"perf",type:"json",source:""},{name:"report",type:"json",source:""}],outputs:[{name:"usfm",type:"text"}],code:VV},WV={perfToUsfm:HV},{wordCount:JV}=IV,{calculateUsfmChapterPositions:zV}=MV,{perfToUsfm:KV}=WV,XV={wordCount:JV,perfToUsfm:KV,calculateUsfmChapterPositions:zV},YV=BV,ZV=XV,QV={transforms:ZV,renderActions:YV},eH={startMilestone:[{description:"Ignore startMilestone events",test:()=>!0,action:()=>{}}],endMilestone:[{description:"Ignore endMilestone events",test:()=>!0,action:()=>{}}],startWrapper:[{description:"Ignore startWrapper events",test:()=>!0,action:()=>{}}],endWrapper:[{description:"Ignore endWrapper events",test:()=>!0,action:()=>{}}],blockGraft:[{description:"Ignore blockGraft events, except for title (\\mt)",test:e=>e.context.sequences[0].block.subType!=="title",action:e=>{}}],inlineGraft:[{description:"Ignore inlineGraft events",test:()=>!0,action:()=>{}}],mark:[{description:"Ignore mark events, except for chapter and verses",test:e=>{var{context:t}=e;return!["chapter","verses"].includes(t.sequences[0].element.subType)},action:()=>{}}]},A7={justTheBibleActions:eH},{identityActions:tH}=uc,{justTheBibleActions:rH}=A7,nH={identityActions:tH,justTheBibleActions:rH},{identityActions:uH}=uc,sH=function(t){var{perf:r}=t,n=new PerfRenderFromJson({srcJson:r,actions:uH}),u={};return n.renderDocument({docId:"",config:{},output:u}),{verseWords:u.cv}},oH={name:"identityTransform",type:"Transform",description:"identity operation",inputs:[{name:"perf",type:"json",source:""}],outputs:[{name:"perf",type:"json"}],code:sH},aH={identity:oH},iH=F7(ps),cH=F7(Xp);function F7(e){return e&&e.__esModule?e:{default:e}}var{identityActions:lH}=uc,{justTheBibleActions:pH}=A7,dH=function(t){var{perf:r}=t,n=new iH.default({srcJson:r,actions:(0,cH.default)([pH,lH])}),u={};return n.renderDocument({docId:"",config:{},output:u}),{perf:u.perf}},fH={name:"justTheBible",type:"Transform",description:"PERF=>PERF: Strips most markup",documentation:"This transform removes milestones, wrappers and most marks. It has been used in several pipelines. It may also be stripping metaContent.",inputs:[{name:"perf",type:"json",source:""}],outputs:[{name:"perf",type:"json"}],code:dH},DH={justTheBible:fH};const ur={},C7=e=>{let t=typeof e;return t==="number"||t==="string"||t==="boolean"||t==="undefined"||t==="bigint"||t==="symbol"||e===null},sc=e=>{if(C7(e)||!(e instanceof Object))return"primitive";const t=e.constructor&&e.constructor.name&&e.constructor.name.toLowerCase();if(typeof t=="string"&&t.length&&ur[t])return t;let r;for(const n in ur)if(r=ur[n].type,!r||e instanceof r)return n;return"unknown"},hH=(e,t,r)=>Array.prototype.push.call(e,r),mH=e=>{const t=[];return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),t},EH=e=>{const t=[...e];return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),t},yH=(e,t,r)=>{const n=e.length;for(let u=0;u{Object.assign(ur,{array:{type:Array,mayDeepCopy:!0,addElement:hH,makeEmpty:mH,makeShallow:EH,iterate:yH}})},gH=()=>{Object.assign(ur,{date:{type:Date,makeShallow:e=>new Date(e.getTime())}})},AH=()=>{Object.assign(ur,{regexp:{type:RegExp,makeShallow:e=>new RegExp(e)}})},FH=()=>{Object.assign(ur,{function:{type:Function,makeShallow:e=>e}})},CH=()=>{Object.assign(ur,{error:{type:Error,makeShallow:e=>{const t=new Error(e.message);return t.stack=e.stack,t}}})},bH=e=>{let t=typeof Vs<"u"&&Vs[e]||typeof window<"u"&&window[e]||typeof WorkerGlobalScope<"u"&&WorkerGlobalScope[e];typeof t<"u"&&(ur[e.toLowerCase()]={type:t,makeShallow:r=>t.from(r)})},SH=()=>{["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"].forEach(t=>bH(t))},wH=()=>{typeof ArrayBuffer<"u"&&Object.assign(ur,{arraybuffer:{type:ArrayBuffer,makeShallow:e=>e.slice(0)}})},_H=()=>{typeof Map>"u"||Object.assign(ur,{map:{type:Map,mayDeepCopy:!0,addElement:(e,t,r)=>e.set(t,r),makeEmpty:()=>new Map,makeShallow:e=>new Map(e),iterate:(e,t,r)=>{e.forEach((n,u)=>{const s={key:u,value:n,type:sc(n)};r(s)})}}})},BH=()=>{typeof Set>"u"||Object.assign(ur,{set:{type:Set,mayDeepCopy:!0,addElement:(e,t,r)=>e.add(r),makeEmpty:()=>new Set,makeShallow:e=>new Set(e),iterate:(e,t,r)=>{e.forEach(n=>{const u={key:null,value:n,type:sc(n)};r(u)})}}})},TH=()=>{typeof WeakSet>"u"||Object.assign(ur,{weakset:{type:WeakSet,makeShallow:e=>e}})},$H=()=>{typeof WeakMap>"u"||Object.assign(ur,{weakmap:{type:WeakMap,makeShallow:e=>e}})},PH=()=>{typeof Buffer>"u"||Object.assign(ur,{buffer:{type:Buffer,makeShallow:e=>Buffer.from(e)}})},kH=(e,t,r,n=void 0)=>{n?Object.defineProperty(e,t,n):e[t]=r},OH=e=>{const t={};return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),t},IH=e=>{const t=Object.assign({},e);return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),t},NH=(e,t,r)=>{const n=t?Object.getOwnPropertyNames(e):Object.keys(e),u=n.length;for(let s=0;s{Object.assign(ur,{object:{type:Object,mayDeepCopy:!0,addElement:kH,makeEmpty:OH,makeShallow:IH,iterate:NH}})},xH=()=>{Object.assign(ur,{unknown:{makeShallow:e=>e},primitive:{makeShallow:e=>e}})};vH();gH();AH();FH();CH();SH();wH();_H();BH();TH();$H();PH();qH();xH();function RH(e){return ur[e]}var jH=[C7,sc,RH];const[MH,LH,Z2]=jH,Q2={goDeep:!0,includeNonEnumerable:!1,detectCircular:!0,maxDepth:20};function UH(e){Object.keys(Q2).forEach(t=>{e[t]===void 0&&(e[t]=Q2[t])})}let GH=class{constructor(){this._seenMap=new WeakMap}setAsCopied(t,r){t instanceof Object&&this._seenMap.set(t,r)}wasCopied(t){return t instanceof Object&&this._seenMap.has(t)}getCopy(t){return this._seenMap.get(t)}};function VH(e,t,r){const{options:n,watcher:u}=r;let s;return t.mayDeepCopy?(s=t.makeEmpty(e),n.detectCircular&&u.setAsCopied(e,s)):s=t.makeShallow(e),s}function HH(e,t){if(e>=t)throw`Error max depth of ${t} levels exceeded, possible circular reference`}const b7=(e,t,r)=>{const{destObject:n,srcType:u,watcher:s,options:o}=t,a=o.detectCircular;HH(++r,o.maxDepth);const i=Z2(u);if(!i.mayDeepCopy)return;const c=i.addElement;i.iterate(e,o.includeNonEnumerable,l=>{const p=l.value,d=l.type,f=Z2(d);let h,y=!1;a&&s.wasCopied(p)?(h=s.getCopy(p),y=!0):h=VH(p,f,{options:o,watcher:s}),c(n,l.key,h,l.descriptor),f.mayDeepCopy&&!y&&b7(p,{destObject:h,srcType:d,watcher:s,options:o},r)})};function WH(e,t=Q2){if(UH(t),MH(e))return e;const r=LH(e),n=Z2(r);if(!t.goDeep||!n.mayDeepCopy)return n.makeShallow(e);const u=t.detectCircular?new GH:null;let s=n.makeEmpty(e);return t.detectCircular&&u.setAsCopied(e,s),b7(e,{destObject:s,srcType:r,watcher:u,options:t},0),s}var S7=WH,JH=zH(S7);function zH(e){return e&&e.__esModule?e:{default:e}}var Ep=e=>{var t=[];for(var r of e)typeof r=="string"?t.length>0&&typeof t[t.length-1]=="string"?t[t.length-1]+=r:t.push(r):(r.content&&(r.content=Ep(r.content)),r.metaContent&&(r.metaContent=Ep(r.content)),t.push(r));return t},KH=e=>{var t=(0,JH.default)(e);for(var r of Object.values(t.sequences))for(var n of r.blocks)n.content&&(n.content=Ep(n.content)),n.metaContent&&(n.metaContent=Ep(n.metaContent));return t},w7=function(t){var{perf:r}=t;return{perf:KH(r)}},XH={name:"mergePerfText",type:"Transform",description:"PERF=>PERF: Merge consecutive text strings",inputs:[{name:"perf",type:"json",source:""}],outputs:[{name:"perf",type:"json"}],code:w7},YH={mergePerfText:XH,mergePerfTextCode:w7},{identity:ZH}=aH,{justTheBible:QH}=DH,{mergePerfText:eW,mergePerfTextCode:tW}=YH,rW={identity:ZH,justTheBible:QH,mergePerfText:eW,mergePerfTextCode:tW},nW=nH,uW=rW,sW={transforms:uW,renderActions:nW},oW=zG,aW=nV,iW=vV,cW=QV,lW=sW,_7={xToPerf:aW,perfToX:cW,sofriaToSofria:iW,alignment:oW,perfToPerf:lW};const pW=[{id:0,type:"Inputs",inputs:{usfm:"text",selectors:"json"}},{id:2,title:"USFM to PERF",name:"usfmToPerf",type:"Transform",inputs:[{name:"usfm",type:"text",source:"Input usfm"},{name:"selectors",type:"json",source:"Input selectors"}],outputs:[{name:"perf",type:"json"}],description:"USFM=>PERF: Conversion via Proskomma"},{id:999,type:"Outputs",outputs:[{name:"perf",type:"json",source:"Transform 2 perf"}]}],dW=[{id:0,type:"Inputs",inputs:{perf:"json",strippedAlignment:"json"}},{id:1,title:"Count stripped perf words",name:"verseWords",transformName:"verseWords",type:"Transform",inputs:[{name:"perf",type:"json",source:"Input perf"}],outputs:[{name:"verseWords",type:"json"}],description:"PERF=>JSON: Counts words occurrences"},{id:2,title:"Merge Back Into Stripped (roundtrip)",name:"mergeAlignment",transformName:"mergeAlignment",type:"Transform",inputs:[{name:"perf",type:"json",source:"Input perf"},{name:"strippedAlignment",type:"json",source:"Input strippedAlignment"},{name:"verseWords",type:"json",source:"Transform 1 verseWords"}],outputs:[{name:"perf",type:"json"},{name:"unalignedWords",type:"json"}],description:"PERF=>PERF adds report to verses"},{id:3,title:"Merge Merged PERF Text",name:"mergePerfText",transformName:"mergePerfText",type:"Transform",inputs:[{name:"perf",type:"json",source:"Transform 2 perf"}],outputs:[{name:"perf",type:"json"}],description:"PERF=>PERF: Merge consecutive text strings"},{id:999,type:"Outputs",outputs:[{name:"perf",type:"json",source:"Transform 3 perf"},{name:"unalignedWords",type:"json",source:"Transform 2 unalignedWords"}]}],fW=[{id:0,type:"Inputs",inputs:{perf:"json"}},{id:1,title:"Count stripped perf words",name:"verseWords",type:"Transform",transformName:"verseWords",inputs:[{name:"perf",type:"json",source:"Input perf"}],outputs:[{name:"verseWords",type:"json"}],description:"PERF=>JSON: Counts words occurrences"},{id:2,title:"Strip Alignment",name:"stripAlignment",type:"Transform",transformName:"stripAlignment",inputs:[{name:"perf",type:"json",source:"Input perf"},{name:"verseWords",type:"json",source:"Transform 1 verseWords"}],outputs:[{name:"perf",type:"json"},{name:"strippedAlignment",type:"json"},{name:"unalignedWords",type:"json"}],description:"PERF=>PERF: Strips alignment markup"},{id:3,title:"Merge stripped perf",name:"mergePerfText",type:"Transform",transformName:"mergePerfText",inputs:[{name:"perf",type:"json",source:"Transform 2 perf"}],outputs:[{name:"perf",type:"json"}],description:"PERF=>PERF: Merge consecutive text strings"},{id:999,type:"Outputs",outputs:[{name:"perf",type:"json",source:"Transform 3 perf"},{name:"strippedAlignment",type:"json",source:"Transform 2 strippedAlignment"},{name:"unalignedWords",type:"json",source:"Transform 2 unalignedWords"}]}],DW=[{id:0,type:"Inputs",inputs:{perf:"json"}},{id:1,title:"Generate report",name:"calculateUsfmChapterPositions",type:"Transform",inputs:[{name:"perf",type:"json",source:"Input perf"}],outputs:[{name:"report",type:"json"}],description:"Generate report from perf to calculate the position of the chapters"},{id:2,title:"PERF to USFM",name:"perfToUsfm",type:"Transform",inputs:[{name:"perf",type:"json",source:"Input perf"},{name:"report",type:"json",source:"Transform 1 report"}],outputs:[{name:"usfm",type:"text"}],description:"PERF=>USFM: Conversion via Proskomma"},{id:999,type:"Outputs",outputs:[{name:"usfm",type:"text",source:"Transform 2 usfm"}]}],hW=[{id:0,type:"Inputs",inputs:{perf:"json"}},{id:1,title:"Simplify Input PERF",name:"justTheBible",transformName:"justTheBible",type:"Transform",inputs:[{name:"perf",type:"json",source:"Input perf"}],outputs:[{name:"perf",type:"json"}]},{id:999,type:"Outputs",outputs:[{name:"perf",type:"json",source:"Transform 1 perf"}]}];var mW=oc(pW),EW=oc(dW),yW=oc(fW),vW=oc(DW),gW=oc(hW);function oc(e){return e&&e.__esModule?e:{default:e}}var B7={usfmToPerfPipeline:mW.default,mergeAlignmentPipeline:EW.default,stripAlignmentPipeline:yW.default,perfToUsfmPipeline:vW.default,justTheBiblePipeline:gW.default};function Lv(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable})),r.push.apply(r,n)}return r}function Uv(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:"perf",n=t.filter(y=>y.type==="Transform");if(n.length===0)throw new Error("No Transform steps found in report steps");var u=Object.keys(n).map(y=>n[y].name);if(r==="sofria"){var s=null;for(var[o,a]of Object.entries(this.namespaces))if(o==="sofriaToSofria"){a.transforms?s=Object.entries(a.transforms):s=Object.entries(a);for(var[i,c]of s)u.includes(i)&&(this.transforms[i]=c)}}else{var l=null;for(var[p,d]of Object.entries(this.namespaces))if(p!=="sofriaToSofria"){d.transforms?l=Object.entries(d.transforms):l=Object.entries(d);for(var[f,h]of l)u.includes(f)&&(this.transforms[f]=h)}}}evaluateSteps(t){var{specSteps:r,inputValues:n}=t;this.verbose&&console.log("** Evaluate **");var u=r.filter(q=>q.type==="Inputs")[0];if(!u)throw new Error("No Inputs step found in report steps");var s=r.filter(q=>q.type==="Outputs")[0];if(!s)throw new Error("No Outputs step found in report steps");var o=r.filter(q=>q.type==="Transform");if(o.length===0)throw new Error("No Transform steps found in report steps");var a={},i={};for(var c of Object.values(o)){a[c.id]={};for(var l of c.inputs)a[c.id][l.name]=null;i[c.id]={};for(var p of c.outputs)i[c.id][p]=null}for(var[d,f]of Object.entries(n))for(var h of o)for(var y of h.inputs)y.source==="Input ".concat(d)&&(this.verbose&&console.log("Copying Input ".concat(d," to Transform ").concat(h.id," ").concat(y.name," input")),a[h.id][y.name]=f);for(var A=!0;A;){A=!1;for(var m of o)if(Object.values(a[m.id]).filter(q=>!q).length===0&&Object.values(i[m.id]).filter(q=>!q).length>0){this.verbose&&console.log("Evaluating Transform ".concat(m.id));try{i[m.id]=this.transforms[m.name].code(Lv(Lv({},a[m.id]),{},{proskomma:this.getProskomma()}))}catch(q){var v="Error evaluating Transform ".concat(m.id," (name=").concat(m.name,", type=").concat(typeof m.code,"): ").concat(q);throw new Error(v)}for(var C of o)for(var B of C.inputs)for(var T of Object.keys(i[m.id]))B.source==="Transform ".concat(m.id," ").concat(T)&&(this.verbose&&console.log("Copying Transform ".concat(m.id," ").concat(T," output to Transform ").concat(C.id," ").concat(B.name," input")),a[C.id][B.name]=i[m.id][T]);A=!0}}var N={};for(var R of s.outputs){var J=R.source.split(" ")[1];this.verbose&&console.log("Copying Transform ".concat(J," ").concat(R.name," to Output ").concat(R.name)),N[R.name]=i[J][R.name]}return this.verbose&&console.log("****"),N}};var wW=SW;function Gv(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable})),r.push.apply(r,n)}return r}function Vv(e){for(var t=1;t{var t=[];for(var r of e.split(""))r.toUpperCase()===r&&r.toLowerCase()!==r?t.push("_".concat(r.toLowerCase())):t.push(r);return t.join("")};let PW=class extends $W{constructor(t){if(super(t),!t.proskomma)throw new Error("No Proskomma");this.pk=t.proskomma,this._tokens=[],this._container=null}renderDocument1(t){var{docId:r,config:n,context:u,workspace:s,output:o}=t,a={config:n,context:u,workspace:s,output:o};u.renderer=this;var i=this.pk.gqlQuerySync('{document(id: "'.concat(r,'") {docSetId mainSequence { id } nSequences sequences {id} headers { key value } } }')),c=i.data.document.docSetId,l=i.data.document.mainSequence.id,p=i.data.document.nSequences;i.data.document.sequences.map(m=>m.id);var d={};for(var f of i.data.document.headers)d[f.key]=f.value;var h=this.pk.gqlQuerySync('{docSet(id: "'.concat(c,'") {selectors {key value}}}')),y={};for(var A of h.data.docSet.selectors)y[A.key]=A.value;u.document={id:r,schema:{structure:"flat",structure_version:"0.2.1",constraints:[{name:"perf",version:"0.2.1"}]},metadata:{translation:{id:c,selectors:y,properties:{},tags:[]},document:Vv(Vv({},d),{},{properties:{},tags:[]})},mainSequenceId:l,nSequences:p},u.sequences=[],this.renderEvent("startDocument",a),this.renderSequenceId(a,l),this.renderEvent("endDocument",a)}sequenceContext(t,r){return{id:r,type:_s(t.type),nBlocks:t.nBlocks,milestones:new Set([])}}renderSequenceId(t,r){var n=t.context,u=this.pk.gqlQuerySync('{document(id: "'.concat(n.document.id,'") {sequence(id:"').concat(r,'") {id type nBlocks } } }')),s=u.data.document.sequence;if(!s)throw new Error("Sequence '".concat(r,"' not found in renderSequenceId()"));n.sequences.unshift(this.sequenceContext(s,r)),this.renderEvent("startSequence",t);for(var o=0,a=0;a1&&arguments[1]!==void 0?arguments[1]:"perf",n=t.filter(y=>y.type==="Transform");if(n.length===0)throw new Error("No Transform steps found in report steps");var u=Object.keys(n).map(y=>n[y].name);if(r==="sofria"){var s=null;for(var[o,a]of Object.entries(this.namespaces))if(o==="sofriaToSofria"){a.transforms?s=Object.entries(a.transforms):s=Object.entries(a);for(var[i,c]of s)u.includes(i)&&(this.transforms[i]=c)}}else{var l=null;for(var[p,d]of Object.entries(this.namespaces))if(p!=="sofriaToSofria"){d.transforms?l=Object.entries(d.transforms):l=Object.entries(d);for(var[f,h]of l)u.includes(f)&&(this.transforms[f]=h)}}}evaluateSteps(t){var{specSteps:r,inputValues:n}=t;this.verbose&&console.log("** Evaluate **");var u=r.filter(q=>q.type==="Inputs")[0];if(!u)throw new Error("No Inputs step found in report steps");var s=r.filter(q=>q.type==="Outputs")[0];if(!s)throw new Error("No Outputs step found in report steps");var o=r.filter(q=>q.type==="Transform");if(o.length===0)throw new Error("No Transform steps found in report steps");var a={},i={};for(var c of Object.values(o)){a[c.id]={};for(var l of c.inputs)a[c.id][l.name]=null;i[c.id]={};for(var p of c.outputs)i[c.id][p]=null}for(var[d,f]of Object.entries(n))for(var h of o)for(var y of h.inputs)y.source==="Input ".concat(d)&&(this.verbose&&console.log("Copying Input ".concat(d," to Transform ").concat(h.id," ").concat(y.name," input")),a[h.id][y.name]=f);for(var A=!0;A;){A=!1;for(var m of o)if(Object.values(a[m.id]).filter(q=>!q).length===0&&Object.values(i[m.id]).filter(q=>!q).length>0){this.verbose&&console.log("Evaluating Transform ".concat(m.id));try{i[m.id]=this.transforms[m.name].code(Uv(Uv({},a[m.id]),{},{proskomma:this.getProskomma()}))}catch(q){var v="Error evaluating Transform ".concat(m.id," (name=").concat(m.name,", type=").concat(typeof m.code,"): ").concat(q);throw new Error(v)}for(var C of o)for(var B of C.inputs)for(var T of Object.keys(i[m.id]))B.source==="Transform ".concat(m.id," ").concat(T)&&(this.verbose&&console.log("Copying Transform ".concat(m.id," ").concat(T," output to Transform ").concat(C.id," ").concat(B.name," input")),a[C.id][B.name]=i[m.id][T]);A=!0}}var N={};for(var R of s.outputs){var J=R.source.split(" ")[1];this.verbose&&console.log("Copying Transform ".concat(J," ").concat(R.name," to Output ").concat(R.name)),N[R.name]=i[J][R.name]}return this.verbose&&console.log("****"),N}};var BW=_W;function Vv(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable})),r.push.apply(r,n)}return r}function Hv(e){for(var t=1;t{var t=[];for(var r of e.split(""))r.toUpperCase()===r&&r.toLowerCase()!==r?t.push("_".concat(r.toLowerCase())):t.push(r);return t.join("")};let OW=class extends kW{constructor(t){if(super(t),!t.proskomma)throw new Error("No Proskomma");this.pk=t.proskomma,this._tokens=[],this._container=null}renderDocument1(t){var{docId:r,config:n,context:u,workspace:s,output:o}=t,a={config:n,context:u,workspace:s,output:o};u.renderer=this;var i=this.pk.gqlQuerySync('{document(id: "'.concat(r,'") {docSetId mainSequence { id } nSequences sequences {id} headers { key value } } }')),c=i.data.document.docSetId,l=i.data.document.mainSequence.id,p=i.data.document.nSequences;i.data.document.sequences.map(m=>m.id);var d={};for(var f of i.data.document.headers)d[f.key]=f.value;var h=this.pk.gqlQuerySync('{docSet(id: "'.concat(c,'") {selectors {key value}}}')),y={};for(var A of h.data.docSet.selectors)y[A.key]=A.value;u.document={id:r,schema:{structure:"flat",structure_version:"0.2.1",constraints:[{name:"perf",version:"0.2.1"}]},metadata:{translation:{id:c,selectors:y,properties:{},tags:[]},document:Hv(Hv({},d),{},{properties:{},tags:[]})},mainSequenceId:l,nSequences:p},u.sequences=[],this.renderEvent("startDocument",a),this.renderSequenceId(a,l),this.renderEvent("endDocument",a)}sequenceContext(t,r){return{id:r,type:_s(t.type),nBlocks:t.nBlocks,milestones:new Set([])}}renderSequenceId(t,r){var n=t.context,u=this.pk.gqlQuerySync('{document(id: "'.concat(n.document.id,'") {sequence(id:"').concat(r,'") {id type nBlocks } } }')),s=u.data.document.sequence;if(!s)throw new Error("Sequence '".concat(r,"' not found in renderSequenceId()"));n.sequences.unshift(this.sequenceContext(s,r)),this.renderEvent("startSequence",t);for(var o=0,a=0;a{t.meta_content&&(o.metaContent=t.meta_content,this.renderEvent("metaContent",r))},u=r.context,s={type:t.type||"text"};if(t.subtype&&(s.subType=t.subtype),t.atts?s.atts=t.atts:s.type!=="end_milestone"&&s.type!=="meta_content"&&(s.atts={}),t.sequence&&(s.sequence=this.sequenceContext(t.sequence)),s.type==="text"&&(s.text=t),u.sequences[0].element=s,s.type==="text")this.renderEvent("text",r),n(s);else if(s.type==="mark")this.renderEvent("mark",r),n(s);else if(s.type==="start_milestone")this.renderEvent("startMilestone",r),n(s);else if(s.type==="end_milestone")this.renderEvent("endMilestone",r),n(s);else if(s.type==="graft")this.cachedSequences.unshift(t.sequence),this.renderEvent("inlineGraft",r),this.cachedSequences.shift(),n(s);else if(s.type==="wrapper")u.sequences[0].block.wrappers.unshift(s.subType),this.renderEvent("startWrapper",r),this.renderContent(t.content,r),u.sequences[0].element=s,n(s),this.renderEvent("endWrapper",r),u.sequences[0].block.wrappers.shift();else throw new Error("Unexpected element type '".concat(s.type));delete u.sequences[0].element}};var NW=IW;function Hv(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable})),r.push.apply(r,n)}return r}function Wv(e){for(var t=1;t{var t=[];for(var r of e.split(""))r.toUpperCase()===r&&r.toLowerCase()!==r?t.push("_".concat(r.toLowerCase())):t.push(r);return t.join("")};let MW=class extends jW{constructor(t){if(super(t),!t.proskomma)throw new Error("No Proskomma");this.pk=t.proskomma,this._tokens=[],this._container=null,this.cachedSequenceIds=[],this.sequences=null,this.currentCV={chapter:null,verses:null}}renderDocument1(t){var{docId:r,config:n,context:u,workspace:s,output:o}=t,a={config:n,context:u,workspace:s,output:o};u.renderer=this;var i=this.pk.gqlQuerySync(`{ + }`)),c=i.data.document.sequence.blocks[0];for(var l of c.bg)n.sequences[0].block={type:"graft",subType:_s(l.subType),blockN:o},n.sequences[0].block.target=l.payload,n.sequences[0].block.isNew=!1,this.renderEvent("blockGraft",t),o++;n.sequences[0].block={type:"paragraph",subType:"usfm:".concat(c.bs.payload.split("/")[1]),blockN:o,wrappers:[]},this.renderEvent("startParagraph",t),this._tokens=[],this.renderContent(c.items,t),this._tokens=[],this.renderEvent("endParagraph",t),delete n.sequences[0].block,o++}this.renderEvent("endSequence",t),n.sequences.shift()}renderContent(t,r){for(var n of t)this.renderItem(n,r);this.maybeRenderText(r)}renderItem(t,r){if(t.type==="scope"&&t.payload.startsWith("attribute")){var n=t.payload.split("/");t.subType==="start"?(this._container||(this._container={direction:"start",subType:"usfm:w",type:"wrapper",atts:{}}),n[3]in this._container.atts?this._container.atts[n[3]].push(n[5]):this._container.atts[n[3]]=[n[5]]):this._container||(this._container={direction:"end",subType:"usfm:".concat(_s(n[2]))},n[1]==="milestone"?this._container.type="end_milestone":(this._container.type="wrapper",this._container.atts={}))}else if(this._container&&(this.maybeRenderText(r),this.renderContainer(r)),t.type==="token")this._tokens.push(t.payload.replace(/\s+/g," "));else if(t.type==="graft"){this.maybeRenderText(r);var u={type:"graft",subType:_s(t.subType),target:t.payload,isNew:!1};r.context.sequences[0].element=u,this.renderEvent("inlineGraft",r),delete r.context.sequences[0].element}else{this.maybeRenderText(r);var s=t.payload.split("/");if(["chapter","verses","pubChapter","pubVerse","altChapter","altVerse"].includes(s[0])){if(t.subType==="start"){var o={type:"mark",subType:_s(s[0]),atts:{number:s[1]}};r.context.sequences[0].element=o,this.renderEvent("mark",r),delete r.context.sequences[0].element}}else if(s[0]==="span"){var a={type:"wrapper",subType:"usfm:".concat(s[1]),atts:{}};r.context.sequences[0].element=a,t.subType==="start"?(r.context.sequences[0].block.wrappers.unshift(a.subType),this.renderEvent("startWrapper",r)):(this.renderEvent("endWrapper",r),r.context.sequences[0].block.wrappers.shift()),delete r.context.sequences[0].element}else if(s[0]==="spanWithAtts")t.subType==="start"&&(this._container={direction:"start",type:"wrapper",subType:"usfm:".concat(s[1]),atts:{}});else if(s[0]==="milestone"&&t.subType==="start")if(s[1]==="ts"){var i={type:"mark",subType:"usfm:".concat(_s(s[1])),atts:{}};r.context.sequences[0].element=i,this.renderEvent("mark",r),delete r.context.sequences[0].element}else this._container={type:"start_milestone",subType:"usfm:".concat(_s(s[1])),atts:{}}}}maybeRenderText(t){if(this._tokens.length!==0){var r={type:"text",text:this._tokens.join("")};t.context.sequences[0].element=r,this._tokens=[],this.renderEvent("text",t),delete t.context.sequences[0].element}}renderContainer(t){if(this._container.type==="wrapper"){var r=this._container.direction;delete this._container.direction,r==="start"?(t.context.sequences[0].element=this._container,t.context.sequences[0].block.wrappers.unshift(this._container.subType),this.renderEvent("startWrapper",t),delete t.context.sequences[0].element):(t.context.sequences[0].element=this._container,this.renderEvent("endWrapper",t),t.context.sequences[0].block.wrappers.shift(),delete t.context.sequences[0].element)}else this._container.type==="start_milestone"?(t.context.sequences[0].element=this._container,this.renderEvent("startMilestone",t),delete t.context.sequences[0].element):this._container.type==="end_milestone"&&(t.context.sequences[0].element=this._container,this.renderEvent("endMilestone",t),delete t.context.sequences[0].element);this._container=null}};var IW=OW,NW=nc;let qW=class extends NW{constructor(t){if(super(t),!t.srcJson)throw new Error("Must provide srcJson");this.srcJson=t.srcJson,this.cachedSequences=[]}renderDocument1(t){var{docId:r,config:n,context:u,workspace:s,output:o}=t,a={config:n,context:u,workspace:s,output:o};u.renderer=this,u.document={id:r,schema:this.srcJson.schema,metadata:this.srcJson.metadata},u.sequences=[],this.renderEvent("startDocument",a),this.renderSequence(a,this.srcJson.sequence),this.renderEvent("endDocument",a)}sequenceContext(t){return{type:t.type,nBlocks:t.blocks.length,milestones:new Set([])}}renderSequence(t,r){var n;if(r)n=r;else{if(this.cachedSequences.length===0)throw new Error("No sequence provided and no sequences cached");n=this.cachedSequences[0]}var u=t.context;u.sequences.unshift(n),this.renderEvent("startSequence",t);for(var[s,o]of n.blocks.entries())u.sequences[0].block={type:o.type,blockN:s,wrappers:[]},o.type==="graft"?(u.sequences[0].block.sequence=this.sequenceContext(o.sequence),this.cachedSequences.unshift(o.sequence),this.renderEvent("blockGraft",t),this.cachedSequences.shift()):(this.renderEvent("startParagraph",t),this.renderContent(o.content,t),this.renderEvent("endParagraph",t)),delete u.sequences[0].block;this.renderEvent("endSequence",t),this.cachedSequence=null,u.sequences.shift()}renderContent(t,r){for(var n of t)this.renderElement(n,r)}renderElement(t,r){var n=o=>{t.meta_content&&(o.metaContent=t.meta_content,this.renderEvent("metaContent",r))},u=r.context,s={type:t.type||"text"};if(t.subtype&&(s.subType=t.subtype),t.atts?s.atts=t.atts:s.type!=="end_milestone"&&s.type!=="meta_content"&&(s.atts={}),t.sequence&&(s.sequence=this.sequenceContext(t.sequence)),s.type==="text"&&(s.text=t),u.sequences[0].element=s,s.type==="text")this.renderEvent("text",r),n(s);else if(s.type==="mark")this.renderEvent("mark",r),n(s);else if(s.type==="start_milestone")this.renderEvent("startMilestone",r),n(s);else if(s.type==="end_milestone")this.renderEvent("endMilestone",r),n(s);else if(s.type==="graft")this.cachedSequences.unshift(t.sequence),this.renderEvent("inlineGraft",r),this.cachedSequences.shift(),n(s);else if(s.type==="wrapper")u.sequences[0].block.wrappers.unshift(s.subType),this.renderEvent("startWrapper",r),this.renderContent(t.content,r),u.sequences[0].element=s,n(s),this.renderEvent("endWrapper",r),u.sequences[0].block.wrappers.shift();else throw new Error("Unexpected element type '".concat(s.type));delete u.sequences[0].element}};var xW=qW;function Wv(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable})),r.push.apply(r,n)}return r}function Jv(e){for(var t=1;t{var t=[];for(var r of e.split(""))r.toUpperCase()===r&&r.toLowerCase()!==r?t.push("_".concat(r.toLowerCase())):t.push(r);return t.join("")};let UW=class extends LW{constructor(t){if(super(t),!t.proskomma)throw new Error("No Proskomma");this.pk=t.proskomma,this._tokens=[],this._container=null,this.cachedSequenceIds=[],this.sequences=null,this.currentCV={chapter:null,verses:null}}renderDocument1(t){var{docId:r,config:n,context:u,workspace:s,output:o}=t,a={config:n,context:u,workspace:s,output:o};u.renderer=this;var i=this.pk.gqlQuerySync(`{ document(id: "`.concat(r,`") { docSetId mainSequence { id } @@ -189,7 +189,7 @@ Received directive: value } } - }`)),c=i.data.document.docSetId,l=i.data.document.mainSequence.id,p=i.data.document.nSequences;this.sequences={};for(var d of i.data.document.sequences)this.sequences[d.id]=d;var f={};for(var h of i.data.document.headers)f[h.key]=h.value;var y=this.pk.gqlQuerySync('{docSet(id: "'.concat(c,'") {selectors {key value}}}')),A={};for(var m of y.data.docSet.selectors)A[m.key]=m.value;u.document={id:r,schema:{structure:"nested",structure_version:"0.2.1",constraints:[{name:"sofria",version:"0.2.1"}]},metadata:{translation:{id:c,selectors:A,properties:{},tags:[]},document:Wv(Wv({},f),{},{properties:{},tags:[]})},mainSequenceId:l,nSequences:p},n.chapters&&(u.document.metadata.document.properties.chapters=n.chapters[0]),u.sequences=[],this.renderEvent("startDocument",a),this.cachedSequenceIds.unshift(l),this.renderSequence(a,l),this.cachedSequenceIds.shift(),this.renderEvent("endDocument",a)}sequenceContext(t,r){return{id:r,type:Uu(t.type),nBlocks:t.nBlocks,milestones:new Set([])}}renderSequence(t){var r=t.context,n=this.cachedSequenceIds[0],u=this.pk.gqlQuerySync('{document(id: "'.concat(r.document.id,'") {sequence(id:"').concat(n,'") {id type nBlocks blocks { os {payload} is {payload} } } } }')),s=u.data.document.sequence;if(!s)throw new Error("Sequence '".concat(n,"' not found in renderSequenceId()"));r.sequences.unshift(this.sequenceContext(s,n)),this.renderEvent("startSequence",t);for(var o=0,a=0;av.payload),...s.blocks[a].is.map(v=>v.payload)].filter(v=>["chapter"].includes(v.split("/")[0])).map(v=>v.split("/")[1]);if(i.length===0||!t.config.chapters.includes(i[0]))continue}var c=this.pk.gqlQuerySync(`{ + }`)),c=i.data.document.docSetId,l=i.data.document.mainSequence.id,p=i.data.document.nSequences;this.sequences={};for(var d of i.data.document.sequences)this.sequences[d.id]=d;var f={};for(var h of i.data.document.headers)f[h.key]=h.value;var y=this.pk.gqlQuerySync('{docSet(id: "'.concat(c,'") {selectors {key value}}}')),A={};for(var m of y.data.docSet.selectors)A[m.key]=m.value;u.document={id:r,schema:{structure:"nested",structure_version:"0.2.1",constraints:[{name:"sofria",version:"0.2.1"}]},metadata:{translation:{id:c,selectors:A,properties:{},tags:[]},document:Jv(Jv({},f),{},{properties:{},tags:[]})},mainSequenceId:l,nSequences:p},n.chapters&&(u.document.metadata.document.properties.chapters=n.chapters[0]),u.sequences=[],this.renderEvent("startDocument",a),this.cachedSequenceIds.unshift(l),this.renderSequence(a,l),this.cachedSequenceIds.shift(),this.renderEvent("endDocument",a)}sequenceContext(t,r){return{id:r,type:Uu(t.type),nBlocks:t.nBlocks,milestones:new Set([])}}renderSequence(t){var r=t.context,n=this.cachedSequenceIds[0],u=this.pk.gqlQuerySync('{document(id: "'.concat(r.document.id,'") {sequence(id:"').concat(n,'") {id type nBlocks blocks { os {payload} is {payload} } } } }')),s=u.data.document.sequence;if(!s)throw new Error("Sequence '".concat(n,"' not found in renderSequenceId()"));r.sequences.unshift(this.sequenceContext(s,n)),this.renderEvent("startSequence",t);for(var o=0,a=0;av.payload),...s.blocks[a].is.map(v=>v.payload)].filter(v=>["chapter"].includes(v.split("/")[0])).map(v=>v.split("/")[1]);if(i.length===0||!t.config.chapters.includes(i[0]))continue}var c=this.pk.gqlQuerySync(`{ document(id: "`.concat(r.document.id,`") { sequence(id:"`).concat(n,`") { blocks(positions:`).concat(a,`) { @@ -199,15 +199,15 @@ Received directive: } } } - }`)),l=c.data.document.sequence.blocks[0];for(var p of l.bg)r.sequences[0].block={type:"graft",subType:Uu(p.subType),blockN:o,sequence:this.sequences[p.payload]},this.cachedSequenceIds.unshift(p.payload),this.renderEvent("blockGraft",t),this.cachedSequenceIds.shift(),o++;var d=l.bs.payload.split("/"),f=d[1]?"usfm:".concat(d[1]):d[0];if(r.sequences[0].block={type:"paragraph",subType:f,blockN:o,wrappers:[]},this.renderEvent("startParagraph",t),this._tokens=[],s.type==="main"&&this.currentCV.chapter){var h={type:"wrapper",subType:"chapter",atts:{number:this.currentCV.chapter}};t.context.sequences[0].element=h,t.context.sequences[0].block.wrappers.unshift(h.subType),this.renderEvent("startWrapper",t)}if(s.type==="main"&&this.currentCV.verses){var y={type:"wrapper",subType:"verses",atts:{number:this.currentCV.verses}};t.context.sequences[0].element=y,t.context.sequences[0].block.wrappers.unshift(y.subType),this.renderEvent("startWrapper",t)}if(this.renderContent(l.items,t),this._tokens=[],s.type==="main"&&this.currentCV.verses){var A={type:"wrapper",subType:"verses",atts:{number:this.currentCV.verses}};t.context.sequences[0].element=A,t.context.sequences[0].block.wrappers.shift(),this.renderEvent("endWrapper",t)}if(s.type==="main"&&this.currentCV.chapter){var m={type:"wrapper",subType:"chapter",atts:{number:this.currentCV.chapter}};t.context.sequences[0].element=m,t.context.sequences[0].block.wrappers.shift(),this.renderEvent("endWrapper",t)}this.renderEvent("endParagraph",t),delete r.sequences[0].block,o++}this.renderEvent("endSequence",t),r.sequences.shift()}renderContent(t,r){for(var n of t)this.renderItem(n,r);this.maybeRenderText(r)}renderItem(t,r){if(t.type==="scope"&&t.payload.startsWith("attribute")){var n=t.payload.split("/");t.subType==="start"?(this._container||(this._container={direction:"start",subType:"usfm:w",type:"wrapper",atts:{}}),n[3]in this._container.atts?this._container.atts[n[3]].push(n[5]):this._container.atts[n[3]]=[n[5]]):this._container||(this._container={direction:"end",subType:"usfm:".concat(Uu(n[2]))},n[1]==="milestone"?this._container.type="end_milestone":(this._container.type="wrapper",this._container.atts={}))}else if(this._container&&(this.maybeRenderText(r),this.renderContainer(r)),t.type==="token")this._tokens.push(t.payload.replace(/\s+/g," "));else if(t.type==="graft"){this.maybeRenderText(r);var u={type:"graft",subType:Uu(t.subType),sequence:this.sequences[t.payload]};r.context.sequences[0].element=u,this.cachedSequenceIds.unshift(t.payload),this.renderEvent("inlineGraft",r),this.cachedSequenceIds.shift(),delete r.context.sequences[0].element}else{this.maybeRenderText(r);var s=t.payload.split("/");if(["chapter","verses"].includes(s[0])){var o={type:"wrapper",subType:Uu(s[0]),atts:{number:s[1]}};if(r.context.sequences[0].element=o,t.subType==="start"){this.currentCV[s[0]]=s[1],r.context.sequences[0].block.wrappers.unshift(o.subType),this.renderEvent("startWrapper",r);var a={type:"mark",subType:"".concat(s[0],"_label"),atts:{number:s[1]}};r.context.sequences[0].element=a,this.renderEvent("mark",r),r.context.sequences[0].element=o}else this.renderEvent("endWrapper",r),r.context.sequences[0].block.wrappers.shift(),delete r.context.sequences[0].element,this.currentCV[s[0]]=null}else if(["pubChapter","pubVerse","altChapter","altVerse"].includes(s[0])){if(t.subType==="start"){var i={type:"mark",subType:Uu(s[0]),atts:{number:s[1]}};r.context.sequences[0].element=i,this.renderEvent("mark",r),delete r.context.sequences[0].element}}else if(s[0]==="span"){var c={type:"wrapper",subType:"usfm:".concat(s[1]),atts:{}};r.context.sequences[0].element=c,t.subType==="start"?(r.context.sequences[0].block.wrappers.unshift(c.subType),this.renderEvent("startWrapper",r)):(this.renderEvent("endWrapper",r),r.context.sequences[0].block.wrappers.shift()),delete r.context.sequences[0].element}else if(s[0]==="spanWithAtts")t.subType==="start"&&(this._container={direction:"start",type:"wrapper",subType:"usfm:".concat(s[1]),atts:{}});else if(s[0]==="milestone"&&t.subType==="start")if(s[1]==="ts"){var l={type:"mark",subType:"usfm:".concat(Uu(s[1])),atts:{}};r.context.sequences[0].element=l,this.renderEvent("mark",r),delete r.context.sequences[0].element}else this._container={type:"start_milestone",subType:"usfm:".concat(Uu(s[1])),atts:{}}}}maybeRenderText(t){if(this._tokens.length!==0){var r={type:"text",text:this._tokens.join("")};t.context.sequences[0].element=r,this._tokens=[],this.renderEvent("text",t),delete t.context.sequences[0].element}}renderContainer(t){if(this._container.type==="wrapper"){var r=this._container.direction;delete this._container.direction,r==="start"?(t.context.sequences[0].element=this._container,t.context.sequences[0].block.wrappers.unshift(this._container.subType),this.renderEvent("startWrapper",t),delete t.context.sequences[0].element):(t.context.sequences[0].element=this._container,this.renderEvent("endWrapper",t),t.context.sequences[0].block.wrappers.shift(),delete t.context.sequences[0].element)}else this._container.type==="start_milestone"?(t.context.sequences[0].element=this._container,this.renderEvent("startMilestone",t),delete t.context.sequences[0].element):this._container.type==="end_milestone"&&(t.context.sequences[0].element=this._container,this.renderEvent("endMilestone",t),delete t.context.sequences[0].element);this._container=null}};var LW=MW,UW=HU,GW=YU,VW=wW,HW=nc,WW=ps,JW=kW,zW=NW,KW=LW,XW=Xp,YW=w7,ZW=S7,vu={Validator:UW,usfmHelps:GW,ProskommaRender:HW,PerfRenderFromJson:WW,SofriaRenderFromJson:zW,SofriaRenderFromProskomma:KW,PerfRenderFromProskomma:JW,mergeActions:XW,PipelineHandler:VW,pipelines:YW,render:ZW};const ds=[["chapter","chapter",Z("([\\r\\n]*\\\\c[ \\t]+(\\d+)[ \\t\\r\\n]*)")],["pubchapter","pubchapter",Z("([\\r\\n]*\\\\cp[ \\t]+([^\\r\\n]+)[ \\t\\r\\n]*)")],["verses","verses",Z("(\\\\v[ \\t]+([\\d\\-]+)[ \\t\\r\\n]*)")],["attribute","attribute",Z('([ \\t]*\\|?[ \\t]*([A-Za-z0-9\\-]+)="([^"]*)"[ \\t]?)')],["attribute","defaultAttribute",Z("([ \\t]*\\|[ \\t]*([^\\|\\\\]*))")],["milestone","emptyMilestone",Z('(\\\\([a-z1-9]+)([ \\t]*\\|[ \\t]*[a-z1-9]+="[^\\|\\\\"]*")*\\\\[*])')],["milestone","startMilestoneTag",Z("(\\\\([a-z1-9]+)-([se]))")],["milestone","endMilestoneMarker",Z("(\\\\([*]))")],["tag","endTag",Z("(\\\\([+]?[a-z\\-]+)([1-9]?(-([1-9]))?)[*])")],["tag","startTag",Z("(\\\\([+]?[a-z\\-]+)([1-9]?(-([1-9]))?)[ \\t]?)")],["bad","bareSlash",Z("(\\\\)")],["printable","eol",Z("([ \\t]*[\\r\\n]+[ \\t]*)")],["break","softLineBreak",Z("//")],["printable","wordLike",Z("([\\p{Letter}\\p{Number}\\p{Mark}\\u2060~]{1,127})")],["printable","lineSpace",Z("([\\p{Separator} ]{1,127})")],["printable","punctuation",Z("([\\p{Punctuation}\\p{Math_Symbol}\\p{Currency_Symbol}\\p{Modifier_Symbol}\\p{Other_Symbol}])")],["bad","unknown",Z("(.)")]],_7=Z.union(ds.map(e=>e[2])),hf=(e,t)=>({subclass:e,printValue:t[0].replace(/~/g," ")}),QW=(e,t)=>({subclass:e,numberString:t[2],number:parseInt(t[2]),printValue:`\\c ${t[2]} -`}),eJ=(e,t)=>{const r={subclass:e,numberString:t[2],printValue:`\\v ${t[2]} -`};if(r.numberString.includes("-")){const[n,u]=r.numberString.split("-").map(s=>parseInt(s));r.numbers=Array.from(Array(u-n+1).keys()).map(s=>s+n)}else r.numbers=[parseInt(r.numberString)];return r},tJ=(e,t)=>{let r;return e==="defaultAttribute"?r={subclass:e,key:"default",valueString:t[2].trim().replace(/\//g,"÷")}:r={subclass:e,key:t[2],valueString:t[3].trim().replace(/\//g,"÷")},r.values=r.valueString.split(",").map(n=>n.trim()),r.printValue=`| ${r.key}="${r.valueString}"`,r},rJ=(e,t)=>({subclass:e,numberString:t[2],printValue:`\\cp ${t[2]} -`}),nJ=(e,t)=>{const r={subclass:e,sOrE:null};return e==="endMilestoneMarker"?r.printValue="\\*":(r.tagName=t[2],e==="emptyMilestone"?(r.printValue=`\\${r.tagName}\\*`,r.attributes=t[1]?t[1].split("|").slice(1).map(n=>n.split("=")).map(n=>[n[0],n[1].replace(/"/g,"").replace(/[\\*]/g,"")]):[]):(r.printValue=`\\${r.tagName}`,r.sOrE=t[3])),r},uJ=(e,t)=>{const r={subclass:e,tagName:t[2],isNested:!1};return r.tagName.startsWith("+")&&(r.isNested=!0,r.tagName=r.tagName.substring(1)),r.tagLevel=t[3]!==""?parseInt(t[3]):1,r.fullTagName=`${r.tagName}${t[3]==="1"?"":t[3]}`,r.printValue=e==="startTag"?`\\${r.fullTagName} `:`\\${r.fullTagName}*`,r},Ge={printable:hf,chapter:QW,pubchapter:rJ,verses:eJ,tag:uJ,break:hf,milestone:nJ,attribute:tJ,bad:hf},B7=(e,t)=>{for(let r=0;r{const r=Z.match(e,_7,"all");for(let n=0;n */var Kv;function cJ(){return Kv||(Kv=1,Xc.read=function(e,t,r,n,u){var s,o,a=u*8-n-1,i=(1<>1,l=-7,p=r?u-1:0,d=r?-1:1,f=e[t+p];for(p+=d,s=f&(1<<-l)-1,f>>=-l,l+=a;l>0;s=s*256+e[t+p],p+=d,l-=8);for(o=s&(1<<-l)-1,s>>=-l,l+=n;l>0;o=o*256+e[t+p],p+=d,l-=8);if(s===0)s=1-c;else{if(s===i)return o?NaN:(f?-1:1)*(1/0);o=o+Math.pow(2,n),s=s-c}return(f?-1:1)*o*Math.pow(2,s-n)},Xc.write=function(e,t,r,n,u,s){var o,a,i,c=s*8-u-1,l=(1<>1,d=u===23?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:s-1,h=n?1:-1,y=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=l):(o=Math.floor(Math.log(t)/Math.LN2),t*(i=Math.pow(2,-o))<1&&(o--,i*=2),o+p>=1?t+=d/i:t+=d*Math.pow(2,1-p),t*i>=2&&(o++,i/=2),o+p>=l?(a=0,o=l):o+p>=1?(a=(t*i-1)*Math.pow(2,u),o=o+p):(a=t*Math.pow(2,p-1)*Math.pow(2,u),o=0));u>=8;e[r+f]=a&255,f+=h,a/=256,u-=8);for(o=o<0;e[r+f]=o&255,f+=h,o/=256,c-=8);e[r+f-h]|=y*128}),Xc}/*! + }`)),l=c.data.document.sequence.blocks[0];for(var p of l.bg)r.sequences[0].block={type:"graft",subType:Uu(p.subType),blockN:o,sequence:this.sequences[p.payload]},this.cachedSequenceIds.unshift(p.payload),this.renderEvent("blockGraft",t),this.cachedSequenceIds.shift(),o++;var d=l.bs.payload.split("/"),f=d[1]?"usfm:".concat(d[1]):d[0];if(r.sequences[0].block={type:"paragraph",subType:f,blockN:o,wrappers:[]},this.renderEvent("startParagraph",t),this._tokens=[],s.type==="main"&&this.currentCV.chapter){var h={type:"wrapper",subType:"chapter",atts:{number:this.currentCV.chapter}};t.context.sequences[0].element=h,t.context.sequences[0].block.wrappers.unshift(h.subType),this.renderEvent("startWrapper",t)}if(s.type==="main"&&this.currentCV.verses){var y={type:"wrapper",subType:"verses",atts:{number:this.currentCV.verses}};t.context.sequences[0].element=y,t.context.sequences[0].block.wrappers.unshift(y.subType),this.renderEvent("startWrapper",t)}if(this.renderContent(l.items,t),this._tokens=[],s.type==="main"&&this.currentCV.verses){var A={type:"wrapper",subType:"verses",atts:{number:this.currentCV.verses}};t.context.sequences[0].element=A,t.context.sequences[0].block.wrappers.shift(),this.renderEvent("endWrapper",t)}if(s.type==="main"&&this.currentCV.chapter){var m={type:"wrapper",subType:"chapter",atts:{number:this.currentCV.chapter}};t.context.sequences[0].element=m,t.context.sequences[0].block.wrappers.shift(),this.renderEvent("endWrapper",t)}this.renderEvent("endParagraph",t),delete r.sequences[0].block,o++}this.renderEvent("endSequence",t),r.sequences.shift()}renderContent(t,r){for(var n of t)this.renderItem(n,r);this.maybeRenderText(r)}renderItem(t,r){if(t.type==="scope"&&t.payload.startsWith("attribute")){var n=t.payload.split("/");t.subType==="start"?(this._container||(this._container={direction:"start",subType:"usfm:w",type:"wrapper",atts:{}}),n[3]in this._container.atts?this._container.atts[n[3]].push(n[5]):this._container.atts[n[3]]=[n[5]]):this._container||(this._container={direction:"end",subType:"usfm:".concat(Uu(n[2]))},n[1]==="milestone"?this._container.type="end_milestone":(this._container.type="wrapper",this._container.atts={}))}else if(this._container&&(this.maybeRenderText(r),this.renderContainer(r)),t.type==="token")this._tokens.push(t.payload.replace(/\s+/g," "));else if(t.type==="graft"){this.maybeRenderText(r);var u={type:"graft",subType:Uu(t.subType),sequence:this.sequences[t.payload]};r.context.sequences[0].element=u,this.cachedSequenceIds.unshift(t.payload),this.renderEvent("inlineGraft",r),this.cachedSequenceIds.shift(),delete r.context.sequences[0].element}else{this.maybeRenderText(r);var s=t.payload.split("/");if(["chapter","verses"].includes(s[0])){var o={type:"wrapper",subType:Uu(s[0]),atts:{number:s[1]}};if(r.context.sequences[0].element=o,t.subType==="start"){this.currentCV[s[0]]=s[1],r.context.sequences[0].block.wrappers.unshift(o.subType),this.renderEvent("startWrapper",r);var a={type:"mark",subType:"".concat(s[0],"_label"),atts:{number:s[1]}};r.context.sequences[0].element=a,this.renderEvent("mark",r),r.context.sequences[0].element=o}else this.renderEvent("endWrapper",r),r.context.sequences[0].block.wrappers.shift(),delete r.context.sequences[0].element,this.currentCV[s[0]]=null}else if(["pubChapter","pubVerse","altChapter","altVerse"].includes(s[0])){if(t.subType==="start"){var i={type:"mark",subType:Uu(s[0]),atts:{number:s[1]}};r.context.sequences[0].element=i,this.renderEvent("mark",r),delete r.context.sequences[0].element}}else if(s[0]==="span"){var c={type:"wrapper",subType:"usfm:".concat(s[1]),atts:{}};r.context.sequences[0].element=c,t.subType==="start"?(r.context.sequences[0].block.wrappers.unshift(c.subType),this.renderEvent("startWrapper",r)):(this.renderEvent("endWrapper",r),r.context.sequences[0].block.wrappers.shift()),delete r.context.sequences[0].element}else if(s[0]==="spanWithAtts")t.subType==="start"&&(this._container={direction:"start",type:"wrapper",subType:"usfm:".concat(s[1]),atts:{}});else if(s[0]==="milestone"&&t.subType==="start")if(s[1]==="ts"){var l={type:"mark",subType:"usfm:".concat(Uu(s[1])),atts:{}};r.context.sequences[0].element=l,this.renderEvent("mark",r),delete r.context.sequences[0].element}else this._container={type:"start_milestone",subType:"usfm:".concat(Uu(s[1])),atts:{}}}}maybeRenderText(t){if(this._tokens.length!==0){var r={type:"text",text:this._tokens.join("")};t.context.sequences[0].element=r,this._tokens=[],this.renderEvent("text",t),delete t.context.sequences[0].element}}renderContainer(t){if(this._container.type==="wrapper"){var r=this._container.direction;delete this._container.direction,r==="start"?(t.context.sequences[0].element=this._container,t.context.sequences[0].block.wrappers.unshift(this._container.subType),this.renderEvent("startWrapper",t),delete t.context.sequences[0].element):(t.context.sequences[0].element=this._container,this.renderEvent("endWrapper",t),t.context.sequences[0].block.wrappers.shift(),delete t.context.sequences[0].element)}else this._container.type==="start_milestone"?(t.context.sequences[0].element=this._container,this.renderEvent("startMilestone",t),delete t.context.sequences[0].element):this._container.type==="end_milestone"&&(t.context.sequences[0].element=this._container,this.renderEvent("endMilestone",t),delete t.context.sequences[0].element);this._container=null}};var GW=UW,VW=JU,HW=QU,WW=BW,JW=nc,zW=ps,KW=IW,XW=xW,YW=GW,ZW=Xp,QW=B7,eJ=_7,vu={Validator:VW,usfmHelps:HW,ProskommaRender:JW,PerfRenderFromJson:zW,SofriaRenderFromJson:XW,SofriaRenderFromProskomma:YW,PerfRenderFromProskomma:KW,mergeActions:ZW,PipelineHandler:WW,pipelines:QW,render:eJ};const ds=[["chapter","chapter",Z("([\\r\\n]*\\\\c[ \\t]+(\\d+)[ \\t\\r\\n]*)")],["pubchapter","pubchapter",Z("([\\r\\n]*\\\\cp[ \\t]+([^\\r\\n]+)[ \\t\\r\\n]*)")],["verses","verses",Z("(\\\\v[ \\t]+([\\d\\-]+)[ \\t\\r\\n]*)")],["attribute","attribute",Z('([ \\t]*\\|?[ \\t]*([A-Za-z0-9\\-]+)="([^"]*)"[ \\t]?)')],["attribute","defaultAttribute",Z("([ \\t]*\\|[ \\t]*([^\\|\\\\]*))")],["milestone","emptyMilestone",Z('(\\\\([a-z1-9]+)([ \\t]*\\|[ \\t]*[a-z1-9]+="[^\\|\\\\"]*")*\\\\[*])')],["milestone","startMilestoneTag",Z("(\\\\([a-z1-9]+)-([se]))")],["milestone","endMilestoneMarker",Z("(\\\\([*]))")],["tag","endTag",Z("(\\\\([+]?[a-z\\-]+)([1-9]?(-([1-9]))?)[*])")],["tag","startTag",Z("(\\\\([+]?[a-z\\-]+)([1-9]?(-([1-9]))?)[ \\t]?)")],["bad","bareSlash",Z("(\\\\)")],["printable","eol",Z("([ \\t]*[\\r\\n]+[ \\t]*)")],["break","softLineBreak",Z("//")],["printable","wordLike",Z("([\\p{Letter}\\p{Number}\\p{Mark}\\u2060~]{1,127})")],["printable","lineSpace",Z("([\\p{Separator} ]{1,127})")],["printable","punctuation",Z("([\\p{Punctuation}\\p{Math_Symbol}\\p{Currency_Symbol}\\p{Modifier_Symbol}\\p{Other_Symbol}])")],["bad","unknown",Z("(.)")]],T7=Z.union(ds.map(e=>e[2])),hf=(e,t)=>({subclass:e,printValue:t[0].replace(/~/g," ")}),tJ=(e,t)=>({subclass:e,numberString:t[2],number:parseInt(t[2]),printValue:`\\c ${t[2]} +`}),rJ=(e,t)=>{const r={subclass:e,numberString:t[2],printValue:`\\v ${t[2]} +`};if(r.numberString.includes("-")){const[n,u]=r.numberString.split("-").map(s=>parseInt(s));r.numbers=Array.from(Array(u-n+1).keys()).map(s=>s+n)}else r.numbers=[parseInt(r.numberString)];return r},nJ=(e,t)=>{let r;return e==="defaultAttribute"?r={subclass:e,key:"default",valueString:t[2].trim().replace(/\//g,"÷")}:r={subclass:e,key:t[2],valueString:t[3].trim().replace(/\//g,"÷")},r.values=r.valueString.split(",").map(n=>n.trim()),r.printValue=`| ${r.key}="${r.valueString}"`,r},uJ=(e,t)=>({subclass:e,numberString:t[2],printValue:`\\cp ${t[2]} +`}),sJ=(e,t)=>{const r={subclass:e,sOrE:null};return e==="endMilestoneMarker"?r.printValue="\\*":(r.tagName=t[2],e==="emptyMilestone"?(r.printValue=`\\${r.tagName}\\*`,r.attributes=t[1]?t[1].split("|").slice(1).map(n=>n.split("=")).map(n=>[n[0],n[1].replace(/"/g,"").replace(/[\\*]/g,"")]):[]):(r.printValue=`\\${r.tagName}`,r.sOrE=t[3])),r},oJ=(e,t)=>{const r={subclass:e,tagName:t[2],isNested:!1};return r.tagName.startsWith("+")&&(r.isNested=!0,r.tagName=r.tagName.substring(1)),r.tagLevel=t[3]!==""?parseInt(t[3]):1,r.fullTagName=`${r.tagName}${t[3]==="1"?"":t[3]}`,r.printValue=e==="startTag"?`\\${r.fullTagName} `:`\\${r.fullTagName}*`,r},Ge={printable:hf,chapter:tJ,pubchapter:uJ,verses:rJ,tag:oJ,break:hf,milestone:sJ,attribute:nJ,bad:hf},$7=(e,t)=>{for(let r=0;r{const r=Z.match(e,T7,"all");for(let n=0;n */var Xv;function pJ(){return Xv||(Xv=1,Xc.read=function(e,t,r,n,u){var s,o,a=u*8-n-1,i=(1<>1,l=-7,p=r?u-1:0,d=r?-1:1,f=e[t+p];for(p+=d,s=f&(1<<-l)-1,f>>=-l,l+=a;l>0;s=s*256+e[t+p],p+=d,l-=8);for(o=s&(1<<-l)-1,s>>=-l,l+=n;l>0;o=o*256+e[t+p],p+=d,l-=8);if(s===0)s=1-c;else{if(s===i)return o?NaN:(f?-1:1)*(1/0);o=o+Math.pow(2,n),s=s-c}return(f?-1:1)*o*Math.pow(2,s-n)},Xc.write=function(e,t,r,n,u,s){var o,a,i,c=s*8-u-1,l=(1<>1,d=u===23?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:s-1,h=n?1:-1,y=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=l):(o=Math.floor(Math.log(t)/Math.LN2),t*(i=Math.pow(2,-o))<1&&(o--,i*=2),o+p>=1?t+=d/i:t+=d*Math.pow(2,1-p),t*i>=2&&(o++,i/=2),o+p>=l?(a=0,o=l):o+p>=1?(a=(t*i-1)*Math.pow(2,u),o=o+p):(a=t*Math.pow(2,p-1)*Math.pow(2,u),o=0));u>=8;e[r+f]=a&255,f+=h,a/=256,u-=8);for(o=o<0;e[r+f]=o&255,f+=h,o/=256,c-=8);e[r+f-h]|=y*128}),Xc}/*! * The buffer module from node.js, for the browser. * * @author Feross Aboukhadijeh * @license MIT - */var Xv;function lJ(){return Xv||(Xv=1,function(e){const t=la,r=cJ(),n=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=a,e.SlowBuffer=v,e.INSPECT_MAX_BYTES=50;const u=2147483647;e.kMaxLength=u,a.TYPED_ARRAY_SUPPORT=s(),!a.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function s(){try{const k=new Uint8Array(1),S={foo:function(){return 42}};return Object.setPrototypeOf(S,Uint8Array.prototype),Object.setPrototypeOf(k,S),k.foo()===42}catch{return!1}}Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}});function o(k){if(k>u)throw new RangeError('The value "'+k+'" is invalid for option "size"');const S=new Uint8Array(k);return Object.setPrototypeOf(S,a.prototype),S}function a(k,S,_){if(typeof k=="number"){if(typeof S=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return p(k)}return i(k,S,_)}a.poolSize=8192;function i(k,S,_){if(typeof k=="string")return d(k,S);if(ArrayBuffer.isView(k))return h(k);if(k==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof k);if(le(k,ArrayBuffer)||k&&le(k.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(le(k,SharedArrayBuffer)||k&&le(k.buffer,SharedArrayBuffer)))return y(k,S,_);if(typeof k=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const x=k.valueOf&&k.valueOf();if(x!=null&&x!==k)return a.from(x,S,_);const U=A(k);if(U)return U;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof k[Symbol.toPrimitive]=="function")return a.from(k[Symbol.toPrimitive]("string"),S,_);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof k)}a.from=function(k,S,_){return i(k,S,_)},Object.setPrototypeOf(a.prototype,Uint8Array.prototype),Object.setPrototypeOf(a,Uint8Array);function c(k){if(typeof k!="number")throw new TypeError('"size" argument must be of type number');if(k<0)throw new RangeError('The value "'+k+'" is invalid for option "size"')}function l(k,S,_){return c(k),k<=0?o(k):S!==void 0?typeof _=="string"?o(k).fill(S,_):o(k).fill(S):o(k)}a.alloc=function(k,S,_){return l(k,S,_)};function p(k){return c(k),o(k<0?0:m(k)|0)}a.allocUnsafe=function(k){return p(k)},a.allocUnsafeSlow=function(k){return p(k)};function d(k,S){if((typeof S!="string"||S==="")&&(S="utf8"),!a.isEncoding(S))throw new TypeError("Unknown encoding: "+S);const _=C(k,S)|0;let x=o(_);const U=x.write(k,S);return U!==_&&(x=x.slice(0,U)),x}function f(k){const S=k.length<0?0:m(k.length)|0,_=o(S);for(let x=0;x=u)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+u.toString(16)+" bytes");return k|0}function v(k){return+k!=k&&(k=0),a.alloc(+k)}a.isBuffer=function(S){return S!=null&&S._isBuffer===!0&&S!==a.prototype},a.compare=function(S,_){if(le(S,Uint8Array)&&(S=a.from(S,S.offset,S.byteLength)),le(_,Uint8Array)&&(_=a.from(_,_.offset,_.byteLength)),!a.isBuffer(S)||!a.isBuffer(_))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(S===_)return 0;let x=S.length,U=_.length;for(let X=0,re=Math.min(x,U);XU.length?(a.isBuffer(re)||(re=a.from(re)),re.copy(U,X)):Uint8Array.prototype.set.call(U,re,X);else if(a.isBuffer(re))re.copy(U,X);else throw new TypeError('"list" argument must be an Array of Buffers');X+=re.length}return U};function C(k,S){if(a.isBuffer(k))return k.length;if(ArrayBuffer.isView(k)||le(k,ArrayBuffer))return k.byteLength;if(typeof k!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof k);const _=k.length,x=arguments.length>2&&arguments[2]===!0;if(!x&&_===0)return 0;let U=!1;for(;;)switch(S){case"ascii":case"latin1":case"binary":return _;case"utf8":case"utf-8":return Me(k).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return _*2;case"hex":return _>>>1;case"base64":return Pe(k).length;default:if(U)return x?-1:Me(k).length;S=(""+S).toLowerCase(),U=!0}}a.byteLength=C;function B(k,S,_){let x=!1;if((S===void 0||S<0)&&(S=0),S>this.length||((_===void 0||_>this.length)&&(_=this.length),_<=0)||(_>>>=0,S>>>=0,_<=S))return"";for(k||(k="utf8");;)switch(k){case"hex":return pe(this,S,_);case"utf8":case"utf-8":return oe(this,S,_);case"ascii":return fe(this,S,_);case"latin1":case"binary":return ge(this,S,_);case"base64":return ue(this,S,_);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return z(this,S,_);default:if(x)throw new TypeError("Unknown encoding: "+k);k=(k+"").toLowerCase(),x=!0}}a.prototype._isBuffer=!0;function T(k,S,_){const x=k[S];k[S]=k[_],k[_]=x}a.prototype.swap16=function(){const S=this.length;if(S%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let _=0;__&&(S+=" ... "),""},n&&(a.prototype[n]=a.prototype.inspect),a.prototype.compare=function(S,_,x,U,X){if(le(S,Uint8Array)&&(S=a.from(S,S.offset,S.byteLength)),!a.isBuffer(S))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof S);if(_===void 0&&(_=0),x===void 0&&(x=S?S.length:0),U===void 0&&(U=0),X===void 0&&(X=this.length),_<0||x>S.length||U<0||X>this.length)throw new RangeError("out of range index");if(U>=X&&_>=x)return 0;if(U>=X)return-1;if(_>=x)return 1;if(_>>>=0,x>>>=0,U>>>=0,X>>>=0,this===S)return 0;let re=X-U,ve=x-_;const Se=Math.min(re,ve),Oe=this.slice(U,X),Ie=S.slice(_,x);for(let Ke=0;Ke2147483647?_=2147483647:_<-2147483648&&(_=-2147483648),_=+_,Te(_)&&(_=U?0:k.length-1),_<0&&(_=k.length+_),_>=k.length){if(U)return-1;_=k.length-1}else if(_<0)if(U)_=0;else return-1;if(typeof S=="string"&&(S=a.from(S,x)),a.isBuffer(S))return S.length===0?-1:R(k,S,_,x,U);if(typeof S=="number")return S=S&255,typeof Uint8Array.prototype.indexOf=="function"?U?Uint8Array.prototype.indexOf.call(k,S,_):Uint8Array.prototype.lastIndexOf.call(k,S,_):R(k,[S],_,x,U);throw new TypeError("val must be string, number or Buffer")}function R(k,S,_,x,U){let X=1,re=k.length,ve=S.length;if(x!==void 0&&(x=String(x).toLowerCase(),x==="ucs2"||x==="ucs-2"||x==="utf16le"||x==="utf-16le")){if(k.length<2||S.length<2)return-1;X=2,re/=2,ve/=2,_/=2}function Se(Ie,Ke){return X===1?Ie[Ke]:Ie.readUInt16BE(Ke*X)}let Oe;if(U){let Ie=-1;for(Oe=_;Oere&&(_=re-ve),Oe=_;Oe>=0;Oe--){let Ie=!0;for(let Ke=0;KeU&&(x=U)):x=U;const X=S.length;x>X/2&&(x=X/2);let re;for(re=0;re>>0,isFinite(x)?(x=x>>>0,U===void 0&&(U="utf8")):(U=x,x=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const X=this.length-_;if((x===void 0||x>X)&&(x=X),S.length>0&&(x<0||_<0)||_>this.length)throw new RangeError("Attempt to write outside buffer bounds");U||(U="utf8");let re=!1;for(;;)switch(U){case"hex":return J(this,S,_,x);case"utf8":case"utf-8":return q(this,S,_,x);case"ascii":case"latin1":case"binary":return G(this,S,_,x);case"base64":return ee(this,S,_,x);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return K(this,S,_,x);default:if(re)throw new TypeError("Unknown encoding: "+U);U=(""+U).toLowerCase(),re=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function ue(k,S,_){return S===0&&_===k.length?t.fromByteArray(k):t.fromByteArray(k.slice(S,_))}function oe(k,S,_){_=Math.min(k.length,_);const x=[];let U=S;for(;U<_;){const X=k[U];let re=null,ve=X>239?4:X>223?3:X>191?2:1;if(U+ve<=_){let Se,Oe,Ie,Ke;switch(ve){case 1:X<128&&(re=X);break;case 2:Se=k[U+1],(Se&192)===128&&(Ke=(X&31)<<6|Se&63,Ke>127&&(re=Ke));break;case 3:Se=k[U+1],Oe=k[U+2],(Se&192)===128&&(Oe&192)===128&&(Ke=(X&15)<<12|(Se&63)<<6|Oe&63,Ke>2047&&(Ke<55296||Ke>57343)&&(re=Ke));break;case 4:Se=k[U+1],Oe=k[U+2],Ie=k[U+3],(Se&192)===128&&(Oe&192)===128&&(Ie&192)===128&&(Ke=(X&15)<<18|(Se&63)<<12|(Oe&63)<<6|Ie&63,Ke>65535&&Ke<1114112&&(re=Ke))}}re===null?(re=65533,ve=1):re>65535&&(re-=65536,x.push(re>>>10&1023|55296),re=56320|re&1023),x.push(re),U+=ve}return he(x)}const de=4096;function he(k){const S=k.length;if(S<=de)return String.fromCharCode.apply(String,k);let _="",x=0;for(;xx)&&(_=x);let U="";for(let X=S;X<_;++X)U+=W[k[X]];return U}function z(k,S,_){const x=k.slice(S,_);let U="";for(let X=0;Xx&&(S=x),_<0?(_+=x,_<0&&(_=0)):_>x&&(_=x),__)throw new RangeError("Trying to access beyond buffer length")}a.prototype.readUintLE=a.prototype.readUIntLE=function(S,_,x){S=S>>>0,_=_>>>0,x||O(S,_,this.length);let U=this[S],X=1,re=0;for(;++re<_&&(X*=256);)U+=this[S+re]*X;return U},a.prototype.readUintBE=a.prototype.readUIntBE=function(S,_,x){S=S>>>0,_=_>>>0,x||O(S,_,this.length);let U=this[S+--_],X=1;for(;_>0&&(X*=256);)U+=this[S+--_]*X;return U},a.prototype.readUint8=a.prototype.readUInt8=function(S,_){return S=S>>>0,_||O(S,1,this.length),this[S]},a.prototype.readUint16LE=a.prototype.readUInt16LE=function(S,_){return S=S>>>0,_||O(S,2,this.length),this[S]|this[S+1]<<8},a.prototype.readUint16BE=a.prototype.readUInt16BE=function(S,_){return S=S>>>0,_||O(S,2,this.length),this[S]<<8|this[S+1]},a.prototype.readUint32LE=a.prototype.readUInt32LE=function(S,_){return S=S>>>0,_||O(S,4,this.length),(this[S]|this[S+1]<<8|this[S+2]<<16)+this[S+3]*16777216},a.prototype.readUint32BE=a.prototype.readUInt32BE=function(S,_){return S=S>>>0,_||O(S,4,this.length),this[S]*16777216+(this[S+1]<<16|this[S+2]<<8|this[S+3])},a.prototype.readBigUInt64LE=se(function(S){S=S>>>0,Y(S,"offset");const _=this[S],x=this[S+7];(_===void 0||x===void 0)&&be(S,this.length-8);const U=_+this[++S]*2**8+this[++S]*2**16+this[++S]*2**24,X=this[++S]+this[++S]*2**8+this[++S]*2**16+x*2**24;return BigInt(U)+(BigInt(X)<>>0,Y(S,"offset");const _=this[S],x=this[S+7];(_===void 0||x===void 0)&&be(S,this.length-8);const U=_*2**24+this[++S]*2**16+this[++S]*2**8+this[++S],X=this[++S]*2**24+this[++S]*2**16+this[++S]*2**8+x;return(BigInt(U)<>>0,_=_>>>0,x||O(S,_,this.length);let U=this[S],X=1,re=0;for(;++re<_&&(X*=256);)U+=this[S+re]*X;return X*=128,U>=X&&(U-=Math.pow(2,8*_)),U},a.prototype.readIntBE=function(S,_,x){S=S>>>0,_=_>>>0,x||O(S,_,this.length);let U=_,X=1,re=this[S+--U];for(;U>0&&(X*=256);)re+=this[S+--U]*X;return X*=128,re>=X&&(re-=Math.pow(2,8*_)),re},a.prototype.readInt8=function(S,_){return S=S>>>0,_||O(S,1,this.length),this[S]&128?(255-this[S]+1)*-1:this[S]},a.prototype.readInt16LE=function(S,_){S=S>>>0,_||O(S,2,this.length);const x=this[S]|this[S+1]<<8;return x&32768?x|4294901760:x},a.prototype.readInt16BE=function(S,_){S=S>>>0,_||O(S,2,this.length);const x=this[S+1]|this[S]<<8;return x&32768?x|4294901760:x},a.prototype.readInt32LE=function(S,_){return S=S>>>0,_||O(S,4,this.length),this[S]|this[S+1]<<8|this[S+2]<<16|this[S+3]<<24},a.prototype.readInt32BE=function(S,_){return S=S>>>0,_||O(S,4,this.length),this[S]<<24|this[S+1]<<16|this[S+2]<<8|this[S+3]},a.prototype.readBigInt64LE=se(function(S){S=S>>>0,Y(S,"offset");const _=this[S],x=this[S+7];(_===void 0||x===void 0)&&be(S,this.length-8);const U=this[S+4]+this[S+5]*2**8+this[S+6]*2**16+(x<<24);return(BigInt(U)<>>0,Y(S,"offset");const _=this[S],x=this[S+7];(_===void 0||x===void 0)&&be(S,this.length-8);const U=(_<<24)+this[++S]*2**16+this[++S]*2**8+this[++S];return(BigInt(U)<>>0,_||O(S,4,this.length),r.read(this,S,!0,23,4)},a.prototype.readFloatBE=function(S,_){return S=S>>>0,_||O(S,4,this.length),r.read(this,S,!1,23,4)},a.prototype.readDoubleLE=function(S,_){return S=S>>>0,_||O(S,8,this.length),r.read(this,S,!0,52,8)},a.prototype.readDoubleBE=function(S,_){return S=S>>>0,_||O(S,8,this.length),r.read(this,S,!1,52,8)};function E(k,S,_,x,U,X){if(!a.isBuffer(k))throw new TypeError('"buffer" argument must be a Buffer instance');if(S>U||Sk.length)throw new RangeError("Index out of range")}a.prototype.writeUintLE=a.prototype.writeUIntLE=function(S,_,x,U){if(S=+S,_=_>>>0,x=x>>>0,!U){const ve=Math.pow(2,8*x)-1;E(this,S,_,x,ve,0)}let X=1,re=0;for(this[_]=S&255;++re>>0,x=x>>>0,!U){const ve=Math.pow(2,8*x)-1;E(this,S,_,x,ve,0)}let X=x-1,re=1;for(this[_+X]=S&255;--X>=0&&(re*=256);)this[_+X]=S/re&255;return _+x},a.prototype.writeUint8=a.prototype.writeUInt8=function(S,_,x){return S=+S,_=_>>>0,x||E(this,S,_,1,255,0),this[_]=S&255,_+1},a.prototype.writeUint16LE=a.prototype.writeUInt16LE=function(S,_,x){return S=+S,_=_>>>0,x||E(this,S,_,2,65535,0),this[_]=S&255,this[_+1]=S>>>8,_+2},a.prototype.writeUint16BE=a.prototype.writeUInt16BE=function(S,_,x){return S=+S,_=_>>>0,x||E(this,S,_,2,65535,0),this[_]=S>>>8,this[_+1]=S&255,_+2},a.prototype.writeUint32LE=a.prototype.writeUInt32LE=function(S,_,x){return S=+S,_=_>>>0,x||E(this,S,_,4,4294967295,0),this[_+3]=S>>>24,this[_+2]=S>>>16,this[_+1]=S>>>8,this[_]=S&255,_+4},a.prototype.writeUint32BE=a.prototype.writeUInt32BE=function(S,_,x){return S=+S,_=_>>>0,x||E(this,S,_,4,4294967295,0),this[_]=S>>>24,this[_+1]=S>>>16,this[_+2]=S>>>8,this[_+3]=S&255,_+4};function F(k,S,_,x,U){L(S,x,U,k,_,7);let X=Number(S&BigInt(4294967295));k[_++]=X,X=X>>8,k[_++]=X,X=X>>8,k[_++]=X,X=X>>8,k[_++]=X;let re=Number(S>>BigInt(32)&BigInt(4294967295));return k[_++]=re,re=re>>8,k[_++]=re,re=re>>8,k[_++]=re,re=re>>8,k[_++]=re,_}function D(k,S,_,x,U){L(S,x,U,k,_,7);let X=Number(S&BigInt(4294967295));k[_+7]=X,X=X>>8,k[_+6]=X,X=X>>8,k[_+5]=X,X=X>>8,k[_+4]=X;let re=Number(S>>BigInt(32)&BigInt(4294967295));return k[_+3]=re,re=re>>8,k[_+2]=re,re=re>>8,k[_+1]=re,re=re>>8,k[_]=re,_+8}a.prototype.writeBigUInt64LE=se(function(S,_=0){return F(this,S,_,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeBigUInt64BE=se(function(S,_=0){return D(this,S,_,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeIntLE=function(S,_,x,U){if(S=+S,_=_>>>0,!U){const Se=Math.pow(2,8*x-1);E(this,S,_,x,Se-1,-Se)}let X=0,re=1,ve=0;for(this[_]=S&255;++X>0)-ve&255;return _+x},a.prototype.writeIntBE=function(S,_,x,U){if(S=+S,_=_>>>0,!U){const Se=Math.pow(2,8*x-1);E(this,S,_,x,Se-1,-Se)}let X=x-1,re=1,ve=0;for(this[_+X]=S&255;--X>=0&&(re*=256);)S<0&&ve===0&&this[_+X+1]!==0&&(ve=1),this[_+X]=(S/re>>0)-ve&255;return _+x},a.prototype.writeInt8=function(S,_,x){return S=+S,_=_>>>0,x||E(this,S,_,1,127,-128),S<0&&(S=255+S+1),this[_]=S&255,_+1},a.prototype.writeInt16LE=function(S,_,x){return S=+S,_=_>>>0,x||E(this,S,_,2,32767,-32768),this[_]=S&255,this[_+1]=S>>>8,_+2},a.prototype.writeInt16BE=function(S,_,x){return S=+S,_=_>>>0,x||E(this,S,_,2,32767,-32768),this[_]=S>>>8,this[_+1]=S&255,_+2},a.prototype.writeInt32LE=function(S,_,x){return S=+S,_=_>>>0,x||E(this,S,_,4,2147483647,-2147483648),this[_]=S&255,this[_+1]=S>>>8,this[_+2]=S>>>16,this[_+3]=S>>>24,_+4},a.prototype.writeInt32BE=function(S,_,x){return S=+S,_=_>>>0,x||E(this,S,_,4,2147483647,-2147483648),S<0&&(S=4294967295+S+1),this[_]=S>>>24,this[_+1]=S>>>16,this[_+2]=S>>>8,this[_+3]=S&255,_+4},a.prototype.writeBigInt64LE=se(function(S,_=0){return F(this,S,_,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),a.prototype.writeBigInt64BE=se(function(S,_=0){return D(this,S,_,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function g(k,S,_,x,U,X){if(_+x>k.length)throw new RangeError("Index out of range");if(_<0)throw new RangeError("Index out of range")}function P(k,S,_,x,U){return S=+S,_=_>>>0,U||g(k,S,_,4),r.write(k,S,_,x,23,4),_+4}a.prototype.writeFloatLE=function(S,_,x){return P(this,S,_,!0,x)},a.prototype.writeFloatBE=function(S,_,x){return P(this,S,_,!1,x)};function b(k,S,_,x,U){return S=+S,_=_>>>0,U||g(k,S,_,8),r.write(k,S,_,x,52,8),_+8}a.prototype.writeDoubleLE=function(S,_,x){return b(this,S,_,!0,x)},a.prototype.writeDoubleBE=function(S,_,x){return b(this,S,_,!1,x)},a.prototype.copy=function(S,_,x,U){if(!a.isBuffer(S))throw new TypeError("argument should be a Buffer");if(x||(x=0),!U&&U!==0&&(U=this.length),_>=S.length&&(_=S.length),_||(_=0),U>0&&U=this.length)throw new RangeError("Index out of range");if(U<0)throw new RangeError("sourceEnd out of bounds");U>this.length&&(U=this.length),S.length-_>>0,x=x===void 0?this.length:x>>>0,S||(S=0);let X;if(typeof S=="number")for(X=_;X2**32?U=$(String(_)):typeof _=="bigint"&&(U=String(_),(_>BigInt(2)**BigInt(32)||_<-(BigInt(2)**BigInt(32)))&&(U=$(U)),U+="n"),x+=` It must be ${S}. Received ${U}`,x},RangeError);function $(k){let S="",_=k.length;const x=k[0]==="-"?1:0;for(;_>=x+4;_-=3)S=`_${k.slice(_-3,_)}${S}`;return`${k.slice(0,_)}${S}`}function M(k,S,_){Y(S,"offset"),(k[S]===void 0||k[S+_]===void 0)&&be(S,k.length-(_+1))}function L(k,S,_,x,U,X){if(k>_||k= 0${re} and < 2${re} ** ${(X+1)*8}${re}`:ve=`>= -(2${re} ** ${(X+1)*8-1}${re}) and < 2 ** ${(X+1)*8-1}${re}`,new w.ERR_OUT_OF_RANGE("value",ve,k)}M(x,U,X)}function Y(k,S){if(typeof k!="number")throw new w.ERR_INVALID_ARG_TYPE(S,"number",k)}function be(k,S,_){throw Math.floor(k)!==k?(Y(k,_),new w.ERR_OUT_OF_RANGE("offset","an integer",k)):S<0?new w.ERR_BUFFER_OUT_OF_BOUNDS:new w.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${S}`,k)}const Ne=/[^+/0-9A-Za-z-_]/g;function Ve(k){if(k=k.split("=")[0],k=k.trim().replace(Ne,""),k.length<2)return"";for(;k.length%4!==0;)k=k+"=";return k}function Me(k,S){S=S||1/0;let _;const x=k.length;let U=null;const X=[];for(let re=0;re55295&&_<57344){if(!U){if(_>56319){(S-=3)>-1&&X.push(239,191,189);continue}else if(re+1===x){(S-=3)>-1&&X.push(239,191,189);continue}U=_;continue}if(_<56320){(S-=3)>-1&&X.push(239,191,189),U=_;continue}_=(U-55296<<10|_-56320)+65536}else U&&(S-=3)>-1&&X.push(239,191,189);if(U=null,_<128){if((S-=1)<0)break;X.push(_)}else if(_<2048){if((S-=2)<0)break;X.push(_>>6|192,_&63|128)}else if(_<65536){if((S-=3)<0)break;X.push(_>>12|224,_>>6&63|128,_&63|128)}else if(_<1114112){if((S-=4)<0)break;X.push(_>>18|240,_>>12&63|128,_>>6&63|128,_&63|128)}else throw new Error("Invalid code point")}return X}function Fe(k){const S=[];for(let _=0;_>8,U=_%256,X.push(U),X.push(x);return X}function Pe(k){return t.toByteArray(Ve(k))}function Be(k,S,_,x){let U;for(U=0;U=S.length||U>=k.length);++U)S[U+_]=k[U];return U}function le(k,S){return k instanceof S||k!=null&&k.constructor!=null&&k.constructor.name!=null&&k.constructor.name===S.name}function Te(k){return k!==k}const W=function(){const k="0123456789abcdef",S=new Array(256);for(let _=0;_<16;++_){const x=_*16;for(let U=0;U<16;++U)S[x+U]=k[_]+k[U]}return S}();function se(k){return typeof BigInt>"u"?ce:k}function ce(){throw new Error("BigInt not supported")}}(vf)),vf}/*! safe-buffer. MIT License. Feross Aboukhadijeh */var Yv;function pJ(){return Yv||(Yv=1,function(e,t){var r=lJ(),n=r.Buffer;function u(o,a){for(var i in o)a[i]=o[i]}n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow?e.exports=r:(u(r,t),t.Buffer=s);function s(o,a,i){return n(o,a,i)}s.prototype=Object.create(n.prototype),u(n,s),s.from=function(o,a,i){if(typeof o=="number")throw new TypeError("Argument must not be a number");return n(o,a,i)},s.alloc=function(o,a,i){if(typeof o!="number")throw new TypeError("Argument must be a number");var c=n(o);return a!==void 0?typeof i=="string"?c.fill(a,i):c.fill(a):c.fill(0),c},s.allocUnsafe=function(o){if(typeof o!="number")throw new TypeError("Argument must be a number");return n(o)},s.allocUnsafeSlow=function(o){if(typeof o!="number")throw new TypeError("Argument must be a number");return r.SlowBuffer(o)}}(iJ,Ai)),Ai}var Zv;function dJ(){if(Zv)return yf;Zv=1;var e=pJ().Buffer,t=e.isEncoding||function(m){switch(m=""+m,m&&m.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function r(m){if(!m)return"utf8";for(var v;;)switch(m){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return m;default:if(v)return;m=(""+m).toLowerCase(),v=!0}}function n(m){var v=r(m);if(typeof v!="string"&&(e.isEncoding===t||!t(m)))throw new Error("Unknown encoding: "+m);return v||m}yf.StringDecoder=u;function u(m){this.encoding=n(m);var v;switch(this.encoding){case"utf16le":this.text=p,this.end=d,v=4;break;case"utf8":this.fillLast=i,v=4;break;case"base64":this.text=f,this.end=h,v=3;break;default:this.write=y,this.end=A;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=e.allocUnsafe(v)}u.prototype.write=function(m){if(m.length===0)return"";var v,C;if(this.lastNeed){if(v=this.fillLast(m),v===void 0)return"";C=this.lastNeed,this.lastNeed=0}else C=0;return C>5===6?2:m>>4===14?3:m>>3===30?4:m>>6===2?-1:-2}function o(m,v,C){var B=v.length-1;if(B=0?(T>0&&(m.lastNeed=T-1),T):--B=0?(T>0&&(m.lastNeed=T-2),T):--B=0?(T>0&&(T===2?T=0:m.lastNeed=T-3),T):0))}function a(m,v,C){if((v[0]&192)!==128)return m.lastNeed=0,"�";if(m.lastNeed>1&&v.length>1){if((v[1]&192)!==128)return m.lastNeed=1,"�";if(m.lastNeed>2&&v.length>2&&(v[2]&192)!==128)return m.lastNeed=2,"�"}}function i(m){var v=this.lastTotal-this.lastNeed,C=a(this,m);if(C!==void 0)return C;if(this.lastNeed<=m.length)return m.copy(this.lastChar,v,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);m.copy(this.lastChar,v,0,m.length),this.lastNeed-=m.length}function c(m,v){var C=o(this,m,v);if(!this.lastNeed)return m.toString("utf8",v);this.lastTotal=C;var B=m.length-(C-this.lastNeed);return m.copy(this.lastChar,0,B),m.toString("utf8",v,B)}function l(m){var v=m&&m.length?this.write(m):"";return this.lastNeed?v+"�":v}function p(m,v){if((m.length-v)%2===0){var C=m.toString("utf16le",v);if(C){var B=C.charCodeAt(C.length-1);if(B>=55296&&B<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=m[m.length-2],this.lastChar[1]=m[m.length-1],C.slice(0,-1)}return C}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=m[m.length-1],m.toString("utf16le",v,m.length-1)}function d(m){var v=m&&m.length?this.write(m):"";if(this.lastNeed){var C=this.lastTotal-this.lastNeed;return v+this.lastChar.toString("utf16le",0,C)}return v}function f(m,v){var C=(m.length-v)%3;return C===0?m.toString("base64",v):(this.lastNeed=3-C,this.lastTotal=3,C===1?this.lastChar[0]=m[m.length-1]:(this.lastChar[0]=m[m.length-2],this.lastChar[1]=m[m.length-1]),m.toString("base64",v,m.length-C))}function h(m){var v=m&&m.length?this.write(m):"";return this.lastNeed?v+this.lastChar.toString("base64",0,3-this.lastNeed):v}function y(m){return m.toString(this.encoding)}function A(m){return m&&m.length?this.write(m):""}return yf}(function(e){(function(t){t.parser=function(b,w){return new n(b,w)},t.SAXParser=n,t.SAXStream=l,t.createStream=c,t.MAX_BUFFER_LENGTH=64*1024;var r=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];t.EVENTS=["text","processinginstruction","sgmldeclaration","doctype","comment","opentagstart","attribute","opentag","closetag","opencdata","cdata","closecdata","error","end","ready","script","opennamespace","closenamespace"];function n(b,w){if(!(this instanceof n))return new n(b,w);var I=this;s(I),I.q=I.c="",I.bufferCheckPosition=t.MAX_BUFFER_LENGTH,I.opt=w||{},I.opt.lowercase=I.opt.lowercase||I.opt.lowercasetags,I.looseCase=I.opt.lowercase?"toLowerCase":"toUpperCase",I.tags=[],I.closed=I.closedRoot=I.sawRoot=!1,I.tag=I.error=null,I.strict=!!b,I.noscript=!!(b||I.opt.noscript),I.state=q.BEGIN,I.strictEntities=I.opt.strictEntities,I.ENTITIES=I.strictEntities?Object.create(t.XML_ENTITIES):Object.create(t.ENTITIES),I.attribList=[],I.opt.xmlns&&(I.ns=Object.create(y)),I.trackPosition=I.opt.position!==!1,I.trackPosition&&(I.position=I.line=I.column=0),ee(I,"onready")}Object.create||(Object.create=function(b){function w(){}w.prototype=b;var I=new w;return I}),Object.keys||(Object.keys=function(b){var w=[];for(var I in b)b.hasOwnProperty(I)&&w.push(I);return w});function u(b){for(var w=Math.max(t.MAX_BUFFER_LENGTH,10),I=0,$=0,M=r.length;$w)switch(r[$]){case"textNode":ue(b);break;case"cdata":K(b,"oncdata",b.cdata),b.cdata="";break;case"script":K(b,"onscript",b.script),b.script="";break;default:de(b,"Max buffer length exceeded: "+r[$])}I=Math.max(I,L)}var Y=t.MAX_BUFFER_LENGTH-I;b.bufferCheckPosition=Y+b.position}function s(b){for(var w=0,I=r.length;wu)throw new RangeError('The value "'+k+'" is invalid for option "size"');const S=new Uint8Array(k);return Object.setPrototypeOf(S,a.prototype),S}function a(k,S,_){if(typeof k=="number"){if(typeof S=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return p(k)}return i(k,S,_)}a.poolSize=8192;function i(k,S,_){if(typeof k=="string")return d(k,S);if(ArrayBuffer.isView(k))return h(k);if(k==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof k);if(le(k,ArrayBuffer)||k&&le(k.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(le(k,SharedArrayBuffer)||k&&le(k.buffer,SharedArrayBuffer)))return y(k,S,_);if(typeof k=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const x=k.valueOf&&k.valueOf();if(x!=null&&x!==k)return a.from(x,S,_);const U=A(k);if(U)return U;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof k[Symbol.toPrimitive]=="function")return a.from(k[Symbol.toPrimitive]("string"),S,_);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof k)}a.from=function(k,S,_){return i(k,S,_)},Object.setPrototypeOf(a.prototype,Uint8Array.prototype),Object.setPrototypeOf(a,Uint8Array);function c(k){if(typeof k!="number")throw new TypeError('"size" argument must be of type number');if(k<0)throw new RangeError('The value "'+k+'" is invalid for option "size"')}function l(k,S,_){return c(k),k<=0?o(k):S!==void 0?typeof _=="string"?o(k).fill(S,_):o(k).fill(S):o(k)}a.alloc=function(k,S,_){return l(k,S,_)};function p(k){return c(k),o(k<0?0:m(k)|0)}a.allocUnsafe=function(k){return p(k)},a.allocUnsafeSlow=function(k){return p(k)};function d(k,S){if((typeof S!="string"||S==="")&&(S="utf8"),!a.isEncoding(S))throw new TypeError("Unknown encoding: "+S);const _=C(k,S)|0;let x=o(_);const U=x.write(k,S);return U!==_&&(x=x.slice(0,U)),x}function f(k){const S=k.length<0?0:m(k.length)|0,_=o(S);for(let x=0;x=u)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+u.toString(16)+" bytes");return k|0}function v(k){return+k!=k&&(k=0),a.alloc(+k)}a.isBuffer=function(S){return S!=null&&S._isBuffer===!0&&S!==a.prototype},a.compare=function(S,_){if(le(S,Uint8Array)&&(S=a.from(S,S.offset,S.byteLength)),le(_,Uint8Array)&&(_=a.from(_,_.offset,_.byteLength)),!a.isBuffer(S)||!a.isBuffer(_))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(S===_)return 0;let x=S.length,U=_.length;for(let X=0,re=Math.min(x,U);XU.length?(a.isBuffer(re)||(re=a.from(re)),re.copy(U,X)):Uint8Array.prototype.set.call(U,re,X);else if(a.isBuffer(re))re.copy(U,X);else throw new TypeError('"list" argument must be an Array of Buffers');X+=re.length}return U};function C(k,S){if(a.isBuffer(k))return k.length;if(ArrayBuffer.isView(k)||le(k,ArrayBuffer))return k.byteLength;if(typeof k!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof k);const _=k.length,x=arguments.length>2&&arguments[2]===!0;if(!x&&_===0)return 0;let U=!1;for(;;)switch(S){case"ascii":case"latin1":case"binary":return _;case"utf8":case"utf-8":return Me(k).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return _*2;case"hex":return _>>>1;case"base64":return Pe(k).length;default:if(U)return x?-1:Me(k).length;S=(""+S).toLowerCase(),U=!0}}a.byteLength=C;function B(k,S,_){let x=!1;if((S===void 0||S<0)&&(S=0),S>this.length||((_===void 0||_>this.length)&&(_=this.length),_<=0)||(_>>>=0,S>>>=0,_<=S))return"";for(k||(k="utf8");;)switch(k){case"hex":return pe(this,S,_);case"utf8":case"utf-8":return oe(this,S,_);case"ascii":return fe(this,S,_);case"latin1":case"binary":return ge(this,S,_);case"base64":return ue(this,S,_);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return z(this,S,_);default:if(x)throw new TypeError("Unknown encoding: "+k);k=(k+"").toLowerCase(),x=!0}}a.prototype._isBuffer=!0;function T(k,S,_){const x=k[S];k[S]=k[_],k[_]=x}a.prototype.swap16=function(){const S=this.length;if(S%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let _=0;__&&(S+=" ... "),""},n&&(a.prototype[n]=a.prototype.inspect),a.prototype.compare=function(S,_,x,U,X){if(le(S,Uint8Array)&&(S=a.from(S,S.offset,S.byteLength)),!a.isBuffer(S))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof S);if(_===void 0&&(_=0),x===void 0&&(x=S?S.length:0),U===void 0&&(U=0),X===void 0&&(X=this.length),_<0||x>S.length||U<0||X>this.length)throw new RangeError("out of range index");if(U>=X&&_>=x)return 0;if(U>=X)return-1;if(_>=x)return 1;if(_>>>=0,x>>>=0,U>>>=0,X>>>=0,this===S)return 0;let re=X-U,ve=x-_;const Se=Math.min(re,ve),Oe=this.slice(U,X),Ie=S.slice(_,x);for(let Ke=0;Ke2147483647?_=2147483647:_<-2147483648&&(_=-2147483648),_=+_,Te(_)&&(_=U?0:k.length-1),_<0&&(_=k.length+_),_>=k.length){if(U)return-1;_=k.length-1}else if(_<0)if(U)_=0;else return-1;if(typeof S=="string"&&(S=a.from(S,x)),a.isBuffer(S))return S.length===0?-1:R(k,S,_,x,U);if(typeof S=="number")return S=S&255,typeof Uint8Array.prototype.indexOf=="function"?U?Uint8Array.prototype.indexOf.call(k,S,_):Uint8Array.prototype.lastIndexOf.call(k,S,_):R(k,[S],_,x,U);throw new TypeError("val must be string, number or Buffer")}function R(k,S,_,x,U){let X=1,re=k.length,ve=S.length;if(x!==void 0&&(x=String(x).toLowerCase(),x==="ucs2"||x==="ucs-2"||x==="utf16le"||x==="utf-16le")){if(k.length<2||S.length<2)return-1;X=2,re/=2,ve/=2,_/=2}function Se(Ie,Ke){return X===1?Ie[Ke]:Ie.readUInt16BE(Ke*X)}let Oe;if(U){let Ie=-1;for(Oe=_;Oere&&(_=re-ve),Oe=_;Oe>=0;Oe--){let Ie=!0;for(let Ke=0;KeU&&(x=U)):x=U;const X=S.length;x>X/2&&(x=X/2);let re;for(re=0;re>>0,isFinite(x)?(x=x>>>0,U===void 0&&(U="utf8")):(U=x,x=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const X=this.length-_;if((x===void 0||x>X)&&(x=X),S.length>0&&(x<0||_<0)||_>this.length)throw new RangeError("Attempt to write outside buffer bounds");U||(U="utf8");let re=!1;for(;;)switch(U){case"hex":return J(this,S,_,x);case"utf8":case"utf-8":return q(this,S,_,x);case"ascii":case"latin1":case"binary":return G(this,S,_,x);case"base64":return ee(this,S,_,x);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return K(this,S,_,x);default:if(re)throw new TypeError("Unknown encoding: "+U);U=(""+U).toLowerCase(),re=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function ue(k,S,_){return S===0&&_===k.length?t.fromByteArray(k):t.fromByteArray(k.slice(S,_))}function oe(k,S,_){_=Math.min(k.length,_);const x=[];let U=S;for(;U<_;){const X=k[U];let re=null,ve=X>239?4:X>223?3:X>191?2:1;if(U+ve<=_){let Se,Oe,Ie,Ke;switch(ve){case 1:X<128&&(re=X);break;case 2:Se=k[U+1],(Se&192)===128&&(Ke=(X&31)<<6|Se&63,Ke>127&&(re=Ke));break;case 3:Se=k[U+1],Oe=k[U+2],(Se&192)===128&&(Oe&192)===128&&(Ke=(X&15)<<12|(Se&63)<<6|Oe&63,Ke>2047&&(Ke<55296||Ke>57343)&&(re=Ke));break;case 4:Se=k[U+1],Oe=k[U+2],Ie=k[U+3],(Se&192)===128&&(Oe&192)===128&&(Ie&192)===128&&(Ke=(X&15)<<18|(Se&63)<<12|(Oe&63)<<6|Ie&63,Ke>65535&&Ke<1114112&&(re=Ke))}}re===null?(re=65533,ve=1):re>65535&&(re-=65536,x.push(re>>>10&1023|55296),re=56320|re&1023),x.push(re),U+=ve}return he(x)}const de=4096;function he(k){const S=k.length;if(S<=de)return String.fromCharCode.apply(String,k);let _="",x=0;for(;xx)&&(_=x);let U="";for(let X=S;X<_;++X)U+=W[k[X]];return U}function z(k,S,_){const x=k.slice(S,_);let U="";for(let X=0;Xx&&(S=x),_<0?(_+=x,_<0&&(_=0)):_>x&&(_=x),__)throw new RangeError("Trying to access beyond buffer length")}a.prototype.readUintLE=a.prototype.readUIntLE=function(S,_,x){S=S>>>0,_=_>>>0,x||O(S,_,this.length);let U=this[S],X=1,re=0;for(;++re<_&&(X*=256);)U+=this[S+re]*X;return U},a.prototype.readUintBE=a.prototype.readUIntBE=function(S,_,x){S=S>>>0,_=_>>>0,x||O(S,_,this.length);let U=this[S+--_],X=1;for(;_>0&&(X*=256);)U+=this[S+--_]*X;return U},a.prototype.readUint8=a.prototype.readUInt8=function(S,_){return S=S>>>0,_||O(S,1,this.length),this[S]},a.prototype.readUint16LE=a.prototype.readUInt16LE=function(S,_){return S=S>>>0,_||O(S,2,this.length),this[S]|this[S+1]<<8},a.prototype.readUint16BE=a.prototype.readUInt16BE=function(S,_){return S=S>>>0,_||O(S,2,this.length),this[S]<<8|this[S+1]},a.prototype.readUint32LE=a.prototype.readUInt32LE=function(S,_){return S=S>>>0,_||O(S,4,this.length),(this[S]|this[S+1]<<8|this[S+2]<<16)+this[S+3]*16777216},a.prototype.readUint32BE=a.prototype.readUInt32BE=function(S,_){return S=S>>>0,_||O(S,4,this.length),this[S]*16777216+(this[S+1]<<16|this[S+2]<<8|this[S+3])},a.prototype.readBigUInt64LE=se(function(S){S=S>>>0,Y(S,"offset");const _=this[S],x=this[S+7];(_===void 0||x===void 0)&&be(S,this.length-8);const U=_+this[++S]*2**8+this[++S]*2**16+this[++S]*2**24,X=this[++S]+this[++S]*2**8+this[++S]*2**16+x*2**24;return BigInt(U)+(BigInt(X)<>>0,Y(S,"offset");const _=this[S],x=this[S+7];(_===void 0||x===void 0)&&be(S,this.length-8);const U=_*2**24+this[++S]*2**16+this[++S]*2**8+this[++S],X=this[++S]*2**24+this[++S]*2**16+this[++S]*2**8+x;return(BigInt(U)<>>0,_=_>>>0,x||O(S,_,this.length);let U=this[S],X=1,re=0;for(;++re<_&&(X*=256);)U+=this[S+re]*X;return X*=128,U>=X&&(U-=Math.pow(2,8*_)),U},a.prototype.readIntBE=function(S,_,x){S=S>>>0,_=_>>>0,x||O(S,_,this.length);let U=_,X=1,re=this[S+--U];for(;U>0&&(X*=256);)re+=this[S+--U]*X;return X*=128,re>=X&&(re-=Math.pow(2,8*_)),re},a.prototype.readInt8=function(S,_){return S=S>>>0,_||O(S,1,this.length),this[S]&128?(255-this[S]+1)*-1:this[S]},a.prototype.readInt16LE=function(S,_){S=S>>>0,_||O(S,2,this.length);const x=this[S]|this[S+1]<<8;return x&32768?x|4294901760:x},a.prototype.readInt16BE=function(S,_){S=S>>>0,_||O(S,2,this.length);const x=this[S+1]|this[S]<<8;return x&32768?x|4294901760:x},a.prototype.readInt32LE=function(S,_){return S=S>>>0,_||O(S,4,this.length),this[S]|this[S+1]<<8|this[S+2]<<16|this[S+3]<<24},a.prototype.readInt32BE=function(S,_){return S=S>>>0,_||O(S,4,this.length),this[S]<<24|this[S+1]<<16|this[S+2]<<8|this[S+3]},a.prototype.readBigInt64LE=se(function(S){S=S>>>0,Y(S,"offset");const _=this[S],x=this[S+7];(_===void 0||x===void 0)&&be(S,this.length-8);const U=this[S+4]+this[S+5]*2**8+this[S+6]*2**16+(x<<24);return(BigInt(U)<>>0,Y(S,"offset");const _=this[S],x=this[S+7];(_===void 0||x===void 0)&&be(S,this.length-8);const U=(_<<24)+this[++S]*2**16+this[++S]*2**8+this[++S];return(BigInt(U)<>>0,_||O(S,4,this.length),r.read(this,S,!0,23,4)},a.prototype.readFloatBE=function(S,_){return S=S>>>0,_||O(S,4,this.length),r.read(this,S,!1,23,4)},a.prototype.readDoubleLE=function(S,_){return S=S>>>0,_||O(S,8,this.length),r.read(this,S,!0,52,8)},a.prototype.readDoubleBE=function(S,_){return S=S>>>0,_||O(S,8,this.length),r.read(this,S,!1,52,8)};function E(k,S,_,x,U,X){if(!a.isBuffer(k))throw new TypeError('"buffer" argument must be a Buffer instance');if(S>U||Sk.length)throw new RangeError("Index out of range")}a.prototype.writeUintLE=a.prototype.writeUIntLE=function(S,_,x,U){if(S=+S,_=_>>>0,x=x>>>0,!U){const ve=Math.pow(2,8*x)-1;E(this,S,_,x,ve,0)}let X=1,re=0;for(this[_]=S&255;++re>>0,x=x>>>0,!U){const ve=Math.pow(2,8*x)-1;E(this,S,_,x,ve,0)}let X=x-1,re=1;for(this[_+X]=S&255;--X>=0&&(re*=256);)this[_+X]=S/re&255;return _+x},a.prototype.writeUint8=a.prototype.writeUInt8=function(S,_,x){return S=+S,_=_>>>0,x||E(this,S,_,1,255,0),this[_]=S&255,_+1},a.prototype.writeUint16LE=a.prototype.writeUInt16LE=function(S,_,x){return S=+S,_=_>>>0,x||E(this,S,_,2,65535,0),this[_]=S&255,this[_+1]=S>>>8,_+2},a.prototype.writeUint16BE=a.prototype.writeUInt16BE=function(S,_,x){return S=+S,_=_>>>0,x||E(this,S,_,2,65535,0),this[_]=S>>>8,this[_+1]=S&255,_+2},a.prototype.writeUint32LE=a.prototype.writeUInt32LE=function(S,_,x){return S=+S,_=_>>>0,x||E(this,S,_,4,4294967295,0),this[_+3]=S>>>24,this[_+2]=S>>>16,this[_+1]=S>>>8,this[_]=S&255,_+4},a.prototype.writeUint32BE=a.prototype.writeUInt32BE=function(S,_,x){return S=+S,_=_>>>0,x||E(this,S,_,4,4294967295,0),this[_]=S>>>24,this[_+1]=S>>>16,this[_+2]=S>>>8,this[_+3]=S&255,_+4};function F(k,S,_,x,U){L(S,x,U,k,_,7);let X=Number(S&BigInt(4294967295));k[_++]=X,X=X>>8,k[_++]=X,X=X>>8,k[_++]=X,X=X>>8,k[_++]=X;let re=Number(S>>BigInt(32)&BigInt(4294967295));return k[_++]=re,re=re>>8,k[_++]=re,re=re>>8,k[_++]=re,re=re>>8,k[_++]=re,_}function D(k,S,_,x,U){L(S,x,U,k,_,7);let X=Number(S&BigInt(4294967295));k[_+7]=X,X=X>>8,k[_+6]=X,X=X>>8,k[_+5]=X,X=X>>8,k[_+4]=X;let re=Number(S>>BigInt(32)&BigInt(4294967295));return k[_+3]=re,re=re>>8,k[_+2]=re,re=re>>8,k[_+1]=re,re=re>>8,k[_]=re,_+8}a.prototype.writeBigUInt64LE=se(function(S,_=0){return F(this,S,_,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeBigUInt64BE=se(function(S,_=0){return D(this,S,_,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeIntLE=function(S,_,x,U){if(S=+S,_=_>>>0,!U){const Se=Math.pow(2,8*x-1);E(this,S,_,x,Se-1,-Se)}let X=0,re=1,ve=0;for(this[_]=S&255;++X>0)-ve&255;return _+x},a.prototype.writeIntBE=function(S,_,x,U){if(S=+S,_=_>>>0,!U){const Se=Math.pow(2,8*x-1);E(this,S,_,x,Se-1,-Se)}let X=x-1,re=1,ve=0;for(this[_+X]=S&255;--X>=0&&(re*=256);)S<0&&ve===0&&this[_+X+1]!==0&&(ve=1),this[_+X]=(S/re>>0)-ve&255;return _+x},a.prototype.writeInt8=function(S,_,x){return S=+S,_=_>>>0,x||E(this,S,_,1,127,-128),S<0&&(S=255+S+1),this[_]=S&255,_+1},a.prototype.writeInt16LE=function(S,_,x){return S=+S,_=_>>>0,x||E(this,S,_,2,32767,-32768),this[_]=S&255,this[_+1]=S>>>8,_+2},a.prototype.writeInt16BE=function(S,_,x){return S=+S,_=_>>>0,x||E(this,S,_,2,32767,-32768),this[_]=S>>>8,this[_+1]=S&255,_+2},a.prototype.writeInt32LE=function(S,_,x){return S=+S,_=_>>>0,x||E(this,S,_,4,2147483647,-2147483648),this[_]=S&255,this[_+1]=S>>>8,this[_+2]=S>>>16,this[_+3]=S>>>24,_+4},a.prototype.writeInt32BE=function(S,_,x){return S=+S,_=_>>>0,x||E(this,S,_,4,2147483647,-2147483648),S<0&&(S=4294967295+S+1),this[_]=S>>>24,this[_+1]=S>>>16,this[_+2]=S>>>8,this[_+3]=S&255,_+4},a.prototype.writeBigInt64LE=se(function(S,_=0){return F(this,S,_,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),a.prototype.writeBigInt64BE=se(function(S,_=0){return D(this,S,_,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function g(k,S,_,x,U,X){if(_+x>k.length)throw new RangeError("Index out of range");if(_<0)throw new RangeError("Index out of range")}function P(k,S,_,x,U){return S=+S,_=_>>>0,U||g(k,S,_,4),r.write(k,S,_,x,23,4),_+4}a.prototype.writeFloatLE=function(S,_,x){return P(this,S,_,!0,x)},a.prototype.writeFloatBE=function(S,_,x){return P(this,S,_,!1,x)};function b(k,S,_,x,U){return S=+S,_=_>>>0,U||g(k,S,_,8),r.write(k,S,_,x,52,8),_+8}a.prototype.writeDoubleLE=function(S,_,x){return b(this,S,_,!0,x)},a.prototype.writeDoubleBE=function(S,_,x){return b(this,S,_,!1,x)},a.prototype.copy=function(S,_,x,U){if(!a.isBuffer(S))throw new TypeError("argument should be a Buffer");if(x||(x=0),!U&&U!==0&&(U=this.length),_>=S.length&&(_=S.length),_||(_=0),U>0&&U=this.length)throw new RangeError("Index out of range");if(U<0)throw new RangeError("sourceEnd out of bounds");U>this.length&&(U=this.length),S.length-_>>0,x=x===void 0?this.length:x>>>0,S||(S=0);let X;if(typeof S=="number")for(X=_;X2**32?U=$(String(_)):typeof _=="bigint"&&(U=String(_),(_>BigInt(2)**BigInt(32)||_<-(BigInt(2)**BigInt(32)))&&(U=$(U)),U+="n"),x+=` It must be ${S}. Received ${U}`,x},RangeError);function $(k){let S="",_=k.length;const x=k[0]==="-"?1:0;for(;_>=x+4;_-=3)S=`_${k.slice(_-3,_)}${S}`;return`${k.slice(0,_)}${S}`}function M(k,S,_){Y(S,"offset"),(k[S]===void 0||k[S+_]===void 0)&&be(S,k.length-(_+1))}function L(k,S,_,x,U,X){if(k>_||k= 0${re} and < 2${re} ** ${(X+1)*8}${re}`:ve=`>= -(2${re} ** ${(X+1)*8-1}${re}) and < 2 ** ${(X+1)*8-1}${re}`,new w.ERR_OUT_OF_RANGE("value",ve,k)}M(x,U,X)}function Y(k,S){if(typeof k!="number")throw new w.ERR_INVALID_ARG_TYPE(S,"number",k)}function be(k,S,_){throw Math.floor(k)!==k?(Y(k,_),new w.ERR_OUT_OF_RANGE("offset","an integer",k)):S<0?new w.ERR_BUFFER_OUT_OF_BOUNDS:new w.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${S}`,k)}const Ne=/[^+/0-9A-Za-z-_]/g;function Ve(k){if(k=k.split("=")[0],k=k.trim().replace(Ne,""),k.length<2)return"";for(;k.length%4!==0;)k=k+"=";return k}function Me(k,S){S=S||1/0;let _;const x=k.length;let U=null;const X=[];for(let re=0;re55295&&_<57344){if(!U){if(_>56319){(S-=3)>-1&&X.push(239,191,189);continue}else if(re+1===x){(S-=3)>-1&&X.push(239,191,189);continue}U=_;continue}if(_<56320){(S-=3)>-1&&X.push(239,191,189),U=_;continue}_=(U-55296<<10|_-56320)+65536}else U&&(S-=3)>-1&&X.push(239,191,189);if(U=null,_<128){if((S-=1)<0)break;X.push(_)}else if(_<2048){if((S-=2)<0)break;X.push(_>>6|192,_&63|128)}else if(_<65536){if((S-=3)<0)break;X.push(_>>12|224,_>>6&63|128,_&63|128)}else if(_<1114112){if((S-=4)<0)break;X.push(_>>18|240,_>>12&63|128,_>>6&63|128,_&63|128)}else throw new Error("Invalid code point")}return X}function Fe(k){const S=[];for(let _=0;_>8,U=_%256,X.push(U),X.push(x);return X}function Pe(k){return t.toByteArray(Ve(k))}function Be(k,S,_,x){let U;for(U=0;U=S.length||U>=k.length);++U)S[U+_]=k[U];return U}function le(k,S){return k instanceof S||k!=null&&k.constructor!=null&&k.constructor.name!=null&&k.constructor.name===S.name}function Te(k){return k!==k}const W=function(){const k="0123456789abcdef",S=new Array(256);for(let _=0;_<16;++_){const x=_*16;for(let U=0;U<16;++U)S[x+U]=k[_]+k[U]}return S}();function se(k){return typeof BigInt>"u"?ce:k}function ce(){throw new Error("BigInt not supported")}}(vf)),vf}/*! safe-buffer. MIT License. Feross Aboukhadijeh */var Zv;function fJ(){return Zv||(Zv=1,function(e,t){var r=dJ(),n=r.Buffer;function u(o,a){for(var i in o)a[i]=o[i]}n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow?e.exports=r:(u(r,t),t.Buffer=s);function s(o,a,i){return n(o,a,i)}s.prototype=Object.create(n.prototype),u(n,s),s.from=function(o,a,i){if(typeof o=="number")throw new TypeError("Argument must not be a number");return n(o,a,i)},s.alloc=function(o,a,i){if(typeof o!="number")throw new TypeError("Argument must be a number");var c=n(o);return a!==void 0?typeof i=="string"?c.fill(a,i):c.fill(a):c.fill(0),c},s.allocUnsafe=function(o){if(typeof o!="number")throw new TypeError("Argument must be a number");return n(o)},s.allocUnsafeSlow=function(o){if(typeof o!="number")throw new TypeError("Argument must be a number");return r.SlowBuffer(o)}}(lJ,Ai)),Ai}var Qv;function DJ(){if(Qv)return yf;Qv=1;var e=fJ().Buffer,t=e.isEncoding||function(m){switch(m=""+m,m&&m.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function r(m){if(!m)return"utf8";for(var v;;)switch(m){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return m;default:if(v)return;m=(""+m).toLowerCase(),v=!0}}function n(m){var v=r(m);if(typeof v!="string"&&(e.isEncoding===t||!t(m)))throw new Error("Unknown encoding: "+m);return v||m}yf.StringDecoder=u;function u(m){this.encoding=n(m);var v;switch(this.encoding){case"utf16le":this.text=p,this.end=d,v=4;break;case"utf8":this.fillLast=i,v=4;break;case"base64":this.text=f,this.end=h,v=3;break;default:this.write=y,this.end=A;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=e.allocUnsafe(v)}u.prototype.write=function(m){if(m.length===0)return"";var v,C;if(this.lastNeed){if(v=this.fillLast(m),v===void 0)return"";C=this.lastNeed,this.lastNeed=0}else C=0;return C>5===6?2:m>>4===14?3:m>>3===30?4:m>>6===2?-1:-2}function o(m,v,C){var B=v.length-1;if(B=0?(T>0&&(m.lastNeed=T-1),T):--B=0?(T>0&&(m.lastNeed=T-2),T):--B=0?(T>0&&(T===2?T=0:m.lastNeed=T-3),T):0))}function a(m,v,C){if((v[0]&192)!==128)return m.lastNeed=0,"�";if(m.lastNeed>1&&v.length>1){if((v[1]&192)!==128)return m.lastNeed=1,"�";if(m.lastNeed>2&&v.length>2&&(v[2]&192)!==128)return m.lastNeed=2,"�"}}function i(m){var v=this.lastTotal-this.lastNeed,C=a(this,m);if(C!==void 0)return C;if(this.lastNeed<=m.length)return m.copy(this.lastChar,v,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);m.copy(this.lastChar,v,0,m.length),this.lastNeed-=m.length}function c(m,v){var C=o(this,m,v);if(!this.lastNeed)return m.toString("utf8",v);this.lastTotal=C;var B=m.length-(C-this.lastNeed);return m.copy(this.lastChar,0,B),m.toString("utf8",v,B)}function l(m){var v=m&&m.length?this.write(m):"";return this.lastNeed?v+"�":v}function p(m,v){if((m.length-v)%2===0){var C=m.toString("utf16le",v);if(C){var B=C.charCodeAt(C.length-1);if(B>=55296&&B<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=m[m.length-2],this.lastChar[1]=m[m.length-1],C.slice(0,-1)}return C}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=m[m.length-1],m.toString("utf16le",v,m.length-1)}function d(m){var v=m&&m.length?this.write(m):"";if(this.lastNeed){var C=this.lastTotal-this.lastNeed;return v+this.lastChar.toString("utf16le",0,C)}return v}function f(m,v){var C=(m.length-v)%3;return C===0?m.toString("base64",v):(this.lastNeed=3-C,this.lastTotal=3,C===1?this.lastChar[0]=m[m.length-1]:(this.lastChar[0]=m[m.length-2],this.lastChar[1]=m[m.length-1]),m.toString("base64",v,m.length-C))}function h(m){var v=m&&m.length?this.write(m):"";return this.lastNeed?v+this.lastChar.toString("base64",0,3-this.lastNeed):v}function y(m){return m.toString(this.encoding)}function A(m){return m&&m.length?this.write(m):""}return yf}(function(e){(function(t){t.parser=function(b,w){return new n(b,w)},t.SAXParser=n,t.SAXStream=l,t.createStream=c,t.MAX_BUFFER_LENGTH=64*1024;var r=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];t.EVENTS=["text","processinginstruction","sgmldeclaration","doctype","comment","opentagstart","attribute","opentag","closetag","opencdata","cdata","closecdata","error","end","ready","script","opennamespace","closenamespace"];function n(b,w){if(!(this instanceof n))return new n(b,w);var I=this;s(I),I.q=I.c="",I.bufferCheckPosition=t.MAX_BUFFER_LENGTH,I.opt=w||{},I.opt.lowercase=I.opt.lowercase||I.opt.lowercasetags,I.looseCase=I.opt.lowercase?"toLowerCase":"toUpperCase",I.tags=[],I.closed=I.closedRoot=I.sawRoot=!1,I.tag=I.error=null,I.strict=!!b,I.noscript=!!(b||I.opt.noscript),I.state=q.BEGIN,I.strictEntities=I.opt.strictEntities,I.ENTITIES=I.strictEntities?Object.create(t.XML_ENTITIES):Object.create(t.ENTITIES),I.attribList=[],I.opt.xmlns&&(I.ns=Object.create(y)),I.trackPosition=I.opt.position!==!1,I.trackPosition&&(I.position=I.line=I.column=0),ee(I,"onready")}Object.create||(Object.create=function(b){function w(){}w.prototype=b;var I=new w;return I}),Object.keys||(Object.keys=function(b){var w=[];for(var I in b)b.hasOwnProperty(I)&&w.push(I);return w});function u(b){for(var w=Math.max(t.MAX_BUFFER_LENGTH,10),I=0,$=0,M=r.length;$w)switch(r[$]){case"textNode":ue(b);break;case"cdata":K(b,"oncdata",b.cdata),b.cdata="";break;case"script":K(b,"onscript",b.script),b.script="";break;default:de(b,"Max buffer length exceeded: "+r[$])}I=Math.max(I,L)}var Y=t.MAX_BUFFER_LENGTH-I;b.bufferCheckPosition=Y+b.position}function s(b){for(var w=0,I=r.length;w"||B(b)}function R(b,w){return b.test(w)}function J(b,w){return!R(b,w)}var q=0;t.STATE={BEGIN:q++,BEGIN_WHITESPACE:q++,TEXT:q++,TEXT_ENTITY:q++,OPEN_WAKA:q++,SGML_DECL:q++,SGML_DECL_QUOTED:q++,DOCTYPE:q++,DOCTYPE_QUOTED:q++,DOCTYPE_DTD:q++,DOCTYPE_DTD_QUOTED:q++,COMMENT_STARTING:q++,COMMENT:q++,COMMENT_ENDING:q++,COMMENT_ENDED:q++,CDATA:q++,CDATA_ENDING:q++,CDATA_ENDING_2:q++,PROC_INST:q++,PROC_INST_BODY:q++,PROC_INST_ENDING:q++,OPEN_TAG:q++,OPEN_TAG_SLASH:q++,ATTRIB:q++,ATTRIB_NAME:q++,ATTRIB_NAME_SAW_WHITE:q++,ATTRIB_VALUE:q++,ATTRIB_VALUE_QUOTED:q++,ATTRIB_VALUE_CLOSED:q++,ATTRIB_VALUE_UNQUOTED:q++,ATTRIB_VALUE_ENTITY_Q:q++,ATTRIB_VALUE_ENTITY_U:q++,CLOSE_TAG:q++,CLOSE_TAG_SAW_WHITE:q++,SCRIPT:q++,SCRIPT_ENDING:q++},t.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},t.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(t.ENTITIES).forEach(function(b){var w=t.ENTITIES[b],I=typeof w=="number"?String.fromCharCode(w):w;t.ENTITIES[b]=I});for(var G in t.STATE)t.STATE[t.STATE[G]]=G;q=t.STATE;function ee(b,w,I){b[w]&&b[w](I)}function K(b,w,I){b.textNode&&ue(b),ee(b,w,I)}function ue(b){b.textNode=oe(b.opt,b.textNode),b.textNode&&ee(b,"ontext",b.textNode),b.textNode=""}function oe(b,w){return b.trim&&(w=w.trim()),b.normalize&&(w=w.replace(/\s+/g," ")),w}function de(b,w){return ue(b),b.trackPosition&&(w+=` Line: `+b.line+` Column: `+b.column+` @@ -215,7 +215,7 @@ Char: `+b.c),w=new Error(w),b.error=w,ee(b,"onerror",w),b}function he(b){return Actual: `+b.attribValue);else if($==="xmlns"&&b.attribValue!==h)fe(b,"xmlns: prefix must be bound to "+h+` Actual: `+b.attribValue);else{var M=b.tag,L=b.tags[b.tags.length-1]||b;M.ns===L.ns&&(M.ns=Object.create(L.ns)),M.ns[$]=b.attribValue}b.attribList.push([b.attribName,b.attribValue])}else b.tag.attributes[b.attribName]=b.attribValue,K(b,"onattribute",{name:b.attribName,value:b.attribValue});b.attribName=b.attribValue=""}function O(b,w){if(b.opt.xmlns){var I=b.tag,$=pe(b.tagName);I.prefix=$.prefix,I.local=$.local,I.uri=I.ns[$.prefix]||"",I.prefix&&!I.uri&&(fe(b,"Unbound namespace prefix: "+JSON.stringify(b.tagName)),I.uri=$.prefix);var M=b.tags[b.tags.length-1]||b;I.ns&&M.ns!==I.ns&&Object.keys(I.ns).forEach(function(le){K(b,"onopennamespace",{prefix:le,uri:I.ns[le]})});for(var L=0,Y=b.attribList.length;L",b.tagName="",b.state=q.SCRIPT;return}K(b,"onscript",b.script),b.script=""}var w=b.tags.length,I=b.tagName;b.strict||(I=I[b.looseCase]());for(var $=I;w--;){var M=b.tags[w];if(M.name!==$)fe(b,"Unexpected close tag");else break}if(w<0){fe(b,"Unmatched closing tag: "+b.tagName),b.textNode+="",b.state=q.TEXT;return}b.tagName=I;for(var L=b.tags.length;L-- >w;){var Y=b.tag=b.tags.pop();b.tagName=b.tag.name,K(b,"onclosetag",b.tagName);var be={};for(var Ne in Y.ns)be[Ne]=Y.ns[Ne];var Ve=b.tags[b.tags.length-1]||b;b.opt.xmlns&&Y.ns!==Ve.ns&&Object.keys(Y.ns).forEach(function(Me){var Fe=Y.ns[Me];K(b,"onclosenamespace",{prefix:Me,uri:Fe})})}w===0&&(b.closedRoot=!0),b.tagName=b.attribValue=b.attribName="",b.attribList.length=0,b.state=q.TEXT}function F(b){var w=b.entity,I=w.toLowerCase(),$,M="";return b.ENTITIES[w]?b.ENTITIES[w]:b.ENTITIES[I]?b.ENTITIES[I]:(w=I,w.charAt(0)==="#"&&(w.charAt(1)==="x"?(w=w.slice(2),$=parseInt(w,16),M=$.toString(16)):(w=w.slice(1),$=parseInt(w,10),M=$.toString(10))),w=w.replace(/^0+/,""),isNaN($)||M.toLowerCase()!==w?(fe(b,"Invalid character entity"),"&"+b.entity+";"):String.fromCodePoint($))}function D(b,w){w==="<"?(b.state=q.OPEN_WAKA,b.startTagPosition=b.position):B(w)||(fe(b,"Non-whitespace before first tag."),b.textNode=w,b.state=q.TEXT)}function g(b,w){var I="";return w"?(K(w,"onsgmldeclaration",w.sgmlDecl),w.sgmlDecl="",w.state=q.TEXT):(T($)&&(w.state=q.SGML_DECL_QUOTED),w.sgmlDecl+=$);continue;case q.SGML_DECL_QUOTED:$===w.q&&(w.state=q.SGML_DECL,w.q=""),w.sgmlDecl+=$;continue;case q.DOCTYPE:$===">"?(w.state=q.TEXT,K(w,"ondoctype",w.doctype),w.doctype=!0):(w.doctype+=$,$==="["?w.state=q.DOCTYPE_DTD:T($)&&(w.state=q.DOCTYPE_QUOTED,w.q=$));continue;case q.DOCTYPE_QUOTED:w.doctype+=$,$===w.q&&(w.q="",w.state=q.DOCTYPE);continue;case q.DOCTYPE_DTD:w.doctype+=$,$==="]"?w.state=q.DOCTYPE:T($)&&(w.state=q.DOCTYPE_DTD_QUOTED,w.q=$);continue;case q.DOCTYPE_DTD_QUOTED:w.doctype+=$,$===w.q&&(w.state=q.DOCTYPE_DTD,w.q="");continue;case q.COMMENT:$==="-"?w.state=q.COMMENT_ENDING:w.comment+=$;continue;case q.COMMENT_ENDING:$==="-"?(w.state=q.COMMENT_ENDED,w.comment=oe(w.opt,w.comment),w.comment&&K(w,"oncomment",w.comment),w.comment=""):(w.comment+="-"+$,w.state=q.COMMENT);continue;case q.COMMENT_ENDED:$!==">"?(fe(w,"Malformed comment"),w.comment+="--"+$,w.state=q.COMMENT):w.state=q.TEXT;continue;case q.CDATA:$==="]"?w.state=q.CDATA_ENDING:w.cdata+=$;continue;case q.CDATA_ENDING:$==="]"?w.state=q.CDATA_ENDING_2:(w.cdata+="]"+$,w.state=q.CDATA);continue;case q.CDATA_ENDING_2:$===">"?(w.cdata&&K(w,"oncdata",w.cdata),K(w,"onclosecdata"),w.cdata="",w.state=q.TEXT):$==="]"?w.cdata+="]":(w.cdata+="]]"+$,w.state=q.CDATA);continue;case q.PROC_INST:$==="?"?w.state=q.PROC_INST_ENDING:B($)?w.state=q.PROC_INST_BODY:w.procInstName+=$;continue;case q.PROC_INST_BODY:if(!w.procInstBody&&B($))continue;$==="?"?w.state=q.PROC_INST_ENDING:w.procInstBody+=$;continue;case q.PROC_INST_ENDING:$===">"?(K(w,"onprocessinginstruction",{name:w.procInstName,body:w.procInstBody}),w.procInstName=w.procInstBody="",w.state=q.TEXT):(w.procInstBody+="?"+$,w.state=q.PROC_INST_BODY);continue;case q.OPEN_TAG:R(m,$)?w.tagName+=$:(ge(w),$===">"?O(w):$==="/"?w.state=q.OPEN_TAG_SLASH:(B($)||fe(w,"Invalid character in tag name"),w.state=q.ATTRIB));continue;case q.OPEN_TAG_SLASH:$===">"?(O(w,!0),E(w)):(fe(w,"Forward-slash in opening tag not followed by >"),w.state=q.ATTRIB);continue;case q.ATTRIB:if(B($))continue;$===">"?O(w):$==="/"?w.state=q.OPEN_TAG_SLASH:R(A,$)?(w.attribName=$,w.attribValue="",w.state=q.ATTRIB_NAME):fe(w,"Invalid attribute name");continue;case q.ATTRIB_NAME:$==="="?w.state=q.ATTRIB_VALUE:$===">"?(fe(w,"Attribute without value"),w.attribValue=w.attribName,z(w),O(w)):B($)?w.state=q.ATTRIB_NAME_SAW_WHITE:R(m,$)?w.attribName+=$:fe(w,"Invalid attribute name");continue;case q.ATTRIB_NAME_SAW_WHITE:if($==="=")w.state=q.ATTRIB_VALUE;else{if(B($))continue;fe(w,"Attribute without value"),w.tag.attributes[w.attribName]="",w.attribValue="",K(w,"onattribute",{name:w.attribName,value:""}),w.attribName="",$===">"?O(w):R(A,$)?(w.attribName=$,w.state=q.ATTRIB_NAME):(fe(w,"Invalid attribute name"),w.state=q.ATTRIB)}continue;case q.ATTRIB_VALUE:if(B($))continue;T($)?(w.q=$,w.state=q.ATTRIB_VALUE_QUOTED):(fe(w,"Unquoted attribute value"),w.state=q.ATTRIB_VALUE_UNQUOTED,w.attribValue=$);continue;case q.ATTRIB_VALUE_QUOTED:if($!==w.q){$==="&"?w.state=q.ATTRIB_VALUE_ENTITY_Q:w.attribValue+=$;continue}z(w),w.q="",w.state=q.ATTRIB_VALUE_CLOSED;continue;case q.ATTRIB_VALUE_CLOSED:B($)?w.state=q.ATTRIB:$===">"?O(w):$==="/"?w.state=q.OPEN_TAG_SLASH:R(A,$)?(fe(w,"No whitespace between attributes"),w.attribName=$,w.attribValue="",w.state=q.ATTRIB_NAME):fe(w,"Invalid attribute name");continue;case q.ATTRIB_VALUE_UNQUOTED:if(!N($)){$==="&"?w.state=q.ATTRIB_VALUE_ENTITY_U:w.attribValue+=$;continue}z(w),$===">"?O(w):w.state=q.ATTRIB;continue;case q.CLOSE_TAG:if(w.tagName)$===">"?E(w):R(m,$)?w.tagName+=$:w.script?(w.script+=""?E(w):fe(w,"Invalid characters in closing tag");continue;case q.TEXT_ENTITY:case q.ATTRIB_VALUE_ENTITY_Q:case q.ATTRIB_VALUE_ENTITY_U:var Y,be;switch(w.state){case q.TEXT_ENTITY:Y=q.TEXT,be="textNode";break;case q.ATTRIB_VALUE_ENTITY_Q:Y=q.ATTRIB_VALUE_QUOTED,be="attribValue";break;case q.ATTRIB_VALUE_ENTITY_U:Y=q.ATTRIB_VALUE_UNQUOTED,be="attribValue";break}$===";"?(w[be]+=F(w),w.entity="",w.state=Y):R(w.entity.length?C:v,$)?w.entity+=$:(fe(w,"Invalid character in entity name"),w[be]+="&"+w.entity+$,w.entity="",w.state=Y);continue;default:throw new Error(w,"Unknown state: "+w.state)}return w.position>=w.bufferCheckPosition&&u(w),w}/*! http://mths.be/fromcodepoint v0.1.0 by @mathias */String.fromCodePoint||function(){var b=String.fromCharCode,w=Math.floor,I=function(){var $=16384,M=[],L,Y,be=-1,Ne=arguments.length;if(!Ne)return"";for(var Ve="";++be1114111||w(Me)!==Me)throw RangeError("Invalid code point: "+Me);Me<=65535?M.push(Me):(Me-=65536,L=(Me>>10)+55296,Y=Me%1024+56320,M.push(L,Y)),(be+1===Ne||M.length>$)&&(Ve+=b.apply(null,M),M.length=0)}return Ve};Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:I,configurable:!0,writable:!0}):String.fromCodePoint=I}()})(e)})(T7);class fJ{constructor(){this.sax=T7.parser(!0),this.sax.ontext=t=>this.handleSaxText(t),this.sax.onopentag=t=>this.handleSaxOpenTag(t),this.sax.onclosetag=t=>this.handleSaxCloseTag(t),this.lexed=[],this.elementStack=[],this.currentText="",this.openTagHandlers={usx:this.ignoreHandler,book:this.handleBookOpen,chapter:this.handleChapter,verse:this.handleVerses,para:this.handleParaOpen,table:this.ignoreHandler,row:this.handleRowOpen,cell:this.handleCellOpen,char:this.handleCharOpen,ms:this.handleMSOpen,note:this.handleNoteOpen,sidebar:this.handleSidebarOpen,periph:this.notHandledHandler,figure:this.handleFigureOpen,optbreak:this.handleOptBreakOpen,ref:this.ignoreHandler},this.closeTagHandlers={usx:this.ignoreHandler,book:this.handleBookClose,chapter:this.ignoreHandler,verse:this.ignoreHandler,para:this.handleParaClose,table:this.ignoreHandler,row:this.handleRowClose,cell:this.handleCellClose,char:this.handleCharClose,ms:this.handleMSClose,note:this.handleNoteClose,sidebar:this.handleSidebarClose,periph:this.notHandledHandler,figure:this.handleFigureClose,optbreak:this.handleOptBreakClose,ref:this.ignoreHandler}}lexAndParse(t,r){this.parser=r,this.lexed=[],this.elementStack=[],this.sax.write(t).close()}handleSaxText(t){this.currentText=this.replaceEntities(t),Z.match(this.currentText,_7,"all").map(r=>B7(r,ds)).forEach(r=>this.parser.parseItem(r))}replaceEntities(t){return t.replace("<","<").replace(">",">").replace("'","'").replace(""",'"').replace("&","&")}handleSaxOpenTag(t){const r=t.name,n=t.attributes;if(r in this.openTagHandlers)this.openTagHandlers[r](this,"open",r,n);else throw new Error(`Unexpected open element tag '${r}' in UsxParser`)}handleSaxCloseTag(t){this.closeTagHandlers[t](this,"close",t)}notHandledHandler(t,r,n){console.error(`WARNING: ${r} element tag '${n}' is not handled by UsxParser`)}stackPush(t,r){this.elementStack.push([t,r])}stackPop(){return this.elementStack.pop()}splitTagNumber(t){const r=Z.exec(t,Z("([^1-9]+)(.*)")),n=r[1],u=r[2].length>0?r[2]:"1";return[n,u]}ignoreHandler(t,r,n){}handleParaOpen(t,r,n,u){t.currentText="";const[s,o]=t.splitTagNumber(u.style);["cp"].includes(s)||t.parser.parseItem(Ge.tag("startTag",[null,null,s,o])),t.stackPush(n,u)}handleParaClose(t){const r=t.stackPop()[1],[n,u]=t.splitTagNumber(r.style);["cp"].includes(n)?t.parser.parseItem(Ge.pubchapter("pubchapter",[null,null,t.currentText])):t.parser.parseItem(Ge.tag("endTag",[null,null,n,u])),t.currentText=""}handleCharOpen(t,r,n,u){const[s,o]=t.splitTagNumber(u.style);t.parser.parseItem(Ge.tag("startTag",[null,null,`+${s}`,o]));const a=["sid","eid","style","srcloc","link-href","link-title","link-id","closed"];for(const[i,c]of Object.entries(u))a.includes(i)||t.parser.parseItem(Ge.attribute("attribute",[null,null,i,c]));t.stackPush(n,u)}handleCharClose(t){const r=t.stackPop()[1],[n,u]=t.splitTagNumber(r.style);t.parser.parseItem(Ge.tag("endTag",[null,null,`+${n}`,u]))}handleRefOpen(t){t.parser.parseItem(Ge.tag("startTag",[null,null,"xt",""]))}handleRefClose(t){t.parser.parseItem(Ge.tag("endTag",[null,null,"xt",""]))}handleRowOpen(t,r,n,u){const[s,o]=t.splitTagNumber(u.style);t.parser.parseItem(Ge.tag("startTag",[null,null,s,o])),t.stackPush(n,u)}handleRowClose(t){const r=t.stackPop()[1],[n,u]=t.splitTagNumber(r.style);t.parser.parseItem(Ge.tag("endTag",[null,null,n,u]))}handleCellOpen(t,r,n,u){const[s,o]=t.splitTagNumber(u.style);t.parser.parseItem(Ge.tag("startTag",[null,null,s,o])),t.stackPush(n,u)}handleCellClose(t){const r=t.stackPop()[1],[n,u]=t.splitTagNumber(r.style);t.parser.parseItem(Ge.tag("endTag",[null,null,n,u]))}handleBookOpen(t,r,n,u){t.parser.parseItem(Ge.tag("startTag",[null,null,"id",""])),t.parser.parseItem(Ge.printable("wordLike",[u.code])),t.parser.parseItem(Ge.printable("lineSpace",[" "])),t.stackPush(n,u)}handleBookClose(t){t.stackPop(),t.parser.parseItem(Ge.tag("endTag",[null,null,"id",""]))}handleChapter(t,r,n,u){u.number&&(t.parser.parseItem(Ge.chapter("chapter",[null,null,u.number])),u.pubnumber&&t.parser.parseItem(Ge.pubchapter("pubchapter",[null,null,u.pubnumber])),u.altnumber&&(t.parser.parseItem(Ge.tag("startTag",[null,null,"+ca",""])),t.parser.parseItem(Ge.printable("wordLike",[u.altnumber])),t.parser.parseItem(Ge.tag("endTag",[null,null,"+ca",""]))))}handleVerses(t,r,n,u){u.number&&(t.parser.parseItem(Ge.verses("verses",[null,null,u.number])),u.pubnumber&&(t.parser.parseItem(Ge.tag("startTag",[null,null,"+vp",""])),t.parser.parseItem(Ge.printable("wordLike",[u.pubnumber])),t.parser.parseItem(Ge.tag("endTag",[null,null,"+vp",""]))),u.altnumber&&(t.parser.parseItem(Ge.tag("startTag",[null,null,"+va",""])),t.parser.parseItem(Ge.printable("wordLike",[u.altnumber])),t.parser.parseItem(Ge.tag("endTag",[null,null,"+va",""]))))}handleNoteOpen(t,r,n,u){t.parser.parseItem(Ge.tag("startTag",[null,null,u.style,""])),t.parser.parseItem(Ge.printable("punctuation",[u.caller])),t.stackPush(n,u)}handleNoteClose(t){const r=t.stackPop()[1];t.parser.parseItem(Ge.tag("endTag",[null,null,r.style,""]))}handleSidebarOpen(t,r,n,u){t.parser.parseItem(Ge.tag("startTag",[null,null,"esb",""])),"category"in u&&(t.parser.parseItem(Ge.tag("startTag",[null,null,"cat",""])),t.parser.parseItem(Ge.printable("wordLike",[u.category])),t.parser.parseItem(Ge.tag("endTag",[null,null,"cat",""]))),t.stackPush(n,u)}handleSidebarClose(t){t.stackPop(),t.parser.parseItem(Ge.tag("startTag",[null,null,"esbe",""]))}handleMSOpen(t,r,n,u){let s=Z.exec(u.style,Z("(([a-z1-9]+)-([se]))"));if(s){const o=Ge.milestone("startMilestoneTag",[null,null,s[2],s[3]]);t.parser.parseItem(o);const a=["sid","eid","style","srcloc","link-href","link-title","link-id"];for(const[i,c]of Object.entries(u))a.includes(i)||t.parser.parseItem(Ge.attribute("attribute",[null,null,i,c]));t.parser.parseItem(Ge.milestone("endMilestoneMarker"))}else{const o=Ge.milestone("emptyMilestone",[null,null,u.style,""]);t.parser.parseItem(o)}t.stackPush(n,u)}handleMSClose(t){t.stackPop()}handleFigureOpen(t,r,n,u){t.parser.parseItem(Ge.tag("startTag",[null,null,"+fig",""]));for(const[s,o]of Object.entries(u)){if(s==="style")continue;const a=s==="file"?"src":s;t.parser.parseItem(Ge.attribute("attribute",[null,null,a,o]))}t.stackPush(n,u)}handleFigureClose(t){t.stackPop()[1],t.parser.parseItem(Ge.tag("endTag",[null,null,"+fig",""]))}handleOptBreakOpen(t,r,n,u){t.parser.parseItem(Ge.printable("softLineBreak",["//"])),t.stackPush(n,u)}handleOptBreakClose(t){t.stackPop()}}const DJ=(e,t)=>{new fJ().lexAndParse(e,t)},Bo=ye.ByteArray,{pushSuccinctGraftBytes:hJ,pushSuccinctScopeBytes:mJ,pushSuccinctTokenBytes:EJ}=ye.succinct,{addTag:yJ}=ye.tags,{labelForScope:gf}=ye.scopeDefs,{itemEnum:vJ}=ye.itemDefs,{scopeEnum:gJ}=ye.scopeDefs,{tokenCategory:AJ,tokenEnum:FJ}=ye.tokenDefs,gu=class{constructor(e){this.id=ye.generateId(),this.type=e,this.tags=new Set([]),this.blocks=[],this.activeScopes=[]}addTag(e){yJ(this.tags,e)}plainText(){return this.blocks.map(e=>e.plainText()).join("").trim()}addItem(e){this.lastBlock().addItem(e)}addBlockGraft(e){this.newBlock("hangingGraft"),this.lastBlock().bg.push(e)}lastBlock(){return this.blocks.length===0&&this.newBlock("orphanTokens"),this.blocks[this.blocks.length-1]}newBlock(e){this.blocks.length>0&&["orphanTokens","hangingGraft"].includes(this.blocks[this.blocks.length-1].bs.payload)?this.lastBlock().bs={type:"scope",subType:"start",payload:e}:this.blocks.push(new CJ(e))}trim(){this.blocks.forEach(e=>e.trim())}reorderSpanWithAtts(){this.blocks.forEach(e=>e.reorderSpanWithAtts())}makeNoteGrafts(e){this.blocks.forEach(t=>t.makeNoteGrafts(e))}close(e){for(const t of this.activeScopes.filter(()=>!0).reverse())this.closeActiveScope(e,t);this.activeScopes=[]}closeActiveScope(e,t){this.addItem({type:"scope",subType:"end",payload:t.label}),t.onEnd&&t.onEnd(e,t.label)}filterGrafts(e){return this.blocks.map(t=>t.filterGrafts(e)).reduce((t,r)=>t.concat(r),[])}filterScopes(e){this.blocks.forEach(t=>t.filterScopes(e))}text(){return this.blocks.map(e=>e.text()).join("")}addTableScopes(){let e=!1;for(const[t,r]of this.blocks.entries())!e&&r.bs.payload==="blockTag/tr"?(e=!0,this.blocks[t].items.unshift({type:"scope",subType:"start",payload:gf("table",[])})):e&&r.bs.payload!=="blockTag/tr"&&(e=!1,this.blocks[t-1].items.push({type:"scope",subType:"end",payload:gf("table",[])}));e&&this.lastBlock().items.push({type:"scope",subType:"end",payload:gf("table",[])})}graftifyIntroductionHeadings(e){let t=[...this.blocks.entries()];t.reverse();const r=["iot","is"].concat(e.customTags.introHeading);for(const[n,u]of t){const s=u.bs.payload.split("/")[1].replace(/[0-9]/g,"");if(r.includes(s)){const o=new gu("heading");e.sequences.heading.push(o),o.blocks.push(u);const a={type:"graft",subType:"heading",payload:o.id};this.blocks.length1&&(this.moveOrphanStartScopes(),this.moveOrphanEndScopes())}moveOrphanStartScopes(){for(const[e,t]of this.blocks.entries())if(!(e>=this.blocks.length-1))for(const r of[...t.items].reverse()){if(r.subType!=="start"||r.payload.startsWith("altChapter"))break;this.blocks[e+1].items.unshift(this.blocks[e].items.pop())}}moveOrphanStartScopes2(){for(const[e,t]of this.blocks.entries())if(!(e>=this.blocks.length-1))for(const r of[...t.items].reverse()){if(r.subType!=="start")break;this.blocks[e+1].items.unshift(this.blocks[e].items.pop())}}moveOrphanEndScopes(){for(const[e,t]of this.blocks.entries())if(e!==0)for(const r of[...t.items]){if(r.subType!=="end")break;this.blocks[e-1].items.push(this.blocks[e].items.shift())}}removeEmptyBlocks(e){const t=["blockTag/b","blockTag/ib"].concat(e),r=[];let n=!1;const u=s=>{const o=s.filter(i=>i.type==="scope"&&i.payload.startsWith("milestone")),a=new Set([]);for(const i of o)if(i.subType==="start")a.add(i.payload);else if(a.has(i.payload))return!0;return!1};for(const s of this.blocks.entries())s[1].tokens().length===0&&!u(s[1].items)&&!t.includes(s[1].bs.payload)&&r.push(s);for(const[s,o]of r.reverse())if(st.removeGraftsToEmptySequences(e))}succinctifyBlocks(e){const t=[];let r=[];const n=s=>{s.subType==="start"?r.filter(a=>a.payload===s.payload).length===0&&r.push(s):r=r.filter(o=>o.payload!==s.payload)};let u=0;for(const s of this.blocks){const o=new Bo(s.length),a=new Bo(1),i=new Bo(1),c=new Bo(1),l=new Bo(1);l.pushNByte(u);for(const f of s.bg)this.pushSuccinctGraft(a,e,f);for(const f of r)this.pushSuccinctScope(i,e,f);const p=[];for(const f of s.items)switch(f.type){case"token":this.pushSuccinctToken(o,e,f),f.subType==="wordLike"&&u++;break;case"graft":this.pushSuccinctGraft(o,e,f);break;case"scope":this.pushSuccinctScope(o,e,f),n(f),f.subType==="start"&&p.push(f);break;default:throw new Error(`Item type ${f.type} is not handled in succinctifyBlocks`)}const d=new Bo(10);this.pushSuccinctScope(d,e,s.bs);for(const f of p)this.pushSuccinctScope(c,e,f);o.trim(),a.trim(),d.trim(),i.trim(),c.trim(),t.push({c:o,bs:d,bg:a,os:i,is:c,nt:l})}return t}pushSuccinctToken(e,t,r){const n=t.enumForCategoryValue(AJ[r.subType],r.payload);EJ(e,FJ[r.subType],n)}pushSuccinctGraft(e,t,r){const n=t.enumForCategoryValue("graftTypes",r.subType),u=t.enumForCategoryValue("ids",r.payload);hJ(e,n,u)}pushSuccinctScope(e,t,r){const n=r.payload.split("/"),u=gJ[n[0]],s=n.slice(1).map(o=>t.enumForCategoryValue("scopeBits",o));mJ(e,vJ[`${r.subType}Scope`],u,s)}},CJ=class{constructor(e){this.id=ye.generateId(),this.items=[],this.bg=[],this.bs={type:"scope",subType:"start",payload:e},this.os=[]}addItem(e){this.items.push(e)}plainText(){return this.items.filter(e=>e.type==="token").map(e=>e.payload).join("")}trim(){this.items=this.trimEnd(this.trimStart(this.items))}reorderSpanWithAtts(){const e=[];for(const[t,r]of this.items.entries())r.subType==="start"&&r.payload.startsWith("spanWithAtts")&&e.push(t+1);for(const t of e){let r=t,n=[],u=[];for(;!(r>=this.items.length);){const s=this.items[r];if(s.type==="token")n.push(s);else if(s.subType==="start"&&s.payload.startsWith("attribute/spanWithAtts"))u.push(s);else break;r++}if(n.length!==0&&u.length!==0){let s=t;for(const o of u)this.items[s]=o,s++;for(const o of n)this.items[s]=o,s++}}}inlineToEnd(){let e=null;for(const[t,r]of this.items.entries())if(r.subType==="end"&&["inline/f","inline/fe","inline/x"].includes(r.payload)){e=r,this.items.splice(t,1);break}e&&this.addItem(e)}makeNoteGrafts(e){const t=[];for(const[r,n]of this.items.entries())n.subType==="start"&&(n.payload.startsWith("inline/f")||n.payload.startsWith("inline/x"))&&t.push(r);for(const r of t){const n=this.items[r].payload,u=this.items[r+1];if(u.type==="token"&&u.payload.length===1){const s=new gu("noteCaller");s.newBlock(n),s.addItem(u),e.sequences.noteCaller.push(s),this.items[r+1]={type:"graft",subType:"noteCaller",payload:s.id}}}}trimStart(e){if(e.length===0)return e;const t=e[0];return["lineSpace","eol"].includes(t.subType)?this.trimStart(e.slice(1)):t.type==="token"?e:[t,...this.trimStart(e.slice(1))]}trimEnd(e){if(e.length===0)return e;const t=e[e.length-1];return["lineSpace","eol"].includes(t.subType)?this.trimEnd(e.slice(0,e.length-1)):t.type==="token"?e:[...this.trimEnd(e.slice(0,e.length-1)),t]}filterGrafts(e){const t=[];let r=[];for(const[n,u]of this.grafts())this.graftPassesOptions(u,e)?t.push(u.payload):r.push(n);for(const[n,u]of Array.from(r.entries()))this.items.splice(u-n,1);r=[];for(const[n,u]of this.bg.entries())this.graftPassesOptions(u,e)?t.push(u.payload):r.push(n);for(const[n,u]of Array.from(r.entries()))this.bg.splice(u-n,1);return t}filterScopes(e){const t=[];for(const[r,n]of this.scopes())this.scopePassesOptions(n,e)||t.push(r);for(const[r,n]of Array.from(t.entries()))this.items.splice(n-r,1)}graftPassesOptions(e,t){return(!("includeGrafts"in t)||t.includeGrafts.includes(e.subType))&&(!("excludeGrafts"in t)||!t.excludeGrafts.includes(e.subType))}scopePassesOptions(e,t){return(!("includeScopes"in t)||this.scopeMatchesOptionArray(e.payload,t.includeScopes))&&(!("excludeScopes"in t)||!this.scopeMatchesOptionArray(e.payload,t.excludeScopes))}scopeMatchesOptionArray(e,t){for(const r of t)if(e.startsWith(r))return!0;return!1}removeGraftsToEmptySequences(e){const t=[];let r=[];for(const[n,u]of this.grafts())e.includes(u.payload)&&r.push(n);for(const[n,u]of Array.from(r.entries()))this.items.splice(u-n,1);r=[];for(const[n,u]of this.bg.entries())e.includes(u.payload)&&r.push(n);for(const[n,u]of Array.from(r.entries()))this.bg.splice(u-n,1);return t}grafts(){return Array.from(this.items.entries()).filter(e=>e[1].type==="graft")}scopes(){return Array.from(this.items.entries()).filter(e=>e[1].type==="scope")}tokens(){return Array.from(this.items.entries()).filter(e=>!["scope","graft"].includes(e[1].type))}text(){return this.tokens().map(e=>e[1].payload).join("")}},ci={},$7=[];for(const e of ds)["wordLike","eol","lineSpace","punctuation","unknown"].includes(e[1])&&(ci[e[1]]=Z(`^${e[2].xregexp.source}$`),$7.push(e[2]));const P7=e=>{const t=Z.union($7),r=[];for(const n of Z.match(e,t,"all")){let u;Z.test(n,ci.wordLike)?u="wordLike":Z.test(n,ci.punctuation)?u="punctuation":Z.test(n,ci.lineSpace)?u="lineSpace":Z.test(n,ci.eol)?u="eol":u="unknown",r.push([n,u])}return r},{labelForScope:bJ}=ye.scopeDefs,SJ=(e,t,r)=>{const{rows:n}=JSON.parse(e);t.headers.id=r,t.headers.bookCode=r;const u=new gu("table");for(const[s,o]of n.entries())for(const[a,i]of o.entries()){u.newBlock(bJ("tTableRow",[`${s}`]));const c=u.lastBlock();c.addItem({type:"scope",subType:"start",payload:`tTableCol/${a}`});for(const[l,p]of P7(i))c.addItem({type:"token",subType:p,payload:l});c.addItem({type:"scope",subType:"end",payload:`tTableCol/${a}`})}t.sequences.table.push(u),t.sequences.main.addBlockGraft({type:"graft",subType:"table",payload:u.id})},{labelForScope:Yc}=ye.scopeDefs;let Af=0;const k7=(e,t)=>{typeof t!="number"&&(Af=0);const r={...e,id:Af,parentId:typeof t=="number"?t:"none"};return Af++,e.children&&(r.children=e.children.map(n=>k7(n,r.id))),r},O7=e=>{const t=[{}];if(t[0].id=e.id,t[0].parentId=e.parentId,e.content&&(t[0].content=e.content),e.children){t[0].children=[];for(const r of e.children)t[0].children.push(r.id),O7(r).forEach(n=>t.push(n))}return t},wJ=(e,t,r)=>{t.headers.id=r,t.headers.bookCode=r;const n=new gu("tree");for(const u of O7(k7(JSON.parse(e)))){n.newBlock(Yc("tTreeNode",[`${u.id}`]));const s=Yc("tTreeParent",[`${u.parentId}`]);if(n.lastBlock().items.push({type:"scope",subType:"start",payload:s}),u.content)for(const[o,a]of Object.entries(u.content)){const i=n.lastBlock().items.length,c=P7(a),l=Yc("tTreeContent",[o,u.id,`${i}`,`${c.length}`]);n.lastBlock().items.push({type:"scope",subType:"start",payload:l});for(const[p,d]of c)n.lastBlock().items.push({type:"token",subType:d,payload:p});n.lastBlock().items.push({type:"scope",subType:"end",payload:l})}if(u.children)for(const[o,a]of u.children.entries()){const i=Yc("tTreeChild",[o,a]);n.lastBlock().items.push({type:"scope",subType:"start",payload:i}),n.lastBlock().items.push({type:"scope",subType:"end",payload:i})}n.lastBlock().items.push({type:"scope",subType:"end",payload:s})}t.sequences.tree.push(n),t.sequences.main.addBlockGraft({type:"graft",subType:"tree",payload:n.id})},{labelForScope:Bt}=ye.scopeDefs,_J=e=>{const t={};for(const r of e)for(const n of r.contexts){n[0]in t||(t[n[0]]={});const u=n[1];if(!u)t[n[0]]._noAccessor=r.parser;else{u in t[n[0]]||(t[n[0]][u]={});for(const s of n[2])t[n[0]][u][s]=r.parser}}return t},BJ=e=>[{contexts:[["startTag","tagName",["id","usfm","ide","sts","h","toc","toca","cl"]]],parser:{baseSequenceType:"header",forceNewSequence:!0,newBlock:!0,useTempSequence:!0,newScopes:[{label:t=>t.fullTagName,endedBy:["baseSequenceChange"],onEnd:(t,r)=>{if(t.headers[r]=t.current.sequence.plainText(),r==="id"&&(t.headers[r].length===3||t.headers[r].length>3&&t.headers[r].substring(3,4)===" ")){const n=t.headers[r].substring(0,3);t.headers.bookCode=n}}}]}},{contexts:[["startTag","tagName",["ms","mr","s","sr","r","qa","sp","sd"].concat(e.customTags.heading)]],parser:{baseSequenceType:"heading",forceNewSequence:!0,newBlock:!0,newScopes:[]}},{contexts:[["startTag","tagName",["mt"]]],parser:{baseSequenceType:"title",newBlock:!0,newScopes:[]}},{contexts:[["startTag","tagName",["mte"]]],parser:{baseSequenceType:"endTitle",newBlock:!0,newScopes:[]}},{contexts:[["startTag","tagName",["imt","is","ip","ipi","im","imi","ipq","imq","ipr","iq","ib","ili","iot","io","iex","imte"].concat(e.customTags.intro)]],parser:{baseSequenceType:"introduction",newBlock:!0,newScopes:[]}},{contexts:[["startTag","tagName",["esb"]]],parser:{baseSequenceType:"sidebar",newBlock:!0,newScopes:[],after:t=>{t.mainLike=t.current.sequence}}},{contexts:[["startTag","tagName",["esbe"]]],parser:{baseSequenceType:"main",newBlock:!0,newScopes:[],after:t=>{t.mainLike=t.sequences.main}}},{contexts:[["startTag","tagName",["cat"]]],parser:{inlineSequenceType:"esbCat",forceNewSequence:!0,newScopes:[{label:t=>Bt("inline",[t.fullTagName]),endedBy:["endTag/cat","endBlock","implicitEnd"],onEnd:t=>t.returnToBaseSequence()}],during:(t,r)=>{const n=ye.generateId(),u={label:()=>Bt("esbCat",[n]),endedBy:["startTag/esbe"]};t.openNewScope(r,u,!0,t.mainLike)}}},{contexts:[["startTag","tagName",["rem"]]],parser:{baseSequenceType:"remark",forceNewSequence:!0,newScopes:[]}},{contexts:[["startTag","tagName",["cd","p","m","po","pr","cls","pmo","pm","pmc","pmr","pi","mi","nb","pc","ph","b","q","qr","qc","qa","qm","qd","lh","li","lf","lim","d"].concat(e.customTags.paragraph)]],parser:{baseSequenceType:"mainLike",newBlock:!0,newScopes:[]}},{contexts:[["startTag","tagName",["tr"]]],parser:{newBlock:!0,newScopes:[]}},{contexts:[["startTag","tagName",["f","fe"]]],parser:{inlineSequenceType:"footnote",forceNewSequence:!0,newScopes:[{label:t=>Bt("inline",[t.fullTagName]),endedBy:["endTag/f","endTag/fe","endBlock"],onEnd:t=>t.returnToBaseSequence()}]}},{contexts:[["startTag","tagName",["x"]]],parser:{inlineSequenceType:"xref",forceNewSequence:!0,newScopes:[{label:t=>Bt("inline",[t.fullTagName]),endedBy:["endTag/x","endBlock"],onEnd:t=>t.returnToBaseSequence()}]}},{contexts:[["startTag","tagName",["fig"]]],parser:{inlineSequenceType:"fig",forceNewSequence:!0,newScopes:[{label:t=>Bt("spanWithAtts",[t.tagName]),endedBy:["endBlock","endTag/$tagName$"],onEnd:t=>t.clearAttributeContext()}],during:(t,r)=>{t.setAttributeContext(Bt("spanWithAtts",[r.tagName]))}}},{contexts:[["chapter"]],parser:{mainSequence:!0,newScopes:[{label:t=>Bt("chapter",[t.number]),endedBy:["chapter"]}]}},{contexts:[["pubchapter"]],parser:{mainSequence:!0,newScopes:[{label:t=>Bt("pubChapter",[t.numberString]),endedBy:["pubchapter","chapter"]}]}},{contexts:[["startTag","tagName",["ca"]]],parser:{inlineSequenceType:"altNumber",forceNewSequence:!0,newScopes:[{label:t=>Bt("inline",[t.fullTagName]),endedBy:["endTag/ca","endBlock","implicitEnd"],onEnd:t=>t.returnToBaseSequence()}],during:(t,r)=>{const n=ye.generateId(),u={label:()=>Bt("altChapter",[n]),endedBy:["startTag/ca","chapter"]};t.openNewScope(r,u,!0,t.sequences.main)}}},{contexts:[["verses"]],parser:{mainSequence:!0,newScopes:[{label:t=>Bt("verses",[t.numberString]),endedBy:["verses","chapter","pubchapter"]}],during:(t,r)=>{r.numbers.forEach(n=>{const u={label:()=>Bt("verse",[n]),endedBy:["verses","chapter","pubchapter"]};t.openNewScope(r,u,!0,t.sequences.main)})}}},{contexts:[["startTag","tagName",["vp"]]],parser:{inlineSequenceType:"pubNumber",forceNewSequence:!0,newScopes:[{label:t=>Bt("inline",[t.fullTagName]),endedBy:["endTag/vp","endBlock","implicitEnd"],onEnd:t=>t.returnToBaseSequence()}],during:(t,r)=>{const n=ye.generateId(),u={label:()=>Bt("pubVerse",[n]),endedBy:["startTag/vp","verses","chapter","pubchapter"]};t.openNewScope(r,u,!0,t.sequences.main)}}},{contexts:[["startTag","tagName",["va"]]],parser:{inlineSequenceType:"altNumber",forceNewSequence:!0,newScopes:[{label:t=>Bt("inline",[t.fullTagName]),endedBy:["endTag/va","endBlock","implicitEnd"],onEnd:t=>t.returnToBaseSequence()}],during:(t,r)=>{const n=ye.generateId(),u={label:()=>Bt("altVerse",[n]),endedBy:["startTag/va","verses","chapter","pubchapter"]};t.openNewScope(r,u,!0,t.sequences.main)}}},{contexts:[["startTag","tagName",["qs","qac","litl","lik","liv","fr","fq","fqa","fk","fl","fw","fp","fv","ft","fdc","fm","xo","xk","xq","xt","xta","xop","xot","xnt","xdc","rq","add","bk","dc","k","nd","ord","pn","png","qt","sig","sls","tl","wj","em","bd","it","bdit","no","sc","sup","ior","iqt"].concat(e.customTags.char)]],parser:{newScopes:[{label:t=>Bt("span",[t.fullTagName]),endedBy:["endBlock","endTag/$fullTagName$","implicitEnd"]}]}},{contexts:[["startTag","tagName",["th","thr","tc","tcr"]]],parser:{newScopes:[{label:t=>Bt("cell",[t.fullTagName]),endedBy:["startTag/th","startTag/thr","startTag/tc","startTag/tcr","startTag/th2","startTag/thr2","startTag/tc2","startTag/tcr2","startTag/th3","startTag/thr3","startTag/tc3","startTag/tcr3","endBlock","endTag/$fullTagName$"]}]}},{contexts:[["emptyMilestone"]],parser:{during:(t,r)=>{t.addEmptyMilestone(Bt("milestone",[r.tagName]))}}},{contexts:[["startMilestoneTag","sOrE","s"]],parser:{newScopes:[{label:t=>Bt("milestone",[t.tagName]),endedBy:["endMilestone/$tagName$"]}],during:(t,r)=>{t.setAttributeContext(Bt("milestone",[r.tagName]))}}},{contexts:[["endMilestoneMarker"]],parser:{during:t=>t.clearAttributeContext()}},{contexts:[["attribute"],["defaultAttribute"]],parser:{during:(t,r)=>{const n={w:"lemma",rb:"gloss",xt:"link-href"};if(t.current.attributeContext){const u=t.current.attributeContext.split("/");r.key==="default"&&u.length===2&&(r.key=n[u[1]]||`unknownDefault_${u[1]}`,r.printValue=r.printValue.replace(/default/,r.key)),[...r.values.entries()].forEach(s=>{const o={label:a=>Bt("attribute",[t.current.attributeContext,a.key,s[0],s[1]]),endedBy:["$attributeContext$"]};t.openNewScope(r,o)})}else t.addToken(Ge.printable("unknown",[r.printValue]))}}},{contexts:[["startTag","tagName",["w","rb"].concat(e.customTags.word)]],parser:{newScopes:[{label:t=>Bt("spanWithAtts",[t.tagName]),endedBy:["endBlock","endTag/$tagName$"],onEnd:t=>t.clearAttributeContext()}],during:(t,r)=>{t.setAttributeContext(Bt("spanWithAtts",[r.tagName]))}}},{contexts:[["wordLike"],["lineSpace"],["punctuation"],["eol"]],parser:{during:(t,r)=>t.addToken(r)}},{contexts:[["noBreakSpace"]],parser:{during:t=>{t.addToken(Ge.printable("lineSpace",[" "]))}}},{contexts:[["softLineBreak"]],parser:{during:t=>{t.addToken(Ge.printable("softLineBreak",["//"]))}}},{contexts:[["bareSlash"]],parser:{during:t=>{t.addToken(Ge.printable("bareSlash",["\\"]))}}},{contexts:[["unknown"]],parser:{during:(t,r)=>{t.addToken(Ge.printable("unknown",[r.printValue]))}}}],{labelForScope:Ff}=ye.scopeDefs,Qv=ye.parserConstants,TJ=class{constructor(e,t,r){this.filterOptions=e,this.customTags=t,this.emptyBlocks=r,this.specs=BJ(this),this.specLookup=_J(this.specs),this.headers={},this.baseSequenceTypes=Qv.usfm.baseSequenceTypes,this.inlineSequenceTypes=Qv.usfm.inlineSequenceTypes,this.setSequences(),this.setCurrent()}setSequences(){this.sequences={};for(const[e,t]of Object.entries({...this.baseSequenceTypes,...this.inlineSequenceTypes}))switch(t){case"1":this.sequences[e]=new gu(e);break;case"?":this.sequences[e]=null;break;case"*":this.sequences[e]=[];break;default:throw new Error(`Unexpected sequence arity '${t}' for '${e}'`)}this.mainLike=this.sequences.main}setCurrent(){this.current={sequence:this.sequences.main,parentSequence:null,baseSequenceType:"main",inlineSequenceType:null,attributeContext:null}}parseItem(e){let t=!1;["startTag"].includes(e.subclass)&&(this.closeActiveScopes(`startTag/${e.fullTagName}`),e.isNested||this.closeActiveScopes("implicitEnd")),["endTag"].includes(e.subclass)&&this.closeActiveScopes(`endTag/${e.fullTagName}`),["startMilestoneTag"].includes(e.subclass)&&e.sOrE==="e"&&this.closeActiveScopes(`endMilestone/${e.tagName}`),["chapter","pubchapter","verses"].includes(e.subclass)&&this.closeActiveScopes(e.subclass,this.sequences.main);const r=this.specForItem(e);r&&("before"in r.parser&&r.parser.before(this,e),t=!1,r.parser.baseSequenceType&&(t=(r.parser.baseSequenceType==="mainLike"?this.mainLike.type:r.parser.baseSequenceType)!==this.current.baseSequenceType||r.parser.forceNewSequence),t?(this.closeActiveScopes("baseSequenceChange"),this.changeBaseSequence(r.parser),"newBlock"in r.parser&&r.parser.newBlock&&(this.closeActiveScopes("endBlock"),this.current.sequence.newBlock(Ff("blockTag",[e.fullTagName])))):r.parser.inlineSequenceType?(this.current.inlineSequenceType=r.parser.inlineSequenceType,this.current.parentSequence=this.current.sequence,this.current.parentSequence.type==="header"&&(this.current.parentSequence=this.sequences.main),this.current.sequence=new gu(this.current.inlineSequenceType),this.current.sequence.newBlock(Ff("inline",r.parser.inlineSequenceType)),this.sequences[this.current.inlineSequenceType].push(this.current.sequence),this.current.parentSequence.addItem({type:"graft",subType:this.current.inlineSequenceType,payload:this.current.sequence.id})):"newBlock"in r.parser&&r.parser.newBlock&&this.current.sequence.newBlock(Ff("blockTag",[e.fullTagName])),"during"in r.parser&&r.parser.during(this,e),this.openNewScopes(r.parser,e),"after"in r.parser&&r.parser.after(this,e))}tidy(){for(const r of this.sequences.introduction)r.graftifyIntroductionHeadings(this);const e=this.allSequences();for(const r of e)r.trim(),r.reorderSpanWithAtts(),r.makeNoteGrafts(this),r.moveOrphanScopes(),r.removeEmptyBlocks(this.emptyBlocks);const t=this.emptySequences(e);for(const r of e)t&&r.removeGraftsToEmptySequences(t),r.addTableScopes(),r.close(this),this.substitutePubNumberScopes(r),r.moveOrphanStartScopes2(),r.type==="sidebar"&&this.substituteEsbCatScopes(r),["footnote","xref"].includes(r.type)&&r.lastBlock().inlineToEnd()}emptySequences(e){return e.filter(t=>t.blocks.length===0).map(t=>t.id)}substitutePubNumberScopes(e){const t={},r=this.sequenceById();for(const n of e.blocks){let u=0;const s=[...n.items];for(const[o,a]of s.entries())if(a.type==="graft"&&["pubNumber","altNumber"].includes(a.subType)){const i=r[a.payload].text().trim(),c=s[o+1].payload.split("/")[1];t[c]=i,n.items.splice(o-u,1),u++}}if(Object.keys(t).length>0)for(const n of e.blocks)for(const u of n.items.filter(s=>s.type==="scope")){const s=u.payload.split("/");["altChapter","pubVerse","altVerse"].includes(s[0])&&(u.payload=`${s[0]}/${t[s[1]]}`)}}substituteEsbCatScopes(e){const t={},r=this.sequenceById();for(const n of e.blocks){let u=0;const s=[...n.items];for(const[o,a]of s.entries())if(a.type==="graft"&&a.subType==="esbCat"){const i=r[a.payload].text().trim(),c=s[1].payload.split("/")[1];t[c]=i,n.items.splice(o-u,1),u++}}if(Object.keys(t).length>0)for(const n of e.blocks)for(const u of n.items.filter(s=>s.type==="scope")){const s=u.payload.split("/");s[0]==="esbCat"&&(u.payload=`${s[0]}/${t[s[1]]}`)}}allSequences(){const e=[];for(const[t,r]of Object.entries({...this.baseSequenceTypes,...this.inlineSequenceTypes}))switch(r){case"1":case"?":this.sequences[t]&&e.push(this.sequences[t]);break;case"*":this.sequences[t].forEach(n=>{e.push(n)});break;default:throw new Error(`Unexpected sequence arity '${r}' for '${t}'`)}return e}sequenceById(){const e={};return this.allSequences().forEach(t=>{e[t.id]=t}),e}filter(){const e=[],t=this.sequenceById();this.filterGrafts(this.sequences.main.id,t,e,this.filterOptions),this.removeUnusedSequences(e),this.filterScopes(Object.values(t),this.filterOptions)}filterGrafts(e,t,r,n){r.push(e);const u=t[e].filterGrafts(n);for(const s of u){if(t[s].type==="main")throw new Error("MAIN is child!",JSON.stringify(t[e],null,2));this.filterGrafts(s,t,r,n)}}removeUnusedSequences(e){for(const t of this.allSequences())if(!e.includes(t.id)){const r={...this.baseSequenceTypes,...this.inlineSequenceTypes}[t.type];switch(r){case"1":throw new Error("Attempting to remove sequence with arity of 1");case"?":this.sequences[t.type]=null;break;case"*":this.sequences[t.type]=this.sequences[t.type].filter(n=>n.id!==t.id);break;default:throw new Error(`Unexpected sequence arity '${r}' for '${t.type}'`)}}}filterScopes(e,t){e.forEach(r=>r.filterScopes(t))}specForItem(e){const t=e.subclass;if(!(t in this.specLookup))return null;for(const r of["tagName","sOrE"])if(r in e&&r in this.specLookup[t]&&e[r]in this.specLookup[t][r])return{parser:this.specLookup[t][r][e[r]]};return"_noAccessor"in this.specLookup[t]?{parser:this.specLookup[t]._noAccessor}:null}closeActiveScopes(e,t){t===void 0&&(t=this.current.sequence);const r=t.activeScopes.filter(n=>n.endedBy.includes(e)).reverse();t.activeScopes=t.activeScopes.filter(n=>!n.endedBy.includes(e)),r.forEach(n=>this.closeActiveScope(n,t))}closeActiveScope(e,t){this.addScope("end",e.label,t),e.onEnd&&e.onEnd(this,e.label)}changeBaseSequence(e){const t=e.baseSequenceType;if(t==="mainLike"){this.current.sequence=this.mainLike;return}this.current.baseSequenceType=t;const r=this.baseSequenceTypes[t];switch(r){case"1":this.current.sequence=this.sequences[t];break;case"?":this.sequences[t]||(this.sequences[t]=new gu(t)),this.current.sequence=this.sequences[t];break;case"*":this.current.sequence=new gu(t),e.useTempSequence||this.sequences[t].push(this.current.sequence);break;default:throw new Error(`Unexpected base sequence arity '${r}' for '${t}'`)}!e.useTempSequence&&this.current.sequence.type!=="main"&&this.mainLike.addBlockGraft({type:"graft",subType:this.current.baseSequenceType,payload:this.current.sequence.id})}returnToBaseSequence(){this.current.inlineSequenceType=null,this.current.sequence=this.current.parentSequence,this.current.parentSequence=null}openNewScopes(e,t){if(e.newScopes){let r=this.current.sequence;"mainSequence"in e&&e.mainSequence&&(r=this.sequences.main),e.newScopes.forEach(n=>this.openNewScope(t,n,!0,r))}}openNewScope(e,t,r,n){r===void 0&&(r=!0),n===void 0&&(n=this.current.sequence),r&&n.addItem({type:"scope",subType:"start",payload:t.label(e)});const u={label:t.label(e),endedBy:this.substituteEndedBys(t.endedBy,e)};"onEnd"in t&&(u.onEnd=t.onEnd),n.activeScopes.push(u)}substituteEndedBys(e,t){return e.map(r=>{let n=r.replace("$fullTagName$",t.fullTagName).replace("$tagName$",t.tagName);return this.current.attributeContext&&(n=n.replace("$attributeContext$",this.current.attributeContext.replace("milestone","endMilestone").replace("spanWithAtts","endTag"))),n})}addToken(e){this.current.sequence.addItem({type:"token",subType:e.subclass,payload:e.printValue})}addScope(e,t,r){r===void 0&&(r=this.current.sequence),r.addItem({type:"scope",subType:e,payload:t})}addEmptyMilestone(e){this.mainLike.addItem({type:"scope",subType:"start",payload:e}),this.mainLike.addItem({type:"scope",subType:"end",payload:e})}setAttributeContext(e){this.current.attributeContext=e}clearAttributeContext(){this.current.attributeContext=null}},$J=[{id:0,type:"Inputs",inputs:{perf:"json"}},{id:1,title:"Generate report",name:"calculateUsfmChapterPositions",type:"Transform",inputs:[{name:"perf",type:"json",source:"Input perf"}],outputs:[{name:"report",type:"json"}],description:"Generate report from perf to calculate the position of the chapters"},{id:2,title:"PERF to USFM",name:"perf2usfm",type:"Transform",inputs:[{name:"perf",type:"json",source:"Input perf"},{name:"report",type:"json",source:"Transform 1 report"}],outputs:[{name:"usfm",type:"text"}],description:"PERF=>USFM: Conversion via Proskomma"},{id:999,type:"Outputs",outputs:[{name:"usfm",type:"text",source:"Transform 2 usfm"}]}],PJ=[{id:0,type:"Inputs",inputs:{perf:"json"}},{id:1,title:"PERF to PkJSON",name:"perf2PkJson",type:"Transform",inputs:[{name:"perf",type:"json",source:"Input perf"}],outputs:[{name:"pkJson",type:"json"}],documentation:"",description:"PERF=>JSON: Converts PERF to current Proskomma input format"},{id:999,type:"Outputs",outputs:[{name:"pkJson",type:"json",source:"Transform 1 pkJson"}]}],I7={perf2usfmPipeline:$J,perf2PkJsonPipeline:PJ},eg=e=>({type:e.sequences[0].block.type,subType:e.sequences[0].block.subType,pos:e.sequences[0].block.blockN,perfChapter:null}),kJ={startDocument:[{description:"Set up storage",test:()=>!0,action:({workspace:e,output:t})=>{e.blockRecords=[],t.report={}}}],startParagraph:[{description:"Set up block record",test:()=>!0,action:({context:e,workspace:t})=>{t.blockRecords.push(eg(e))}}],blockGraft:[{description:"Set up block record",test:()=>!0,action:({context:e,workspace:t})=>{t.blockRecords.push(eg(e))}}],mark:[{description:"Add chapter number to block record",test:({context:e})=>e.sequences[0].element.subType==="chapter",action:({context:e,workspace:t})=>{t.blockRecords[t.blockRecords.length-1].perfChapter=e.sequences[0].element.atts.number}}],endDocument:[{description:"Populate report",test:()=>!0,action:({workspace:e,output:t})=>{for(const[r,n]of Object.entries(e.blockRecords)){if(!n.perfChapter)continue;let u=r,s=!1;for(;u>0&&!s;)e.blockRecords[u-1].type==="paragraph"||e.blockRecords[u-1].subType==="title"?s=!0:u--;t.report[u.toString()]=n.perfChapter}}}]},OJ=function({perf:e}){const t=new vu.PerfRenderFromJson({srcJson:e,actions:kJ}),r={};return t.renderDocument({docId:"",config:{maxLength:60},output:r}),{report:r.report}},IJ={name:"calculateUsfmChapterPositions",type:"Transform",description:"PERF=>JSON: Generates positions for inserting chapter numbers into USFM",inputs:[{name:"perf",type:"json",source:""}],outputs:[{name:"report",type:"json"}],code:OJ},_r=e=>["toc","toca","mt","imt","s","ms","mte","sd"].includes(e)?e+"1":e,NJ=(e,t)=>{let r=`\\${t}-s |`;for(let[n,u]of Object.entries(e))n==="x-morph"?r=r+_r(n)+'="'+u.join(",")+'" ':r=r+_r(n)+'="'+u+'" ';return r+"\\*"},qJ=(e,t,r=!1)=>{let n="|";for(let[u,s]of Object.entries(e))n=n+_r(u)+'="'+s+'" ';return n=n+"\\",r&&(n=n+"+"),n+t+"*"},xJ={startDocument:[{description:"Set up environment",test:()=>!0,action:({context:e,workspace:t})=>{t.usfmBits=[""],t.nestedWrapper=0;for(let[r,n]of Object.entries(e.document.metadata.document).filter(u=>!["tags","properties","bookCode","cl"].includes(u[0])))t.usfmBits.push(`\\${_r(r)} ${n} +`?(w.line++,w.column=0):w.column++);w.textNode+=b.substring(M,I-1)}$==="<"&&!(w.sawRoot&&w.closedRoot&&!w.strict)?(w.state=q.OPEN_WAKA,w.startTagPosition=w.position):(!B($)&&(!w.sawRoot||w.closedRoot)&&fe(w,"Text data outside of root node."),$==="&"?w.state=q.TEXT_ENTITY:w.textNode+=$);continue;case q.SCRIPT:$==="<"?w.state=q.SCRIPT_ENDING:w.script+=$;continue;case q.SCRIPT_ENDING:$==="/"?w.state=q.CLOSE_TAG:(w.script+="<"+$,w.state=q.SCRIPT);continue;case q.OPEN_WAKA:if($==="!")w.state=q.SGML_DECL,w.sgmlDecl="";else if(!B($))if(R(A,$))w.state=q.OPEN_TAG,w.tagName=$;else if($==="/")w.state=q.CLOSE_TAG,w.tagName="";else if($==="?")w.state=q.PROC_INST,w.procInstName=w.procInstBody="";else{if(fe(w,"Unencoded <"),w.startTagPosition+1"?(K(w,"onsgmldeclaration",w.sgmlDecl),w.sgmlDecl="",w.state=q.TEXT):(T($)&&(w.state=q.SGML_DECL_QUOTED),w.sgmlDecl+=$);continue;case q.SGML_DECL_QUOTED:$===w.q&&(w.state=q.SGML_DECL,w.q=""),w.sgmlDecl+=$;continue;case q.DOCTYPE:$===">"?(w.state=q.TEXT,K(w,"ondoctype",w.doctype),w.doctype=!0):(w.doctype+=$,$==="["?w.state=q.DOCTYPE_DTD:T($)&&(w.state=q.DOCTYPE_QUOTED,w.q=$));continue;case q.DOCTYPE_QUOTED:w.doctype+=$,$===w.q&&(w.q="",w.state=q.DOCTYPE);continue;case q.DOCTYPE_DTD:w.doctype+=$,$==="]"?w.state=q.DOCTYPE:T($)&&(w.state=q.DOCTYPE_DTD_QUOTED,w.q=$);continue;case q.DOCTYPE_DTD_QUOTED:w.doctype+=$,$===w.q&&(w.state=q.DOCTYPE_DTD,w.q="");continue;case q.COMMENT:$==="-"?w.state=q.COMMENT_ENDING:w.comment+=$;continue;case q.COMMENT_ENDING:$==="-"?(w.state=q.COMMENT_ENDED,w.comment=oe(w.opt,w.comment),w.comment&&K(w,"oncomment",w.comment),w.comment=""):(w.comment+="-"+$,w.state=q.COMMENT);continue;case q.COMMENT_ENDED:$!==">"?(fe(w,"Malformed comment"),w.comment+="--"+$,w.state=q.COMMENT):w.state=q.TEXT;continue;case q.CDATA:$==="]"?w.state=q.CDATA_ENDING:w.cdata+=$;continue;case q.CDATA_ENDING:$==="]"?w.state=q.CDATA_ENDING_2:(w.cdata+="]"+$,w.state=q.CDATA);continue;case q.CDATA_ENDING_2:$===">"?(w.cdata&&K(w,"oncdata",w.cdata),K(w,"onclosecdata"),w.cdata="",w.state=q.TEXT):$==="]"?w.cdata+="]":(w.cdata+="]]"+$,w.state=q.CDATA);continue;case q.PROC_INST:$==="?"?w.state=q.PROC_INST_ENDING:B($)?w.state=q.PROC_INST_BODY:w.procInstName+=$;continue;case q.PROC_INST_BODY:if(!w.procInstBody&&B($))continue;$==="?"?w.state=q.PROC_INST_ENDING:w.procInstBody+=$;continue;case q.PROC_INST_ENDING:$===">"?(K(w,"onprocessinginstruction",{name:w.procInstName,body:w.procInstBody}),w.procInstName=w.procInstBody="",w.state=q.TEXT):(w.procInstBody+="?"+$,w.state=q.PROC_INST_BODY);continue;case q.OPEN_TAG:R(m,$)?w.tagName+=$:(ge(w),$===">"?O(w):$==="/"?w.state=q.OPEN_TAG_SLASH:(B($)||fe(w,"Invalid character in tag name"),w.state=q.ATTRIB));continue;case q.OPEN_TAG_SLASH:$===">"?(O(w,!0),E(w)):(fe(w,"Forward-slash in opening tag not followed by >"),w.state=q.ATTRIB);continue;case q.ATTRIB:if(B($))continue;$===">"?O(w):$==="/"?w.state=q.OPEN_TAG_SLASH:R(A,$)?(w.attribName=$,w.attribValue="",w.state=q.ATTRIB_NAME):fe(w,"Invalid attribute name");continue;case q.ATTRIB_NAME:$==="="?w.state=q.ATTRIB_VALUE:$===">"?(fe(w,"Attribute without value"),w.attribValue=w.attribName,z(w),O(w)):B($)?w.state=q.ATTRIB_NAME_SAW_WHITE:R(m,$)?w.attribName+=$:fe(w,"Invalid attribute name");continue;case q.ATTRIB_NAME_SAW_WHITE:if($==="=")w.state=q.ATTRIB_VALUE;else{if(B($))continue;fe(w,"Attribute without value"),w.tag.attributes[w.attribName]="",w.attribValue="",K(w,"onattribute",{name:w.attribName,value:""}),w.attribName="",$===">"?O(w):R(A,$)?(w.attribName=$,w.state=q.ATTRIB_NAME):(fe(w,"Invalid attribute name"),w.state=q.ATTRIB)}continue;case q.ATTRIB_VALUE:if(B($))continue;T($)?(w.q=$,w.state=q.ATTRIB_VALUE_QUOTED):(fe(w,"Unquoted attribute value"),w.state=q.ATTRIB_VALUE_UNQUOTED,w.attribValue=$);continue;case q.ATTRIB_VALUE_QUOTED:if($!==w.q){$==="&"?w.state=q.ATTRIB_VALUE_ENTITY_Q:w.attribValue+=$;continue}z(w),w.q="",w.state=q.ATTRIB_VALUE_CLOSED;continue;case q.ATTRIB_VALUE_CLOSED:B($)?w.state=q.ATTRIB:$===">"?O(w):$==="/"?w.state=q.OPEN_TAG_SLASH:R(A,$)?(fe(w,"No whitespace between attributes"),w.attribName=$,w.attribValue="",w.state=q.ATTRIB_NAME):fe(w,"Invalid attribute name");continue;case q.ATTRIB_VALUE_UNQUOTED:if(!N($)){$==="&"?w.state=q.ATTRIB_VALUE_ENTITY_U:w.attribValue+=$;continue}z(w),$===">"?O(w):w.state=q.ATTRIB;continue;case q.CLOSE_TAG:if(w.tagName)$===">"?E(w):R(m,$)?w.tagName+=$:w.script?(w.script+=""?E(w):fe(w,"Invalid characters in closing tag");continue;case q.TEXT_ENTITY:case q.ATTRIB_VALUE_ENTITY_Q:case q.ATTRIB_VALUE_ENTITY_U:var Y,be;switch(w.state){case q.TEXT_ENTITY:Y=q.TEXT,be="textNode";break;case q.ATTRIB_VALUE_ENTITY_Q:Y=q.ATTRIB_VALUE_QUOTED,be="attribValue";break;case q.ATTRIB_VALUE_ENTITY_U:Y=q.ATTRIB_VALUE_UNQUOTED,be="attribValue";break}$===";"?(w[be]+=F(w),w.entity="",w.state=Y):R(w.entity.length?C:v,$)?w.entity+=$:(fe(w,"Invalid character in entity name"),w[be]+="&"+w.entity+$,w.entity="",w.state=Y);continue;default:throw new Error(w,"Unknown state: "+w.state)}return w.position>=w.bufferCheckPosition&&u(w),w}/*! http://mths.be/fromcodepoint v0.1.0 by @mathias */String.fromCodePoint||function(){var b=String.fromCharCode,w=Math.floor,I=function(){var $=16384,M=[],L,Y,be=-1,Ne=arguments.length;if(!Ne)return"";for(var Ve="";++be1114111||w(Me)!==Me)throw RangeError("Invalid code point: "+Me);Me<=65535?M.push(Me):(Me-=65536,L=(Me>>10)+55296,Y=Me%1024+56320,M.push(L,Y)),(be+1===Ne||M.length>$)&&(Ve+=b.apply(null,M),M.length=0)}return Ve};Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:I,configurable:!0,writable:!0}):String.fromCodePoint=I}()})(e)})(P7);class hJ{constructor(){this.sax=P7.parser(!0),this.sax.ontext=t=>this.handleSaxText(t),this.sax.onopentag=t=>this.handleSaxOpenTag(t),this.sax.onclosetag=t=>this.handleSaxCloseTag(t),this.lexed=[],this.elementStack=[],this.currentText="",this.openTagHandlers={usx:this.ignoreHandler,book:this.handleBookOpen,chapter:this.handleChapter,verse:this.handleVerses,para:this.handleParaOpen,table:this.ignoreHandler,row:this.handleRowOpen,cell:this.handleCellOpen,char:this.handleCharOpen,ms:this.handleMSOpen,note:this.handleNoteOpen,sidebar:this.handleSidebarOpen,periph:this.notHandledHandler,figure:this.handleFigureOpen,optbreak:this.handleOptBreakOpen,ref:this.ignoreHandler},this.closeTagHandlers={usx:this.ignoreHandler,book:this.handleBookClose,chapter:this.ignoreHandler,verse:this.ignoreHandler,para:this.handleParaClose,table:this.ignoreHandler,row:this.handleRowClose,cell:this.handleCellClose,char:this.handleCharClose,ms:this.handleMSClose,note:this.handleNoteClose,sidebar:this.handleSidebarClose,periph:this.notHandledHandler,figure:this.handleFigureClose,optbreak:this.handleOptBreakClose,ref:this.ignoreHandler}}lexAndParse(t,r){this.parser=r,this.lexed=[],this.elementStack=[],this.sax.write(t).close()}handleSaxText(t){this.currentText=this.replaceEntities(t),Z.match(this.currentText,T7,"all").map(r=>$7(r,ds)).forEach(r=>this.parser.parseItem(r))}replaceEntities(t){return t.replace("<","<").replace(">",">").replace("'","'").replace(""",'"').replace("&","&")}handleSaxOpenTag(t){const r=t.name,n=t.attributes;if(r in this.openTagHandlers)this.openTagHandlers[r](this,"open",r,n);else throw new Error(`Unexpected open element tag '${r}' in UsxParser`)}handleSaxCloseTag(t){this.closeTagHandlers[t](this,"close",t)}notHandledHandler(t,r,n){console.error(`WARNING: ${r} element tag '${n}' is not handled by UsxParser`)}stackPush(t,r){this.elementStack.push([t,r])}stackPop(){return this.elementStack.pop()}splitTagNumber(t){const r=Z.exec(t,Z("([^1-9]+)(.*)")),n=r[1],u=r[2].length>0?r[2]:"1";return[n,u]}ignoreHandler(t,r,n){}handleParaOpen(t,r,n,u){t.currentText="";const[s,o]=t.splitTagNumber(u.style);["cp"].includes(s)||t.parser.parseItem(Ge.tag("startTag",[null,null,s,o])),t.stackPush(n,u)}handleParaClose(t){const r=t.stackPop()[1],[n,u]=t.splitTagNumber(r.style);["cp"].includes(n)?t.parser.parseItem(Ge.pubchapter("pubchapter",[null,null,t.currentText])):t.parser.parseItem(Ge.tag("endTag",[null,null,n,u])),t.currentText=""}handleCharOpen(t,r,n,u){const[s,o]=t.splitTagNumber(u.style);t.parser.parseItem(Ge.tag("startTag",[null,null,`+${s}`,o]));const a=["sid","eid","style","srcloc","link-href","link-title","link-id","closed"];for(const[i,c]of Object.entries(u))a.includes(i)||t.parser.parseItem(Ge.attribute("attribute",[null,null,i,c]));t.stackPush(n,u)}handleCharClose(t){const r=t.stackPop()[1],[n,u]=t.splitTagNumber(r.style);t.parser.parseItem(Ge.tag("endTag",[null,null,`+${n}`,u]))}handleRefOpen(t){t.parser.parseItem(Ge.tag("startTag",[null,null,"xt",""]))}handleRefClose(t){t.parser.parseItem(Ge.tag("endTag",[null,null,"xt",""]))}handleRowOpen(t,r,n,u){const[s,o]=t.splitTagNumber(u.style);t.parser.parseItem(Ge.tag("startTag",[null,null,s,o])),t.stackPush(n,u)}handleRowClose(t){const r=t.stackPop()[1],[n,u]=t.splitTagNumber(r.style);t.parser.parseItem(Ge.tag("endTag",[null,null,n,u]))}handleCellOpen(t,r,n,u){const[s,o]=t.splitTagNumber(u.style);t.parser.parseItem(Ge.tag("startTag",[null,null,s,o])),t.stackPush(n,u)}handleCellClose(t){const r=t.stackPop()[1],[n,u]=t.splitTagNumber(r.style);t.parser.parseItem(Ge.tag("endTag",[null,null,n,u]))}handleBookOpen(t,r,n,u){t.parser.parseItem(Ge.tag("startTag",[null,null,"id",""])),t.parser.parseItem(Ge.printable("wordLike",[u.code])),t.parser.parseItem(Ge.printable("lineSpace",[" "])),t.stackPush(n,u)}handleBookClose(t){t.stackPop(),t.parser.parseItem(Ge.tag("endTag",[null,null,"id",""]))}handleChapter(t,r,n,u){u.number&&(t.parser.parseItem(Ge.chapter("chapter",[null,null,u.number])),u.pubnumber&&t.parser.parseItem(Ge.pubchapter("pubchapter",[null,null,u.pubnumber])),u.altnumber&&(t.parser.parseItem(Ge.tag("startTag",[null,null,"+ca",""])),t.parser.parseItem(Ge.printable("wordLike",[u.altnumber])),t.parser.parseItem(Ge.tag("endTag",[null,null,"+ca",""]))))}handleVerses(t,r,n,u){u.number&&(t.parser.parseItem(Ge.verses("verses",[null,null,u.number])),u.pubnumber&&(t.parser.parseItem(Ge.tag("startTag",[null,null,"+vp",""])),t.parser.parseItem(Ge.printable("wordLike",[u.pubnumber])),t.parser.parseItem(Ge.tag("endTag",[null,null,"+vp",""]))),u.altnumber&&(t.parser.parseItem(Ge.tag("startTag",[null,null,"+va",""])),t.parser.parseItem(Ge.printable("wordLike",[u.altnumber])),t.parser.parseItem(Ge.tag("endTag",[null,null,"+va",""]))))}handleNoteOpen(t,r,n,u){t.parser.parseItem(Ge.tag("startTag",[null,null,u.style,""])),t.parser.parseItem(Ge.printable("punctuation",[u.caller])),t.stackPush(n,u)}handleNoteClose(t){const r=t.stackPop()[1];t.parser.parseItem(Ge.tag("endTag",[null,null,r.style,""]))}handleSidebarOpen(t,r,n,u){t.parser.parseItem(Ge.tag("startTag",[null,null,"esb",""])),"category"in u&&(t.parser.parseItem(Ge.tag("startTag",[null,null,"cat",""])),t.parser.parseItem(Ge.printable("wordLike",[u.category])),t.parser.parseItem(Ge.tag("endTag",[null,null,"cat",""]))),t.stackPush(n,u)}handleSidebarClose(t){t.stackPop(),t.parser.parseItem(Ge.tag("startTag",[null,null,"esbe",""]))}handleMSOpen(t,r,n,u){let s=Z.exec(u.style,Z("(([a-z1-9]+)-([se]))"));if(s){const o=Ge.milestone("startMilestoneTag",[null,null,s[2],s[3]]);t.parser.parseItem(o);const a=["sid","eid","style","srcloc","link-href","link-title","link-id"];for(const[i,c]of Object.entries(u))a.includes(i)||t.parser.parseItem(Ge.attribute("attribute",[null,null,i,c]));t.parser.parseItem(Ge.milestone("endMilestoneMarker"))}else{const o=Ge.milestone("emptyMilestone",[null,null,u.style,""]);t.parser.parseItem(o)}t.stackPush(n,u)}handleMSClose(t){t.stackPop()}handleFigureOpen(t,r,n,u){t.parser.parseItem(Ge.tag("startTag",[null,null,"+fig",""]));for(const[s,o]of Object.entries(u)){if(s==="style")continue;const a=s==="file"?"src":s;t.parser.parseItem(Ge.attribute("attribute",[null,null,a,o]))}t.stackPush(n,u)}handleFigureClose(t){t.stackPop()[1],t.parser.parseItem(Ge.tag("endTag",[null,null,"+fig",""]))}handleOptBreakOpen(t,r,n,u){t.parser.parseItem(Ge.printable("softLineBreak",["//"])),t.stackPush(n,u)}handleOptBreakClose(t){t.stackPop()}}const mJ=(e,t)=>{new hJ().lexAndParse(e,t)},Bo=ye.ByteArray,{pushSuccinctGraftBytes:EJ,pushSuccinctScopeBytes:yJ,pushSuccinctTokenBytes:vJ}=ye.succinct,{addTag:gJ}=ye.tags,{labelForScope:gf}=ye.scopeDefs,{itemEnum:AJ}=ye.itemDefs,{scopeEnum:FJ}=ye.scopeDefs,{tokenCategory:CJ,tokenEnum:bJ}=ye.tokenDefs,gu=class{constructor(e){this.id=ye.generateId(),this.type=e,this.tags=new Set([]),this.blocks=[],this.activeScopes=[]}addTag(e){gJ(this.tags,e)}plainText(){return this.blocks.map(e=>e.plainText()).join("").trim()}addItem(e){this.lastBlock().addItem(e)}addBlockGraft(e){this.newBlock("hangingGraft"),this.lastBlock().bg.push(e)}lastBlock(){return this.blocks.length===0&&this.newBlock("orphanTokens"),this.blocks[this.blocks.length-1]}newBlock(e){this.blocks.length>0&&["orphanTokens","hangingGraft"].includes(this.blocks[this.blocks.length-1].bs.payload)?this.lastBlock().bs={type:"scope",subType:"start",payload:e}:this.blocks.push(new SJ(e))}trim(){this.blocks.forEach(e=>e.trim())}reorderSpanWithAtts(){this.blocks.forEach(e=>e.reorderSpanWithAtts())}makeNoteGrafts(e){this.blocks.forEach(t=>t.makeNoteGrafts(e))}close(e){for(const t of this.activeScopes.filter(()=>!0).reverse())this.closeActiveScope(e,t);this.activeScopes=[]}closeActiveScope(e,t){this.addItem({type:"scope",subType:"end",payload:t.label}),t.onEnd&&t.onEnd(e,t.label)}filterGrafts(e){return this.blocks.map(t=>t.filterGrafts(e)).reduce((t,r)=>t.concat(r),[])}filterScopes(e){this.blocks.forEach(t=>t.filterScopes(e))}text(){return this.blocks.map(e=>e.text()).join("")}addTableScopes(){let e=!1;for(const[t,r]of this.blocks.entries())!e&&r.bs.payload==="blockTag/tr"?(e=!0,this.blocks[t].items.unshift({type:"scope",subType:"start",payload:gf("table",[])})):e&&r.bs.payload!=="blockTag/tr"&&(e=!1,this.blocks[t-1].items.push({type:"scope",subType:"end",payload:gf("table",[])}));e&&this.lastBlock().items.push({type:"scope",subType:"end",payload:gf("table",[])})}graftifyIntroductionHeadings(e){let t=[...this.blocks.entries()];t.reverse();const r=["iot","is"].concat(e.customTags.introHeading);for(const[n,u]of t){const s=u.bs.payload.split("/")[1].replace(/[0-9]/g,"");if(r.includes(s)){const o=new gu("heading");e.sequences.heading.push(o),o.blocks.push(u);const a={type:"graft",subType:"heading",payload:o.id};this.blocks.length1&&(this.moveOrphanStartScopes(),this.moveOrphanEndScopes())}moveOrphanStartScopes(){for(const[e,t]of this.blocks.entries())if(!(e>=this.blocks.length-1))for(const r of[...t.items].reverse()){if(r.subType!=="start"||r.payload.startsWith("altChapter"))break;this.blocks[e+1].items.unshift(this.blocks[e].items.pop())}}moveOrphanStartScopes2(){for(const[e,t]of this.blocks.entries())if(!(e>=this.blocks.length-1))for(const r of[...t.items].reverse()){if(r.subType!=="start")break;this.blocks[e+1].items.unshift(this.blocks[e].items.pop())}}moveOrphanEndScopes(){for(const[e,t]of this.blocks.entries())if(e!==0)for(const r of[...t.items]){if(r.subType!=="end")break;this.blocks[e-1].items.push(this.blocks[e].items.shift())}}removeEmptyBlocks(e){const t=["blockTag/b","blockTag/ib"].concat(e),r=[];let n=!1;const u=s=>{const o=s.filter(i=>i.type==="scope"&&i.payload.startsWith("milestone")),a=new Set([]);for(const i of o)if(i.subType==="start")a.add(i.payload);else if(a.has(i.payload))return!0;return!1};for(const s of this.blocks.entries())s[1].tokens().length===0&&!u(s[1].items)&&!t.includes(s[1].bs.payload)&&r.push(s);for(const[s,o]of r.reverse())if(st.removeGraftsToEmptySequences(e))}succinctifyBlocks(e){const t=[];let r=[];const n=s=>{s.subType==="start"?r.filter(a=>a.payload===s.payload).length===0&&r.push(s):r=r.filter(o=>o.payload!==s.payload)};let u=0;for(const s of this.blocks){const o=new Bo(s.length),a=new Bo(1),i=new Bo(1),c=new Bo(1),l=new Bo(1);l.pushNByte(u);for(const f of s.bg)this.pushSuccinctGraft(a,e,f);for(const f of r)this.pushSuccinctScope(i,e,f);const p=[];for(const f of s.items)switch(f.type){case"token":this.pushSuccinctToken(o,e,f),f.subType==="wordLike"&&u++;break;case"graft":this.pushSuccinctGraft(o,e,f);break;case"scope":this.pushSuccinctScope(o,e,f),n(f),f.subType==="start"&&p.push(f);break;default:throw new Error(`Item type ${f.type} is not handled in succinctifyBlocks`)}const d=new Bo(10);this.pushSuccinctScope(d,e,s.bs);for(const f of p)this.pushSuccinctScope(c,e,f);o.trim(),a.trim(),d.trim(),i.trim(),c.trim(),t.push({c:o,bs:d,bg:a,os:i,is:c,nt:l})}return t}pushSuccinctToken(e,t,r){const n=t.enumForCategoryValue(CJ[r.subType],r.payload);vJ(e,bJ[r.subType],n)}pushSuccinctGraft(e,t,r){const n=t.enumForCategoryValue("graftTypes",r.subType),u=t.enumForCategoryValue("ids",r.payload);EJ(e,n,u)}pushSuccinctScope(e,t,r){const n=r.payload.split("/"),u=FJ[n[0]],s=n.slice(1).map(o=>t.enumForCategoryValue("scopeBits",o));yJ(e,AJ[`${r.subType}Scope`],u,s)}},SJ=class{constructor(e){this.id=ye.generateId(),this.items=[],this.bg=[],this.bs={type:"scope",subType:"start",payload:e},this.os=[]}addItem(e){this.items.push(e)}plainText(){return this.items.filter(e=>e.type==="token").map(e=>e.payload).join("")}trim(){this.items=this.trimEnd(this.trimStart(this.items))}reorderSpanWithAtts(){const e=[];for(const[t,r]of this.items.entries())r.subType==="start"&&r.payload.startsWith("spanWithAtts")&&e.push(t+1);for(const t of e){let r=t,n=[],u=[];for(;!(r>=this.items.length);){const s=this.items[r];if(s.type==="token")n.push(s);else if(s.subType==="start"&&s.payload.startsWith("attribute/spanWithAtts"))u.push(s);else break;r++}if(n.length!==0&&u.length!==0){let s=t;for(const o of u)this.items[s]=o,s++;for(const o of n)this.items[s]=o,s++}}}inlineToEnd(){let e=null;for(const[t,r]of this.items.entries())if(r.subType==="end"&&["inline/f","inline/fe","inline/x"].includes(r.payload)){e=r,this.items.splice(t,1);break}e&&this.addItem(e)}makeNoteGrafts(e){const t=[];for(const[r,n]of this.items.entries())n.subType==="start"&&(n.payload.startsWith("inline/f")||n.payload.startsWith("inline/x"))&&t.push(r);for(const r of t){const n=this.items[r].payload,u=this.items[r+1];if(u.type==="token"&&u.payload.length===1){const s=new gu("noteCaller");s.newBlock(n),s.addItem(u),e.sequences.noteCaller.push(s),this.items[r+1]={type:"graft",subType:"noteCaller",payload:s.id}}}}trimStart(e){if(e.length===0)return e;const t=e[0];return["lineSpace","eol"].includes(t.subType)?this.trimStart(e.slice(1)):t.type==="token"?e:[t,...this.trimStart(e.slice(1))]}trimEnd(e){if(e.length===0)return e;const t=e[e.length-1];return["lineSpace","eol"].includes(t.subType)?this.trimEnd(e.slice(0,e.length-1)):t.type==="token"?e:[...this.trimEnd(e.slice(0,e.length-1)),t]}filterGrafts(e){const t=[];let r=[];for(const[n,u]of this.grafts())this.graftPassesOptions(u,e)?t.push(u.payload):r.push(n);for(const[n,u]of Array.from(r.entries()))this.items.splice(u-n,1);r=[];for(const[n,u]of this.bg.entries())this.graftPassesOptions(u,e)?t.push(u.payload):r.push(n);for(const[n,u]of Array.from(r.entries()))this.bg.splice(u-n,1);return t}filterScopes(e){const t=[];for(const[r,n]of this.scopes())this.scopePassesOptions(n,e)||t.push(r);for(const[r,n]of Array.from(t.entries()))this.items.splice(n-r,1)}graftPassesOptions(e,t){return(!("includeGrafts"in t)||t.includeGrafts.includes(e.subType))&&(!("excludeGrafts"in t)||!t.excludeGrafts.includes(e.subType))}scopePassesOptions(e,t){return(!("includeScopes"in t)||this.scopeMatchesOptionArray(e.payload,t.includeScopes))&&(!("excludeScopes"in t)||!this.scopeMatchesOptionArray(e.payload,t.excludeScopes))}scopeMatchesOptionArray(e,t){for(const r of t)if(e.startsWith(r))return!0;return!1}removeGraftsToEmptySequences(e){const t=[];let r=[];for(const[n,u]of this.grafts())e.includes(u.payload)&&r.push(n);for(const[n,u]of Array.from(r.entries()))this.items.splice(u-n,1);r=[];for(const[n,u]of this.bg.entries())e.includes(u.payload)&&r.push(n);for(const[n,u]of Array.from(r.entries()))this.bg.splice(u-n,1);return t}grafts(){return Array.from(this.items.entries()).filter(e=>e[1].type==="graft")}scopes(){return Array.from(this.items.entries()).filter(e=>e[1].type==="scope")}tokens(){return Array.from(this.items.entries()).filter(e=>!["scope","graft"].includes(e[1].type))}text(){return this.tokens().map(e=>e[1].payload).join("")}},ci={},k7=[];for(const e of ds)["wordLike","eol","lineSpace","punctuation","unknown"].includes(e[1])&&(ci[e[1]]=Z(`^${e[2].xregexp.source}$`),k7.push(e[2]));const O7=e=>{const t=Z.union(k7),r=[];for(const n of Z.match(e,t,"all")){let u;Z.test(n,ci.wordLike)?u="wordLike":Z.test(n,ci.punctuation)?u="punctuation":Z.test(n,ci.lineSpace)?u="lineSpace":Z.test(n,ci.eol)?u="eol":u="unknown",r.push([n,u])}return r},{labelForScope:wJ}=ye.scopeDefs,_J=(e,t,r)=>{const{rows:n}=JSON.parse(e);t.headers.id=r,t.headers.bookCode=r;const u=new gu("table");for(const[s,o]of n.entries())for(const[a,i]of o.entries()){u.newBlock(wJ("tTableRow",[`${s}`]));const c=u.lastBlock();c.addItem({type:"scope",subType:"start",payload:`tTableCol/${a}`});for(const[l,p]of O7(i))c.addItem({type:"token",subType:p,payload:l});c.addItem({type:"scope",subType:"end",payload:`tTableCol/${a}`})}t.sequences.table.push(u),t.sequences.main.addBlockGraft({type:"graft",subType:"table",payload:u.id})},{labelForScope:Yc}=ye.scopeDefs;let Af=0;const I7=(e,t)=>{typeof t!="number"&&(Af=0);const r={...e,id:Af,parentId:typeof t=="number"?t:"none"};return Af++,e.children&&(r.children=e.children.map(n=>I7(n,r.id))),r},N7=e=>{const t=[{}];if(t[0].id=e.id,t[0].parentId=e.parentId,e.content&&(t[0].content=e.content),e.children){t[0].children=[];for(const r of e.children)t[0].children.push(r.id),N7(r).forEach(n=>t.push(n))}return t},BJ=(e,t,r)=>{t.headers.id=r,t.headers.bookCode=r;const n=new gu("tree");for(const u of N7(I7(JSON.parse(e)))){n.newBlock(Yc("tTreeNode",[`${u.id}`]));const s=Yc("tTreeParent",[`${u.parentId}`]);if(n.lastBlock().items.push({type:"scope",subType:"start",payload:s}),u.content)for(const[o,a]of Object.entries(u.content)){const i=n.lastBlock().items.length,c=O7(a),l=Yc("tTreeContent",[o,u.id,`${i}`,`${c.length}`]);n.lastBlock().items.push({type:"scope",subType:"start",payload:l});for(const[p,d]of c)n.lastBlock().items.push({type:"token",subType:d,payload:p});n.lastBlock().items.push({type:"scope",subType:"end",payload:l})}if(u.children)for(const[o,a]of u.children.entries()){const i=Yc("tTreeChild",[o,a]);n.lastBlock().items.push({type:"scope",subType:"start",payload:i}),n.lastBlock().items.push({type:"scope",subType:"end",payload:i})}n.lastBlock().items.push({type:"scope",subType:"end",payload:s})}t.sequences.tree.push(n),t.sequences.main.addBlockGraft({type:"graft",subType:"tree",payload:n.id})},{labelForScope:Bt}=ye.scopeDefs,TJ=e=>{const t={};for(const r of e)for(const n of r.contexts){n[0]in t||(t[n[0]]={});const u=n[1];if(!u)t[n[0]]._noAccessor=r.parser;else{u in t[n[0]]||(t[n[0]][u]={});for(const s of n[2])t[n[0]][u][s]=r.parser}}return t},$J=e=>[{contexts:[["startTag","tagName",["id","usfm","ide","sts","h","toc","toca","cl"]]],parser:{baseSequenceType:"header",forceNewSequence:!0,newBlock:!0,useTempSequence:!0,newScopes:[{label:t=>t.fullTagName,endedBy:["baseSequenceChange"],onEnd:(t,r)=>{if(t.headers[r]=t.current.sequence.plainText(),r==="id"&&(t.headers[r].length===3||t.headers[r].length>3&&t.headers[r].substring(3,4)===" ")){const n=t.headers[r].substring(0,3);t.headers.bookCode=n}}}]}},{contexts:[["startTag","tagName",["ms","mr","s","sr","r","qa","sp","sd"].concat(e.customTags.heading)]],parser:{baseSequenceType:"heading",forceNewSequence:!0,newBlock:!0,newScopes:[]}},{contexts:[["startTag","tagName",["mt"]]],parser:{baseSequenceType:"title",newBlock:!0,newScopes:[]}},{contexts:[["startTag","tagName",["mte"]]],parser:{baseSequenceType:"endTitle",newBlock:!0,newScopes:[]}},{contexts:[["startTag","tagName",["imt","is","ip","ipi","im","imi","ipq","imq","ipr","iq","ib","ili","iot","io","iex","imte"].concat(e.customTags.intro)]],parser:{baseSequenceType:"introduction",newBlock:!0,newScopes:[]}},{contexts:[["startTag","tagName",["esb"]]],parser:{baseSequenceType:"sidebar",newBlock:!0,newScopes:[],after:t=>{t.mainLike=t.current.sequence}}},{contexts:[["startTag","tagName",["esbe"]]],parser:{baseSequenceType:"main",newBlock:!0,newScopes:[],after:t=>{t.mainLike=t.sequences.main}}},{contexts:[["startTag","tagName",["cat"]]],parser:{inlineSequenceType:"esbCat",forceNewSequence:!0,newScopes:[{label:t=>Bt("inline",[t.fullTagName]),endedBy:["endTag/cat","endBlock","implicitEnd"],onEnd:t=>t.returnToBaseSequence()}],during:(t,r)=>{const n=ye.generateId(),u={label:()=>Bt("esbCat",[n]),endedBy:["startTag/esbe"]};t.openNewScope(r,u,!0,t.mainLike)}}},{contexts:[["startTag","tagName",["rem"]]],parser:{baseSequenceType:"remark",forceNewSequence:!0,newScopes:[]}},{contexts:[["startTag","tagName",["cd","p","m","po","pr","cls","pmo","pm","pmc","pmr","pi","mi","nb","pc","ph","b","q","qr","qc","qa","qm","qd","lh","li","lf","lim","d"].concat(e.customTags.paragraph)]],parser:{baseSequenceType:"mainLike",newBlock:!0,newScopes:[]}},{contexts:[["startTag","tagName",["tr"]]],parser:{newBlock:!0,newScopes:[]}},{contexts:[["startTag","tagName",["f","fe"]]],parser:{inlineSequenceType:"footnote",forceNewSequence:!0,newScopes:[{label:t=>Bt("inline",[t.fullTagName]),endedBy:["endTag/f","endTag/fe","endBlock"],onEnd:t=>t.returnToBaseSequence()}]}},{contexts:[["startTag","tagName",["x"]]],parser:{inlineSequenceType:"xref",forceNewSequence:!0,newScopes:[{label:t=>Bt("inline",[t.fullTagName]),endedBy:["endTag/x","endBlock"],onEnd:t=>t.returnToBaseSequence()}]}},{contexts:[["startTag","tagName",["fig"]]],parser:{inlineSequenceType:"fig",forceNewSequence:!0,newScopes:[{label:t=>Bt("spanWithAtts",[t.tagName]),endedBy:["endBlock","endTag/$tagName$"],onEnd:t=>t.clearAttributeContext()}],during:(t,r)=>{t.setAttributeContext(Bt("spanWithAtts",[r.tagName]))}}},{contexts:[["chapter"]],parser:{mainSequence:!0,newScopes:[{label:t=>Bt("chapter",[t.number]),endedBy:["chapter"]}]}},{contexts:[["pubchapter"]],parser:{mainSequence:!0,newScopes:[{label:t=>Bt("pubChapter",[t.numberString]),endedBy:["pubchapter","chapter"]}]}},{contexts:[["startTag","tagName",["ca"]]],parser:{inlineSequenceType:"altNumber",forceNewSequence:!0,newScopes:[{label:t=>Bt("inline",[t.fullTagName]),endedBy:["endTag/ca","endBlock","implicitEnd"],onEnd:t=>t.returnToBaseSequence()}],during:(t,r)=>{const n=ye.generateId(),u={label:()=>Bt("altChapter",[n]),endedBy:["startTag/ca","chapter"]};t.openNewScope(r,u,!0,t.sequences.main)}}},{contexts:[["verses"]],parser:{mainSequence:!0,newScopes:[{label:t=>Bt("verses",[t.numberString]),endedBy:["verses","chapter","pubchapter"]}],during:(t,r)=>{r.numbers.forEach(n=>{const u={label:()=>Bt("verse",[n]),endedBy:["verses","chapter","pubchapter"]};t.openNewScope(r,u,!0,t.sequences.main)})}}},{contexts:[["startTag","tagName",["vp"]]],parser:{inlineSequenceType:"pubNumber",forceNewSequence:!0,newScopes:[{label:t=>Bt("inline",[t.fullTagName]),endedBy:["endTag/vp","endBlock","implicitEnd"],onEnd:t=>t.returnToBaseSequence()}],during:(t,r)=>{const n=ye.generateId(),u={label:()=>Bt("pubVerse",[n]),endedBy:["startTag/vp","verses","chapter","pubchapter"]};t.openNewScope(r,u,!0,t.sequences.main)}}},{contexts:[["startTag","tagName",["va"]]],parser:{inlineSequenceType:"altNumber",forceNewSequence:!0,newScopes:[{label:t=>Bt("inline",[t.fullTagName]),endedBy:["endTag/va","endBlock","implicitEnd"],onEnd:t=>t.returnToBaseSequence()}],during:(t,r)=>{const n=ye.generateId(),u={label:()=>Bt("altVerse",[n]),endedBy:["startTag/va","verses","chapter","pubchapter"]};t.openNewScope(r,u,!0,t.sequences.main)}}},{contexts:[["startTag","tagName",["qs","qac","litl","lik","liv","fr","fq","fqa","fk","fl","fw","fp","fv","ft","fdc","fm","xo","xk","xq","xt","xta","xop","xot","xnt","xdc","rq","add","bk","dc","k","nd","ord","pn","png","qt","sig","sls","tl","wj","em","bd","it","bdit","no","sc","sup","ior","iqt"].concat(e.customTags.char)]],parser:{newScopes:[{label:t=>Bt("span",[t.fullTagName]),endedBy:["endBlock","endTag/$fullTagName$","implicitEnd"]}]}},{contexts:[["startTag","tagName",["th","thr","tc","tcr"]]],parser:{newScopes:[{label:t=>Bt("cell",[t.fullTagName]),endedBy:["startTag/th","startTag/thr","startTag/tc","startTag/tcr","startTag/th2","startTag/thr2","startTag/tc2","startTag/tcr2","startTag/th3","startTag/thr3","startTag/tc3","startTag/tcr3","endBlock","endTag/$fullTagName$"]}]}},{contexts:[["emptyMilestone"]],parser:{during:(t,r)=>{t.addEmptyMilestone(Bt("milestone",[r.tagName]))}}},{contexts:[["startMilestoneTag","sOrE","s"]],parser:{newScopes:[{label:t=>Bt("milestone",[t.tagName]),endedBy:["endMilestone/$tagName$"]}],during:(t,r)=>{t.setAttributeContext(Bt("milestone",[r.tagName]))}}},{contexts:[["endMilestoneMarker"]],parser:{during:t=>t.clearAttributeContext()}},{contexts:[["attribute"],["defaultAttribute"]],parser:{during:(t,r)=>{const n={w:"lemma",rb:"gloss",xt:"link-href"};if(t.current.attributeContext){const u=t.current.attributeContext.split("/");r.key==="default"&&u.length===2&&(r.key=n[u[1]]||`unknownDefault_${u[1]}`,r.printValue=r.printValue.replace(/default/,r.key)),[...r.values.entries()].forEach(s=>{const o={label:a=>Bt("attribute",[t.current.attributeContext,a.key,s[0],s[1]]),endedBy:["$attributeContext$"]};t.openNewScope(r,o)})}else t.addToken(Ge.printable("unknown",[r.printValue]))}}},{contexts:[["startTag","tagName",["w","rb"].concat(e.customTags.word)]],parser:{newScopes:[{label:t=>Bt("spanWithAtts",[t.tagName]),endedBy:["endBlock","endTag/$tagName$"],onEnd:t=>t.clearAttributeContext()}],during:(t,r)=>{t.setAttributeContext(Bt("spanWithAtts",[r.tagName]))}}},{contexts:[["wordLike"],["lineSpace"],["punctuation"],["eol"]],parser:{during:(t,r)=>t.addToken(r)}},{contexts:[["noBreakSpace"]],parser:{during:t=>{t.addToken(Ge.printable("lineSpace",[" "]))}}},{contexts:[["softLineBreak"]],parser:{during:t=>{t.addToken(Ge.printable("softLineBreak",["//"]))}}},{contexts:[["bareSlash"]],parser:{during:t=>{t.addToken(Ge.printable("bareSlash",["\\"]))}}},{contexts:[["unknown"]],parser:{during:(t,r)=>{t.addToken(Ge.printable("unknown",[r.printValue]))}}}],{labelForScope:Ff}=ye.scopeDefs,eg=ye.parserConstants,PJ=class{constructor(e,t,r){this.filterOptions=e,this.customTags=t,this.emptyBlocks=r,this.specs=$J(this),this.specLookup=TJ(this.specs),this.headers={},this.baseSequenceTypes=eg.usfm.baseSequenceTypes,this.inlineSequenceTypes=eg.usfm.inlineSequenceTypes,this.setSequences(),this.setCurrent()}setSequences(){this.sequences={};for(const[e,t]of Object.entries({...this.baseSequenceTypes,...this.inlineSequenceTypes}))switch(t){case"1":this.sequences[e]=new gu(e);break;case"?":this.sequences[e]=null;break;case"*":this.sequences[e]=[];break;default:throw new Error(`Unexpected sequence arity '${t}' for '${e}'`)}this.mainLike=this.sequences.main}setCurrent(){this.current={sequence:this.sequences.main,parentSequence:null,baseSequenceType:"main",inlineSequenceType:null,attributeContext:null}}parseItem(e){let t=!1;["startTag"].includes(e.subclass)&&(this.closeActiveScopes(`startTag/${e.fullTagName}`),e.isNested||this.closeActiveScopes("implicitEnd")),["endTag"].includes(e.subclass)&&this.closeActiveScopes(`endTag/${e.fullTagName}`),["startMilestoneTag"].includes(e.subclass)&&e.sOrE==="e"&&this.closeActiveScopes(`endMilestone/${e.tagName}`),["chapter","pubchapter","verses"].includes(e.subclass)&&this.closeActiveScopes(e.subclass,this.sequences.main);const r=this.specForItem(e);r&&("before"in r.parser&&r.parser.before(this,e),t=!1,r.parser.baseSequenceType&&(t=(r.parser.baseSequenceType==="mainLike"?this.mainLike.type:r.parser.baseSequenceType)!==this.current.baseSequenceType||r.parser.forceNewSequence),t?(this.closeActiveScopes("baseSequenceChange"),this.changeBaseSequence(r.parser),"newBlock"in r.parser&&r.parser.newBlock&&(this.closeActiveScopes("endBlock"),this.current.sequence.newBlock(Ff("blockTag",[e.fullTagName])))):r.parser.inlineSequenceType?(this.current.inlineSequenceType=r.parser.inlineSequenceType,this.current.parentSequence=this.current.sequence,this.current.parentSequence.type==="header"&&(this.current.parentSequence=this.sequences.main),this.current.sequence=new gu(this.current.inlineSequenceType),this.current.sequence.newBlock(Ff("inline",r.parser.inlineSequenceType)),this.sequences[this.current.inlineSequenceType].push(this.current.sequence),this.current.parentSequence.addItem({type:"graft",subType:this.current.inlineSequenceType,payload:this.current.sequence.id})):"newBlock"in r.parser&&r.parser.newBlock&&this.current.sequence.newBlock(Ff("blockTag",[e.fullTagName])),"during"in r.parser&&r.parser.during(this,e),this.openNewScopes(r.parser,e),"after"in r.parser&&r.parser.after(this,e))}tidy(){for(const r of this.sequences.introduction)r.graftifyIntroductionHeadings(this);const e=this.allSequences();for(const r of e)r.trim(),r.reorderSpanWithAtts(),r.makeNoteGrafts(this),r.moveOrphanScopes(),r.removeEmptyBlocks(this.emptyBlocks);const t=this.emptySequences(e);for(const r of e)t&&r.removeGraftsToEmptySequences(t),r.addTableScopes(),r.close(this),this.substitutePubNumberScopes(r),r.moveOrphanStartScopes2(),r.type==="sidebar"&&this.substituteEsbCatScopes(r),["footnote","xref"].includes(r.type)&&r.lastBlock().inlineToEnd()}emptySequences(e){return e.filter(t=>t.blocks.length===0).map(t=>t.id)}substitutePubNumberScopes(e){const t={},r=this.sequenceById();for(const n of e.blocks){let u=0;const s=[...n.items];for(const[o,a]of s.entries())if(a.type==="graft"&&["pubNumber","altNumber"].includes(a.subType)){const i=r[a.payload].text().trim(),c=s[o+1].payload.split("/")[1];t[c]=i,n.items.splice(o-u,1),u++}}if(Object.keys(t).length>0)for(const n of e.blocks)for(const u of n.items.filter(s=>s.type==="scope")){const s=u.payload.split("/");["altChapter","pubVerse","altVerse"].includes(s[0])&&(u.payload=`${s[0]}/${t[s[1]]}`)}}substituteEsbCatScopes(e){const t={},r=this.sequenceById();for(const n of e.blocks){let u=0;const s=[...n.items];for(const[o,a]of s.entries())if(a.type==="graft"&&a.subType==="esbCat"){const i=r[a.payload].text().trim(),c=s[1].payload.split("/")[1];t[c]=i,n.items.splice(o-u,1),u++}}if(Object.keys(t).length>0)for(const n of e.blocks)for(const u of n.items.filter(s=>s.type==="scope")){const s=u.payload.split("/");s[0]==="esbCat"&&(u.payload=`${s[0]}/${t[s[1]]}`)}}allSequences(){const e=[];for(const[t,r]of Object.entries({...this.baseSequenceTypes,...this.inlineSequenceTypes}))switch(r){case"1":case"?":this.sequences[t]&&e.push(this.sequences[t]);break;case"*":this.sequences[t].forEach(n=>{e.push(n)});break;default:throw new Error(`Unexpected sequence arity '${r}' for '${t}'`)}return e}sequenceById(){const e={};return this.allSequences().forEach(t=>{e[t.id]=t}),e}filter(){const e=[],t=this.sequenceById();this.filterGrafts(this.sequences.main.id,t,e,this.filterOptions),this.removeUnusedSequences(e),this.filterScopes(Object.values(t),this.filterOptions)}filterGrafts(e,t,r,n){r.push(e);const u=t[e].filterGrafts(n);for(const s of u){if(t[s].type==="main")throw new Error("MAIN is child!",JSON.stringify(t[e],null,2));this.filterGrafts(s,t,r,n)}}removeUnusedSequences(e){for(const t of this.allSequences())if(!e.includes(t.id)){const r={...this.baseSequenceTypes,...this.inlineSequenceTypes}[t.type];switch(r){case"1":throw new Error("Attempting to remove sequence with arity of 1");case"?":this.sequences[t.type]=null;break;case"*":this.sequences[t.type]=this.sequences[t.type].filter(n=>n.id!==t.id);break;default:throw new Error(`Unexpected sequence arity '${r}' for '${t.type}'`)}}}filterScopes(e,t){e.forEach(r=>r.filterScopes(t))}specForItem(e){const t=e.subclass;if(!(t in this.specLookup))return null;for(const r of["tagName","sOrE"])if(r in e&&r in this.specLookup[t]&&e[r]in this.specLookup[t][r])return{parser:this.specLookup[t][r][e[r]]};return"_noAccessor"in this.specLookup[t]?{parser:this.specLookup[t]._noAccessor}:null}closeActiveScopes(e,t){t===void 0&&(t=this.current.sequence);const r=t.activeScopes.filter(n=>n.endedBy.includes(e)).reverse();t.activeScopes=t.activeScopes.filter(n=>!n.endedBy.includes(e)),r.forEach(n=>this.closeActiveScope(n,t))}closeActiveScope(e,t){this.addScope("end",e.label,t),e.onEnd&&e.onEnd(this,e.label)}changeBaseSequence(e){const t=e.baseSequenceType;if(t==="mainLike"){this.current.sequence=this.mainLike;return}this.current.baseSequenceType=t;const r=this.baseSequenceTypes[t];switch(r){case"1":this.current.sequence=this.sequences[t];break;case"?":this.sequences[t]||(this.sequences[t]=new gu(t)),this.current.sequence=this.sequences[t];break;case"*":this.current.sequence=new gu(t),e.useTempSequence||this.sequences[t].push(this.current.sequence);break;default:throw new Error(`Unexpected base sequence arity '${r}' for '${t}'`)}!e.useTempSequence&&this.current.sequence.type!=="main"&&this.mainLike.addBlockGraft({type:"graft",subType:this.current.baseSequenceType,payload:this.current.sequence.id})}returnToBaseSequence(){this.current.inlineSequenceType=null,this.current.sequence=this.current.parentSequence,this.current.parentSequence=null}openNewScopes(e,t){if(e.newScopes){let r=this.current.sequence;"mainSequence"in e&&e.mainSequence&&(r=this.sequences.main),e.newScopes.forEach(n=>this.openNewScope(t,n,!0,r))}}openNewScope(e,t,r,n){r===void 0&&(r=!0),n===void 0&&(n=this.current.sequence),r&&n.addItem({type:"scope",subType:"start",payload:t.label(e)});const u={label:t.label(e),endedBy:this.substituteEndedBys(t.endedBy,e)};"onEnd"in t&&(u.onEnd=t.onEnd),n.activeScopes.push(u)}substituteEndedBys(e,t){return e.map(r=>{let n=r.replace("$fullTagName$",t.fullTagName).replace("$tagName$",t.tagName);return this.current.attributeContext&&(n=n.replace("$attributeContext$",this.current.attributeContext.replace("milestone","endMilestone").replace("spanWithAtts","endTag"))),n})}addToken(e){this.current.sequence.addItem({type:"token",subType:e.subclass,payload:e.printValue})}addScope(e,t,r){r===void 0&&(r=this.current.sequence),r.addItem({type:"scope",subType:e,payload:t})}addEmptyMilestone(e){this.mainLike.addItem({type:"scope",subType:"start",payload:e}),this.mainLike.addItem({type:"scope",subType:"end",payload:e})}setAttributeContext(e){this.current.attributeContext=e}clearAttributeContext(){this.current.attributeContext=null}},kJ=[{id:0,type:"Inputs",inputs:{perf:"json"}},{id:1,title:"Generate report",name:"calculateUsfmChapterPositions",type:"Transform",inputs:[{name:"perf",type:"json",source:"Input perf"}],outputs:[{name:"report",type:"json"}],description:"Generate report from perf to calculate the position of the chapters"},{id:2,title:"PERF to USFM",name:"perf2usfm",type:"Transform",inputs:[{name:"perf",type:"json",source:"Input perf"},{name:"report",type:"json",source:"Transform 1 report"}],outputs:[{name:"usfm",type:"text"}],description:"PERF=>USFM: Conversion via Proskomma"},{id:999,type:"Outputs",outputs:[{name:"usfm",type:"text",source:"Transform 2 usfm"}]}],OJ=[{id:0,type:"Inputs",inputs:{perf:"json"}},{id:1,title:"PERF to PkJSON",name:"perf2PkJson",type:"Transform",inputs:[{name:"perf",type:"json",source:"Input perf"}],outputs:[{name:"pkJson",type:"json"}],documentation:"",description:"PERF=>JSON: Converts PERF to current Proskomma input format"},{id:999,type:"Outputs",outputs:[{name:"pkJson",type:"json",source:"Transform 1 pkJson"}]}],q7={perf2usfmPipeline:kJ,perf2PkJsonPipeline:OJ},tg=e=>({type:e.sequences[0].block.type,subType:e.sequences[0].block.subType,pos:e.sequences[0].block.blockN,perfChapter:null}),IJ={startDocument:[{description:"Set up storage",test:()=>!0,action:({workspace:e,output:t})=>{e.blockRecords=[],t.report={}}}],startParagraph:[{description:"Set up block record",test:()=>!0,action:({context:e,workspace:t})=>{t.blockRecords.push(tg(e))}}],blockGraft:[{description:"Set up block record",test:()=>!0,action:({context:e,workspace:t})=>{t.blockRecords.push(tg(e))}}],mark:[{description:"Add chapter number to block record",test:({context:e})=>e.sequences[0].element.subType==="chapter",action:({context:e,workspace:t})=>{t.blockRecords[t.blockRecords.length-1].perfChapter=e.sequences[0].element.atts.number}}],endDocument:[{description:"Populate report",test:()=>!0,action:({workspace:e,output:t})=>{for(const[r,n]of Object.entries(e.blockRecords)){if(!n.perfChapter)continue;let u=r,s=!1;for(;u>0&&!s;)e.blockRecords[u-1].type==="paragraph"||e.blockRecords[u-1].subType==="title"?s=!0:u--;t.report[u.toString()]=n.perfChapter}}}]},NJ=function({perf:e}){const t=new vu.PerfRenderFromJson({srcJson:e,actions:IJ}),r={};return t.renderDocument({docId:"",config:{maxLength:60},output:r}),{report:r.report}},qJ={name:"calculateUsfmChapterPositions",type:"Transform",description:"PERF=>JSON: Generates positions for inserting chapter numbers into USFM",inputs:[{name:"perf",type:"json",source:""}],outputs:[{name:"report",type:"json"}],code:NJ},_r=e=>["toc","toca","mt","imt","s","ms","mte","sd"].includes(e)?e+"1":e,xJ=(e,t)=>{let r=`\\${t}-s |`;for(let[n,u]of Object.entries(e))n==="x-morph"?r=r+_r(n)+'="'+u.join(",")+'" ':r=r+_r(n)+'="'+u+'" ';return r+"\\*"},RJ=(e,t,r=!1)=>{let n="|";for(let[u,s]of Object.entries(e))n=n+_r(u)+'="'+s+'" ';return n=n+"\\",r&&(n=n+"+"),n+t+"*"},jJ={startDocument:[{description:"Set up environment",test:()=>!0,action:({context:e,workspace:t})=>{t.usfmBits=[""],t.nestedWrapper=0;for(let[r,n]of Object.entries(e.document.metadata.document).filter(u=>!["tags","properties","bookCode","cl"].includes(u[0])))t.usfmBits.push(`\\${_r(r)} ${n} `)}}],blockGraft:[{description:"Follow block grafts",test:({context:e})=>["title","heading","introduction"].includes(e.sequences[0].block.subType),action:e=>{let t=e.context.sequences[0],r=e.config.report[t.block.blockN.toString()];const n=t.block.target;r&&t.type==="main"&&e.workspace.usfmBits.push(` \\c ${r} `),n&&e.context.renderer.renderSequenceId(e,n)}}],inlineGraft:[{description:"Follow inline grafts",test:()=>!0,action:e=>{const t=e.context.sequences[0].element.target;t&&e.context.renderer.renderSequenceId(e,t)}}],startParagraph:[{description:"Output footnote paragraph tag (footnote)",test:({context:e})=>e.sequences[0].block.subType==="usfm:f"&&e.sequences[0].type==="footnote"||e.sequences[0].block.subType==="usfm:x"&&e.sequences[0].type==="xref",action:({context:e,workspace:t})=>{t.nestedWrapper=0;let r=e.sequences[0];t.usfmBits.push(`\\${_r(r.block.subType.split(":")[1])} `)}},{description:"Output footnote note_caller tag (footnote)",test:({context:e})=>e.sequences[0].block.subType==="usfm:f"||e.sequences[0].block.subType==="usfm:x",action:({workspace:e})=>{e.nestedWrapper=0}},{description:"Output paragraph tag (main)",test:()=>!0,action:({context:e,workspace:t,config:r})=>{t.nestedWrapper=0;let n=e.sequences[0],u=r.report[n.block.blockN.toString()];u&&n.type==="main"&&t.usfmBits.push(` @@ -223,20 +223,20 @@ Actual: `+b.attribValue);else{var M=b.tag,L=b.tags[b.tags.length-1]||b;M.ns===L. `),t.usfmBits.push(` \\${_r(n.block.subType.split(":")[1])} `)}}],endParagraph:[{description:"Output footnote paragraph tag (footnote)",test:({context:e})=>e.sequences[0].block.subType==="usfm:f"&&e.sequences[0].type==="footnote"||e.sequences[0].block.subType==="usfm:x"&&e.sequences[0].type==="xref",action:({context:e,workspace:t})=>{let r=e.sequences[0];t.usfmBits.push(`\\${_r(r.block.subType.split(":")[1])}*`)}},{description:"Output footnote note_caller tag (footnote)",test:({context:e})=>e.sequences[0].block.subType==="usfm:f"||e.sequences[0].block.subType==="usfm:x",action:()=>{}},{description:"Output nl",test:()=>!0,action:({workspace:e})=>{e.usfmBits.push(` -`)}}],startMilestone:[{description:"Output start milestone",test:()=>!0,action:({context:e,workspace:t})=>{let r=e.sequences[0].element,n=NJ(r.atts,_r(r.subType.split(":")[1]));t.usfmBits.push(n)}}],endMilestone:[{description:"Output end milestone",test:()=>!0,action:({context:e,workspace:t})=>{t.usfmBits.push(`\\${_r(e.sequences[0].element.subType.split(":")[1])}-e\\*`)}}],text:[{description:"Output text",test:()=>!0,action:({context:e,workspace:t})=>{const r=e.sequences[0].element.text;t.usfmBits.push(r)}}],mark:[{description:"Output chapter or verses",test:()=>!0,action:({context:e,workspace:t})=>{const r=e.sequences[0].element;r.subType==="verses"&&t.usfmBits.push(` +`)}}],startMilestone:[{description:"Output start milestone",test:()=>!0,action:({context:e,workspace:t})=>{let r=e.sequences[0].element,n=xJ(r.atts,_r(r.subType.split(":")[1]));t.usfmBits.push(n)}}],endMilestone:[{description:"Output end milestone",test:()=>!0,action:({context:e,workspace:t})=>{t.usfmBits.push(`\\${_r(e.sequences[0].element.subType.split(":")[1])}-e\\*`)}}],text:[{description:"Output text",test:()=>!0,action:({context:e,workspace:t})=>{const r=e.sequences[0].element.text;t.usfmBits.push(r)}}],mark:[{description:"Output chapter or verses",test:()=>!0,action:({context:e,workspace:t})=>{const r=e.sequences[0].element;r.subType==="verses"&&t.usfmBits.push(` \\v ${r.atts.number} `)}}],endSequence:[{description:"Output \\cl",test:({context:e})=>e.document.metadata.document.cl&&e.sequences[0].type==="title",action:({context:e,workspace:t})=>{t.usfmBits.push(` \\cl ${e.document.metadata.document.cl} -`)}}],startWrapper:[{description:"Output start tag",test:()=>!0,action:({workspace:e,context:t})=>{let r=t.sequences[0];e.nestedWrapper>0?e.usfmBits.push(`\\+${_r(r.element.subType.split(":")[1])} `):e.usfmBits.push(`\\${_r(r.element.subType.split(":")[1])} `),e.nestedWrapper+=1}}],endWrapper:[{description:"Output end tag",test:({context:e})=>!["fr","fq","fqa","fk","fl","fw","fp","ft","xo","xk","xq","xt","xta"].includes(e.sequences[0].element.subType.split(":")[1]),action:({workspace:e,context:t})=>{e.nestedWrapper-=1;let r=t.sequences[0],n=r.element.subType.split(":")[1],u=e.nestedWrapper>0;if(n==="w"){let s=qJ(r.element.atts,_r(n),u);e.usfmBits.push(s)}else u?e.usfmBits.push(`\\+${_r(r.element.subType.split(":")[1])}*`):e.usfmBits.push(`\\${_r(r.element.subType.split(":")[1])}*`)}},{description:"Do NOT output end tag",test:()=>!0,action:({workspace:e})=>{e.nestedWrapper-=1}}],endDocument:[{description:"Build output",test:()=>!0,action:({workspace:e,output:t})=>{t.usfm=e.usfmBits.join("").replace(/(\s*)\n(\s*)/gm,` -`)}}]},RJ=function({perf:e,report:t}){const r=new vu.PerfRenderFromJson({srcJson:e,actions:xJ}),n={};return r.renderDocument({docId:"",config:{report:t},output:n}),{usfm:n.usfm}},jJ={name:"perf2usfm",type:"Transform",description:"PERF=>USFM",inputs:[{name:"perf",type:"json",source:""},{name:"report",type:"json",source:""}],outputs:[{name:"usfm",type:"text"}],code:RJ},MJ=ds.filter(e=>e[1]==="wordLike")[0][2],LJ=ds.filter(e=>e[1]==="lineSpace")[0][2],UJ=ds.filter(e=>e[1]==="punctuation")[0][2],GJ=e=>{[...e.os].reverse().forEach(t=>{e.block.items.push({type:"scope",subType:"end",payload:t})}),e.os=[]},VJ=e=>{[...e.os.filter(t=>["span"].includes(t.split("/")[1]))].reverse().forEach(t=>{e.block.items.push({type:"scope",subType:"end",payload:t}),e.os=[...e.os.filter(r=>r!==t)]})},tg=e=>{[...e.os.filter(t=>["verse","verses"].includes(t.split("/")[0]))].reverse().forEach(t=>{e.block.items.push({type:"scope",subType:"end",payload:t}),e.os=[...e.os.filter(r=>r!==t)]})},HJ=e=>{[...e.os.filter(t=>["chapter"].includes(t.split("/")[0]))].reverse().forEach(t=>{e.block.items.push({type:"scope",subType:"end",payload:t}),e.os=[...e.os.filter(r=>r!==t)]})},WJ={startDocument:[{description:"Set up word object",test:()=>!0,action:({workspace:e,output:t})=>{t.pkJson={},e.sequenceId=null,e.block=null,e.os=[],e.waitingBlockGrafts=[]}}],startSequence:[{description:"Add sequence array to output",test:()=>!0,action:e=>{e.output.pkJson[e.context.sequences[0].id]=[],e.workspace.sequenceId=e.context.sequences[0].id}}],endSequence:[{description:"Reset sequenceId pointer",test:()=>!0,action:e=>{var t;GJ(e.workspace),e.workspace.sequenceId=(t=e.context.sequences[1])==null?void 0:t.id}}],unresolvedBlockGraft:[{description:"Stash for next para",test:()=>!0,action:({context:e,workspace:t})=>{e.sequences[0].block.target&&t.waitingBlockGrafts.push({type:"graft",subType:e.sequences[0].block.subType,payload:e.sequences[0].block.target})}}],unresolvedInlineGraft:[{description:"Follow inline grafts",test:()=>!0,action:({context:e,workspace:t})=>{e.sequences[0].element.target&&t.block.items.push({type:"graft",subType:e.sequences[0].element.subType,payload:e.sequences[0].element.target})}}],startParagraph:[{description:"Add object for paragraph block",test:()=>!0,action:({context:e,workspace:t,output:r})=>{t.block={os:[...t.os],is:[],bs:{type:"scope",subType:"start",payload:`blockTag/${e.sequences[0].block.subType.split(":")[1]}`},bg:[...t.waitingBlockGrafts],items:[]},r.pkJson[t.sequenceId].push(t.block)}}],endParagraph:[{description:"Close open scopes",test:()=>!0,action:({workspace:e})=>{VJ(e),e.waitingBlockGrafts=[]}}],mark:[{description:"ts mark as milestone",test:({context:e})=>["usfm:ts"].includes(e.sequences[0].element.subType),action:({workspace:e})=>{const t="milestone/ts";e.block.is.includes(t)||e.block.is.push(t),e.os.push(t),e.block.items.push({type:"scope",subType:"start",payload:t}),e.block.items.push({type:"scope",subType:"end",payload:t})}},{description:"Chapter",test:({context:e})=>["chapter"].includes(e.sequences[0].element.subType),action:({context:e,workspace:t})=>{tg(t),HJ(t);const n=`chapter/${e.sequences[0].element.atts.number}`;t.block.is.includes(n)||t.block.is.push(n),t.os.push(n),t.block.items.push({type:"scope",subType:"start",payload:n})}},{description:"Verses",test:({context:e})=>["verses"].includes(e.sequences[0].element.subType),action:({context:e,workspace:t})=>{tg(t);const r=e.sequences[0].element,n=r.atts.number;let u=[parseInt(n)];if(n.includes("-")){let[o,a]=n.split("-").map(i=>parseInt(i));for(u=[o];o<=a;)o++,u.push(o)}for(const o of u){const a=`verse/${o}`;t.os.push(a),t.block.is.includes(a)||t.block.is.push(a),t.block.items.push({type:"scope",subType:"start",payload:a})}const s=`verses/${r.atts.number}`;t.block.is.includes(s)||t.block.is.push(s),t.os.push(s),t.block.items.push({type:"scope",subType:"start",payload:s})}}],startMilestone:[{description:"Add scope and update state",test:()=>!0,action:({context:e,workspace:t})=>{const r=e.sequences[0].element,n=`milestone/${r.subType.split(":")[1]}`;t.block.is.includes(n)||t.block.is.push(n),t.os.push(n),t.block.items.push({type:"scope",subType:"start",payload:n});for(const[u,s]of Object.entries(r.atts||{})){const o=s.toString().split(",");for(const[a,i]of o.entries()){const c=`attribute/milestone/${r.subType.split(":")[1]}/${u}/${a}/${i}`;t.block.is.includes(c)||t.block.is.push(c),t.os.push(c),t.block.items.push({type:"scope",subType:"start",payload:c})}}}}],endMilestone:[{description:"Remove scope and update state",test:()=>!0,action:({context:e,workspace:t})=>{const r=e.sequences[0].element,n=`attribute/milestone/${r.subType.split(":")[1]}`;for(const s of[...t.os.filter(o=>o.startsWith(n))].reverse())t.os=t.os.filter(o=>o!==s),t.block.items.push({type:"scope",subType:"end",payload:s});const u=`milestone/${r.subType.split(":")[1]}`;t.os=t.os.filter(s=>s!==u),t.block.items.push({type:"scope",subType:"end",payload:u})}}],startWrapper:[{description:"Add scope and update state",test:()=>!0,action:({context:e,workspace:t})=>{const r=e.sequences[0].element,n=`${r.subType==="usfm:w"?"spanWithAtts":"span"}/${r.subType.split(":")[1]}`;t.block.is.includes(n)||t.block.is.push(n),t.os.push(n),t.block.items.push({type:"scope",subType:"start",payload:n});for(const[u,s]of Object.entries(r.atts||{})){const o=s.toString().split(",");for(const[a,i]of o.entries()){const c=`attribute/spanWithAtts/w/${u}/${a}/${i}`;t.block.is.includes(c)||t.block.is.push(c),t.os.push(c),t.block.items.push({type:"scope",subType:"start",payload:c})}}}}],endWrapper:[{description:"Remove scope and update state",test:()=>!0,action:({context:e,workspace:t})=>{const r=e.sequences[0].element;for(const[u,s]of[...Object.entries(r.atts||{})].reverse()){const o=s.toString().split(",");for(const[a,i]of[...o.entries()].reverse()){const c=`attribute/spanWithAtts/w/${u}/${a}/${i}`;t.os=t.os.filter(l=>l!==c),t.block.items.push({type:"scope",subType:"end",payload:c})}}const n=`${r.subType==="usfm:w"?"spanWithAtts":"span"}/${r.subType.split(":")[1]}`;t.os=t.os.filter(u=>u!==n),t.block.items.push({type:"scope",subType:"end",payload:n})}}],text:[{description:"Log occurrences",test:()=>!0,action:({context:e,workspace:t})=>{const r=e.sequences[0].element.text,n=Z.union(ds.map(s=>s[2])),u=Z.match(r,n,"all");for(const s of u){let o;Z.test(s,MJ)?o="wordLike":Z.test(s,LJ)?o="lineSpace":Z.test(s,UJ)&&(o="punctuation"),t.block.items.push({type:"token",subType:o,payload:s})}}}],endDocument:[{description:"Rework hanging end cv scopes",test:()=>!0,action:({output:e})=>{const t=Object.values(e.pkJson)[0];for(let r=1;r0;){const o=n.shift();u.push(o),t[r].os=t[r].os.filter(a=>a!==o.payload),s--}}}}]},JJ=function({perf:e}){const t=new vu.PerfRenderFromJson({srcJson:e,ignoreMissingSequences:!0,actions:WJ}),r={};return t.renderDocument({docId:"",config:{},output:r}),{pkJson:r.pkJson}},zJ={name:"perf2PkJson",type:"Transform",description:"PERF=>JSON: Converts PERF to current Proskomma input format",documentation:"",inputs:[{name:"perf",type:"json",source:""}],outputs:[{name:"pkJson",type:"json"}],code:JJ},N7={calculateUsfmChapterPositions:IJ,perf2usfm:jJ,perf2PkJson:zJ},rg=ye.ByteArray,{itemEnum:Cf}=ye.itemDefs,{tokenEnum:KJ}=ye.tokenDefs,XJ=0,Ko=2,yp=3,Zc=e=>{const t=e.sequences[e.mainId],r=e.processor.docSets[e.docSetId];r.buildPreEnums(),r.buildEnumIndexes();const n={},u={};let s="0",o="0",a="1",i=0;if(t.chapterVerses={},r.enums.wordLike.length===0)throw new Error("No wordLike content in docSet - probably a USFM issue, maybe missing \\mt?");t.tokensPresent=new f6(new Array(r.enums.wordLike.length).fill(0).map(c=>c.toString()).join(""));for(const[c,l]of t.blocks.entries()){let p=0,d=l.c,f=-1;for(;pparseInt(A)).sort((A,m)=>A-m);if(d.length===0)continue;const f=d[d.length-1],h=Array.from(Array(f+1).keys());let y=0;for(const A of h){const m=`${A}`;if(m in l){const v=l[m],C=v.length;for(const[B,T]of v.entries()){if(!T.verses){console.log(`** VerseElement without verses for ${A} in buildChapterVerseIndex`);continue}const N=r.enumForCategoryValue("scopeBits",T.verses),R=T.startBlock===T.endBlock?Ko:yp;p.pushByte(0),R===Ko?p.pushNBytes([T.startBlock,T.startItem,T.endItem,T.nextToken,N]):p.pushNBytes([T.startBlock,T.endBlock,T.startItem,T.endItem,T.nextToken,N]),p.setByte(y,bf(R,B===C-1,p.length-y)),y=p.length}}else p.pushByte(bf(XJ,!0,1)),y++}p.trim()}t.chapters={};for(const[c,l]of Object.entries(u)){if(!("startBlock"in l)||!("endBlock"in l))continue;const p=new rg;t.chapters[c]=p;const d=l.startBlock===l.endBlock?Ko:yp;p.pushByte(0),d===Ko?p.pushNBytes([l.startBlock,l.startItem,l.endItem,l.nextToken]):p.pushNBytes([l.startBlock,l.endBlock,l.startItem,l.endItem,l.nextToken]),p.setByte(0,bf(d,!0,p.length)),p.trim()}},ng=(e,t)=>{const r=e.processor.docSets[e.docSetId];r.buildEnumIndexes();const n=[],u=e.sequences[e.mainId].chapterVerses[t];if(u){let s=0,o=[];for(;s{const r=e.sequences[e.mainId].chapters[t];if(r){const n=q7(r,0)[0];if(n===Ko){const u=r.nBytes(1,4);return{startBlock:u[0],endBlock:u[0],startItem:u[1],endItem:u[2],nextToken:u[3]}}else if(n===yp){const u=r.nBytes(1,5);return{startBlock:u[0],endBlock:u[1],startItem:u[2],endItem:u[3],nextToken:u[4]}}}},bf=(e,t,r)=>r+(t?32:0)+e*64,q7=(e,t)=>{const r=e.byte(t);return[r>>6,(r>>5)%2===1,r%32]},YJ=e=>{const t=new Set,r=e.processor.docSets[e.docSetId];r.maybeBuildEnumIndexes();const n=(s,o,a)=>{a.add(o.id);for(const i of o.blocks){for(const c of r.unsuccinctifyGrafts(i.bg))a.has(c[2])||n(s,s.sequences[c[2]],a);for(const c of r.unsuccinctifyItems(i.c,{grafts:!0},0))a.has(c[2])||n(s,s.sequences[c[2]],a)}};n(e,e.sequences[e.mainId],t);let u=!1;for(const s of Object.keys(e.sequences))t.has(s)||(delete e.sequences[s],u=!0);return u},ZJ=(e,t,r)=>{const n=ye.generateId();return e.sequences[n]={id:n,type:t,tags:new Set(r||[]),isBaseType:t in e.baseSequenceTypes,blocks:[]},n},QJ=(e,t)=>{if(!(t in e.sequences))return!1;if(e.sequences[t].type==="main")throw new Error("Cannot delete main sequence");return e.sequences[t].type in e.baseSequenceTypes?sg(e,"block",t):sg(e,"inline",t),delete e.sequences[t],e.buildChapterVerseIndex(globalThis),e.gcSequences(),!0},sg=(e,t,r)=>{const n=e.processor.docSets[e.docSetId];for(const u of Object.values(e.sequences))for(const s of u.blocks){const o=t==="block"?s.bg:s.c;let a=0;for(;a{e.processor.docSets[e.docSetId].maybeBuildEnumIndexes(),r=r||(l=>l);const i=e.sequences[t],c=r({id:t,type:i.type,tags:i.tags,isBaseType:i.isBaseType,verseMapping:i.verseMapping});return tz(i,c,n,u,s,o),e.sequences[t]=c,c.type==="main"&&e.buildChapterVerseIndex(),c},tz=(e,t,r,n,u,s)=>{r=r||((o,a,i)=>!!i),n=n||((o,a,i,c,l,p,d)=>!!i||d),u=u||((o,a,i)=>i),s=s||((o,a,i,c,l,p,d,f,h)=>{for(let y=0;y{let o=0,a=-1;for(;o{if(n!==!1&&(n=!0),!(t in e.sequences))return!1;const u=e.sequences[t];return r<0||r>=u.blocks.length?!1:(u.blocks.splice(r,1),n&&e.buildChapterVerseIndex(globalThis),!0)},cz=(e,t,r,n,u,s)=>{if(s!==!1&&(s=!0),!(t in e.sequences))return!1;const o=e.sequences[t];if(r<0||r>o.blocks.length)return!1;const a=e.processor.docSets[e.docSetId];a.maybeBuildPreEnums();const i={bs:new ks(0),bg:new ks(0),c:new ks(0),os:new ks(0),is:new ks(0),nt:new ks(0)},c=n.split("/"),l=uz[c[0]],p=R7(c[0]);if(c.length!==p)throw new Error(`Scope ${n} has ${c.length} component(s) (expected ${p}`);const d=c.slice(1).map(f=>a.enumForCategoryValue("scopeBits",f,!0));return x7(i.bs,Q2.startScope,l,d),i.bs.trim(),u&&_6(a,e.id,t,r,u),o.blocks.splice(r,0,i),s&&e.buildChapterVerseIndex(),!0},lz=(e,t)=>{for(const r of["bs","bg","c","is","os"]){const n=e[r],u=new ks(n.length);let s=0;for(;s1;){const d=t.scopeBits[n.nByte(s+p)];l.push(d),p+=n.nByteLength(d),c--}x7(u,a,i,l)}s+=o}u.trim(),e[r]=u}},pz=ye.ByteArray,{itemEnum:Sf}=ye.itemDefs,dz=(e,t)=>{if(!t||Object.keys(t).length===0)return;const r=e.processor.docSets[e.docSetId],n=(s,o,a,i,c,l,p)=>{if(c===Sf.token)return!0;if(c===Sf.startScope||c===Sf.endScope){if(!t.includeScopes&&!t.excludeScopes)return!0;{const d=r.unsuccinctifyScope(a.c,c,l,p);return(!t.includeScopes||t.includeScopes.filter(f=>d[2].startsWith(f)).length>0)&&(!t.excludeScopes||t.excludeScopes.filter(f=>d[2].startsWith(f)).length===0)}}else{if(!t.includeGrafts&&!t.excludeGrafts)return!0;const d=r.unsuccinctifyGraft(a.c,l,p);return(!t.includeGrafts||t.includeGrafts.filter(f=>d[1].startsWith(f)).length>0)&&(!t.excludeGrafts||t.excludeGrafts.filter(f=>d[1].startsWith(f)).length===0)}},u=(s,o,a)=>{const i=new pz(a.bg.length);let c=0;for(;cf[1].startsWith(h)).length>0)&&(!t.excludeGrafts||t.excludeGrafts.filter(h=>f[1].startsWith(h)).length===0))for(let h=0;h{e.modifySequence(s,null,null,n,u,null)}),Object.values(e.sequences).forEach(s=>r.updateBlockIndexesAfterFilter(s)),e.gcSequences()},fz=e=>{const t={sequences:{}};t.headers=e.headers,t.mainId=e.mainId,t.tags=Array.from(e.tags);for(const[r,n]of Object.entries(e.sequences))t.sequences[r]=Dz(n);return t},Dz=e=>{const t={type:e.type,blocks:e.blocks.map(r=>hz(r)),tags:Array.from(e.tags)};if(e.type==="main"){t.chapters={};for(const[r,n]of Object.entries(e.chapters||{}))n.trim(),t.chapters[r]=n.base64();t.chapterVerses={};for(const[r,n]of Object.entries(e.chapterVerses||{}))n.trim(),t.chapterVerses[r]=n.base64();"tokensPresent"in e&&(t.tokensPresent="0x"+e.tokensPresent.toString(16))}return t},hz=e=>{for(const t of["bs","bg","c","is","os","nt"])e[t].trim();return{bs:e.bs.base64(),bg:e.bg.base64(),c:e.c.base64(),is:e.is.base64(),os:e.os.base64(),nt:e.nt.base64()}},mz=(e,t)=>{e.recordPreEnum("scopeBits","0");for(const[r,n]of t.blocks.entries())for(const[u,s]of[...n.items,n.bs,...n.bg].entries())if(s.subType==="wordLike")e.recordPreEnum("wordLike",s.payload);else if(["lineSpace","eol","punctuation","softLineBreak","bareSlash","unknown"].includes(s.subType))e.recordPreEnum("notWordLike",s.payload);else if(s.type==="graft")e.recordPreEnum("graftTypes",s.subType);else if(s.subType==="start"){const o=s.payload.split("/");if(o.length!==ye.scopeDefs.nComponentsForScope(o[0]))throw new Error(`Scope ${s.payload} has unexpected number of components`);for(const a of o.slice(1))e.recordPreEnum("scopeBits",a)}},Ez=(e,t)=>{e.recordPreEnum("scopeBits","0"),e.recordPreEnum("ids",t.id);for(const r of t.blocks)for(const n of["bs","bg","c","is","os"])yz(e,r[n])},yz=(e,t)=>{for(const r of e.unsuccinctifyItems(t,{},0))if(r[0]==="token")r[1]==="wordLike"?e.recordPreEnum("wordLike",r[2]):e.recordPreEnum("notWordLike",r[2]);else if(r[0]==="graft")e.recordPreEnum("graftTypes",r[1]);else if(r[0]==="scope"&&r[1]==="start"){const n=r[2].split("/");if(n.length!==ye.scopeDefs.nComponentsForScope(n[0]))throw new Error(`Scope ${r[2]} has unexpected number of components`);for(const u of n.slice(1))e.recordPreEnum("scopeBits",u)}},{addTag:vz,removeTag:gz,validateTags:Az}=ye.tags,Fz=ye.parserConstants;let ag=class{constructor(t,r,n,u,s,o,a,i){if(this.processor=t,this.docSetId=r,this.baseSequenceTypes=Fz.usfm.baseSequenceTypes,n)switch(this.id=ye.generateId(),this.filterOptions=s,this.customTags=o,this.emptyBlocks=a,this.tags=new Set(i||[]),Az(this.tags),this.headers={},this.mainId=null,this.sequences={},n.toLowerCase()){case"usfm":case"sfm":this.processUsfm(u);break;case"usx":this.processUsx(u);break;case"tsv":this.processTSV(u);break;case"nodes":this.processNodes(u);break;default:throw new Error(`Unknown document contentType '${n}'`)}}addTag(t){vz(this.tags,t)}removeTag(t){gz(this.tags,t)}makeParser(){return new TJ(this.filterOptions,this.customTags,this.emptyBlocks)}processUsfm(t){const r=this.makeParser();sJ(t,r),this.postParseScripture(r)}processUsx(t){const r=this.makeParser();DJ(t,r),this.postParseScripture(r)}processTSV(t){const r=this.makeParser(),n=`T${this.processor.nextTable>9?this.processor.nextTable:"0"+this.processor.nextTable}`;this.processor.nextTable++,SJ(t,r,n),this.headers=r.headers,this.succinctPass1(r),this.succinctPass2(r),Zc(this);const u=Object.values(this.sequences).filter(s=>s.type==="table")[0];for(const[s,o]of JSON.parse(t).headings.entries())u.tags.add(`col${s}:${o}`)}processNodes(t){const r=this.makeParser(),n=`N${this.processor.nextNodes>9?this.processor.nextNodes:"0"+this.processor.nextNodes}`;this.processor.nextNodes++,wJ(t,r,n),this.headers=r.headers,this.succinctPass1(r),this.succinctPass2(r),Zc(this)}postParseScripture(t){t.tidy();const r=t.filterOptions;this.headers=t.headers,this.succinctPass1(t),this.succinctPass2(t),this.succinctFilter(r),Zc(this)}succinctFilter(t){dz(this,t)}succinctPass1(t){const r=this.processor.docSets[this.docSetId];for(const n of t.allSequences())r.recordPreEnum("ids",n.id),this.recordPreEnums(r,n);r.enums.wordLike.length===0&&r.sortPreEnums(),r.buildEnums()}recordPreEnums(t,r){mz(t,r)}rerecordPreEnums(t,r){Ez(t,r)}succinctPass2(t){const r=this.processor.docSets[this.docSetId];this.mainId=t.sequences.main.id;for(const n of t.allSequences())this.sequences[n.id]={id:n.id,type:n.type,tags:new Set(n.tags),isBaseType:n.type in t.baseSequenceTypes,blocks:n.succinctifyBlocks(r)};this.sequences[this.mainId].verseMapping={}}modifySequence(t,r,n,u,s,o){ez(this,t,r,n,u,s,o)}buildChapterVerseIndex(){Zc(this)}chapterVerseIndexes(){const t={};for(const r of Object.keys(this.sequences[this.mainId].chapterVerses))t[r]=ng(this,r);return t}chapterVerseIndex(t){return ng(this,t)}chapterIndexes(){const t={};for(const r of Object.keys(this.sequences[this.mainId].chapters))t[r]=ug(this,r);return t}chapterIndex(t){return ug(this,t)}rewriteSequenceBlocks(t,r){const n=this.sequences[t];for(const u of n.blocks)this.rewriteSequenceBlock(u,r)}rewriteSequenceBlock(t,r){lz(t,r)}serializeSuccinct(){return fz(this)}gcSequences(){return YJ(this)}newSequence(t,r){return ZJ(this,t,r)}deleteSequence(t){return QJ(this,t)}deleteBlock(t,r,n){return iz(this,t,r,n)}newBlock(t,r,n,u,s){return cz(this,t,r,n,u,s)}perf(t){const r=new vu.PerfRenderFromProskomma({proskomma:this.processor,actions:vu.render.perfToPerf.renderActions.identityActions}),n={};return r.renderDocument({docId:this.id,config:{},output:n}),t?JSON.stringify(n.perf,null,t):JSON.stringify(n.perf)}async usfm(){const t=JSON.parse(this.perf());try{return(await new vu.PipelineHandler({pipelines:I7,transforms:N7,proskomma:this.processor}).runPipeline("perf2usfmPipeline",{perf:t})).usfm}catch(r){console.error(`pipelineHandler Error : -`,r)}}sofria(t,r){const n=new vu.SofriaRenderFromProskomma({proskomma:this.processor,actions:vu.render.sofriaToSofria.renderActions.identityActions}),u={},s={};r&&(s.chapters=[`${r}`]);try{n.renderDocument({docId:this.id,config:s,output:u})}catch(o){throw console.log(o),o}return t?JSON.stringify(u.sofria,null,t):JSON.stringify(u.sofria)}};const Cz=` +`)}}],startWrapper:[{description:"Output start tag",test:()=>!0,action:({workspace:e,context:t})=>{let r=t.sequences[0];e.nestedWrapper>0?e.usfmBits.push(`\\+${_r(r.element.subType.split(":")[1])} `):e.usfmBits.push(`\\${_r(r.element.subType.split(":")[1])} `),e.nestedWrapper+=1}}],endWrapper:[{description:"Output end tag",test:({context:e})=>!["fr","fq","fqa","fk","fl","fw","fp","ft","xo","xk","xq","xt","xta"].includes(e.sequences[0].element.subType.split(":")[1]),action:({workspace:e,context:t})=>{e.nestedWrapper-=1;let r=t.sequences[0],n=r.element.subType.split(":")[1],u=e.nestedWrapper>0;if(n==="w"){let s=RJ(r.element.atts,_r(n),u);e.usfmBits.push(s)}else u?e.usfmBits.push(`\\+${_r(r.element.subType.split(":")[1])}*`):e.usfmBits.push(`\\${_r(r.element.subType.split(":")[1])}*`)}},{description:"Do NOT output end tag",test:()=>!0,action:({workspace:e})=>{e.nestedWrapper-=1}}],endDocument:[{description:"Build output",test:()=>!0,action:({workspace:e,output:t})=>{t.usfm=e.usfmBits.join("").replace(/(\s*)\n(\s*)/gm,` +`)}}]},MJ=function({perf:e,report:t}){const r=new vu.PerfRenderFromJson({srcJson:e,actions:jJ}),n={};return r.renderDocument({docId:"",config:{report:t},output:n}),{usfm:n.usfm}},LJ={name:"perf2usfm",type:"Transform",description:"PERF=>USFM",inputs:[{name:"perf",type:"json",source:""},{name:"report",type:"json",source:""}],outputs:[{name:"usfm",type:"text"}],code:MJ},UJ=ds.filter(e=>e[1]==="wordLike")[0][2],GJ=ds.filter(e=>e[1]==="lineSpace")[0][2],VJ=ds.filter(e=>e[1]==="punctuation")[0][2],HJ=e=>{[...e.os].reverse().forEach(t=>{e.block.items.push({type:"scope",subType:"end",payload:t})}),e.os=[]},WJ=e=>{[...e.os.filter(t=>["span"].includes(t.split("/")[1]))].reverse().forEach(t=>{e.block.items.push({type:"scope",subType:"end",payload:t}),e.os=[...e.os.filter(r=>r!==t)]})},rg=e=>{[...e.os.filter(t=>["verse","verses"].includes(t.split("/")[0]))].reverse().forEach(t=>{e.block.items.push({type:"scope",subType:"end",payload:t}),e.os=[...e.os.filter(r=>r!==t)]})},JJ=e=>{[...e.os.filter(t=>["chapter"].includes(t.split("/")[0]))].reverse().forEach(t=>{e.block.items.push({type:"scope",subType:"end",payload:t}),e.os=[...e.os.filter(r=>r!==t)]})},zJ={startDocument:[{description:"Set up word object",test:()=>!0,action:({workspace:e,output:t})=>{t.pkJson={},e.sequenceId=null,e.block=null,e.os=[],e.waitingBlockGrafts=[]}}],startSequence:[{description:"Add sequence array to output",test:()=>!0,action:e=>{e.output.pkJson[e.context.sequences[0].id]=[],e.workspace.sequenceId=e.context.sequences[0].id}}],endSequence:[{description:"Reset sequenceId pointer",test:()=>!0,action:e=>{var t;HJ(e.workspace),e.workspace.sequenceId=(t=e.context.sequences[1])==null?void 0:t.id}}],unresolvedBlockGraft:[{description:"Stash for next para",test:()=>!0,action:({context:e,workspace:t})=>{e.sequences[0].block.target&&t.waitingBlockGrafts.push({type:"graft",subType:e.sequences[0].block.subType,payload:e.sequences[0].block.target})}}],unresolvedInlineGraft:[{description:"Follow inline grafts",test:()=>!0,action:({context:e,workspace:t})=>{e.sequences[0].element.target&&t.block.items.push({type:"graft",subType:e.sequences[0].element.subType,payload:e.sequences[0].element.target})}}],startParagraph:[{description:"Add object for paragraph block",test:()=>!0,action:({context:e,workspace:t,output:r})=>{t.block={os:[...t.os],is:[],bs:{type:"scope",subType:"start",payload:`blockTag/${e.sequences[0].block.subType.split(":")[1]}`},bg:[...t.waitingBlockGrafts],items:[]},r.pkJson[t.sequenceId].push(t.block)}}],endParagraph:[{description:"Close open scopes",test:()=>!0,action:({workspace:e})=>{WJ(e),e.waitingBlockGrafts=[]}}],mark:[{description:"ts mark as milestone",test:({context:e})=>["usfm:ts"].includes(e.sequences[0].element.subType),action:({workspace:e})=>{const t="milestone/ts";e.block.is.includes(t)||e.block.is.push(t),e.os.push(t),e.block.items.push({type:"scope",subType:"start",payload:t}),e.block.items.push({type:"scope",subType:"end",payload:t})}},{description:"Chapter",test:({context:e})=>["chapter"].includes(e.sequences[0].element.subType),action:({context:e,workspace:t})=>{rg(t),JJ(t);const n=`chapter/${e.sequences[0].element.atts.number}`;t.block.is.includes(n)||t.block.is.push(n),t.os.push(n),t.block.items.push({type:"scope",subType:"start",payload:n})}},{description:"Verses",test:({context:e})=>["verses"].includes(e.sequences[0].element.subType),action:({context:e,workspace:t})=>{rg(t);const r=e.sequences[0].element,n=r.atts.number;let u=[parseInt(n)];if(n.includes("-")){let[o,a]=n.split("-").map(i=>parseInt(i));for(u=[o];o<=a;)o++,u.push(o)}for(const o of u){const a=`verse/${o}`;t.os.push(a),t.block.is.includes(a)||t.block.is.push(a),t.block.items.push({type:"scope",subType:"start",payload:a})}const s=`verses/${r.atts.number}`;t.block.is.includes(s)||t.block.is.push(s),t.os.push(s),t.block.items.push({type:"scope",subType:"start",payload:s})}}],startMilestone:[{description:"Add scope and update state",test:()=>!0,action:({context:e,workspace:t})=>{const r=e.sequences[0].element,n=`milestone/${r.subType.split(":")[1]}`;t.block.is.includes(n)||t.block.is.push(n),t.os.push(n),t.block.items.push({type:"scope",subType:"start",payload:n});for(const[u,s]of Object.entries(r.atts||{})){const o=s.toString().split(",");for(const[a,i]of o.entries()){const c=`attribute/milestone/${r.subType.split(":")[1]}/${u}/${a}/${i}`;t.block.is.includes(c)||t.block.is.push(c),t.os.push(c),t.block.items.push({type:"scope",subType:"start",payload:c})}}}}],endMilestone:[{description:"Remove scope and update state",test:()=>!0,action:({context:e,workspace:t})=>{const r=e.sequences[0].element,n=`attribute/milestone/${r.subType.split(":")[1]}`;for(const s of[...t.os.filter(o=>o.startsWith(n))].reverse())t.os=t.os.filter(o=>o!==s),t.block.items.push({type:"scope",subType:"end",payload:s});const u=`milestone/${r.subType.split(":")[1]}`;t.os=t.os.filter(s=>s!==u),t.block.items.push({type:"scope",subType:"end",payload:u})}}],startWrapper:[{description:"Add scope and update state",test:()=>!0,action:({context:e,workspace:t})=>{const r=e.sequences[0].element,n=`${r.subType==="usfm:w"?"spanWithAtts":"span"}/${r.subType.split(":")[1]}`;t.block.is.includes(n)||t.block.is.push(n),t.os.push(n),t.block.items.push({type:"scope",subType:"start",payload:n});for(const[u,s]of Object.entries(r.atts||{})){const o=s.toString().split(",");for(const[a,i]of o.entries()){const c=`attribute/spanWithAtts/w/${u}/${a}/${i}`;t.block.is.includes(c)||t.block.is.push(c),t.os.push(c),t.block.items.push({type:"scope",subType:"start",payload:c})}}}}],endWrapper:[{description:"Remove scope and update state",test:()=>!0,action:({context:e,workspace:t})=>{const r=e.sequences[0].element;for(const[u,s]of[...Object.entries(r.atts||{})].reverse()){const o=s.toString().split(",");for(const[a,i]of[...o.entries()].reverse()){const c=`attribute/spanWithAtts/w/${u}/${a}/${i}`;t.os=t.os.filter(l=>l!==c),t.block.items.push({type:"scope",subType:"end",payload:c})}}const n=`${r.subType==="usfm:w"?"spanWithAtts":"span"}/${r.subType.split(":")[1]}`;t.os=t.os.filter(u=>u!==n),t.block.items.push({type:"scope",subType:"end",payload:n})}}],text:[{description:"Log occurrences",test:()=>!0,action:({context:e,workspace:t})=>{const r=e.sequences[0].element.text,n=Z.union(ds.map(s=>s[2])),u=Z.match(r,n,"all");for(const s of u){let o;Z.test(s,UJ)?o="wordLike":Z.test(s,GJ)?o="lineSpace":Z.test(s,VJ)&&(o="punctuation"),t.block.items.push({type:"token",subType:o,payload:s})}}}],endDocument:[{description:"Rework hanging end cv scopes",test:()=>!0,action:({output:e})=>{const t=Object.values(e.pkJson)[0];for(let r=1;r0;){const o=n.shift();u.push(o),t[r].os=t[r].os.filter(a=>a!==o.payload),s--}}}}]},KJ=function({perf:e}){const t=new vu.PerfRenderFromJson({srcJson:e,ignoreMissingSequences:!0,actions:zJ}),r={};return t.renderDocument({docId:"",config:{},output:r}),{pkJson:r.pkJson}},XJ={name:"perf2PkJson",type:"Transform",description:"PERF=>JSON: Converts PERF to current Proskomma input format",documentation:"",inputs:[{name:"perf",type:"json",source:""}],outputs:[{name:"pkJson",type:"json"}],code:KJ},x7={calculateUsfmChapterPositions:qJ,perf2usfm:LJ,perf2PkJson:XJ},ng=ye.ByteArray,{itemEnum:Cf}=ye.itemDefs,{tokenEnum:YJ}=ye.tokenDefs,ZJ=0,Ko=2,yp=3,Zc=e=>{const t=e.sequences[e.mainId],r=e.processor.docSets[e.docSetId];r.buildPreEnums(),r.buildEnumIndexes();const n={},u={};let s="0",o="0",a="1",i=0;if(t.chapterVerses={},r.enums.wordLike.length===0)throw new Error("No wordLike content in docSet - probably a USFM issue, maybe missing \\mt?");t.tokensPresent=new h6(new Array(r.enums.wordLike.length).fill(0).map(c=>c.toString()).join(""));for(const[c,l]of t.blocks.entries()){let p=0,d=l.c,f=-1;for(;pparseInt(A)).sort((A,m)=>A-m);if(d.length===0)continue;const f=d[d.length-1],h=Array.from(Array(f+1).keys());let y=0;for(const A of h){const m=`${A}`;if(m in l){const v=l[m],C=v.length;for(const[B,T]of v.entries()){if(!T.verses){console.log(`** VerseElement without verses for ${A} in buildChapterVerseIndex`);continue}const N=r.enumForCategoryValue("scopeBits",T.verses),R=T.startBlock===T.endBlock?Ko:yp;p.pushByte(0),R===Ko?p.pushNBytes([T.startBlock,T.startItem,T.endItem,T.nextToken,N]):p.pushNBytes([T.startBlock,T.endBlock,T.startItem,T.endItem,T.nextToken,N]),p.setByte(y,bf(R,B===C-1,p.length-y)),y=p.length}}else p.pushByte(bf(ZJ,!0,1)),y++}p.trim()}t.chapters={};for(const[c,l]of Object.entries(u)){if(!("startBlock"in l)||!("endBlock"in l))continue;const p=new ng;t.chapters[c]=p;const d=l.startBlock===l.endBlock?Ko:yp;p.pushByte(0),d===Ko?p.pushNBytes([l.startBlock,l.startItem,l.endItem,l.nextToken]):p.pushNBytes([l.startBlock,l.endBlock,l.startItem,l.endItem,l.nextToken]),p.setByte(0,bf(d,!0,p.length)),p.trim()}},ug=(e,t)=>{const r=e.processor.docSets[e.docSetId];r.buildEnumIndexes();const n=[],u=e.sequences[e.mainId].chapterVerses[t];if(u){let s=0,o=[];for(;s{const r=e.sequences[e.mainId].chapters[t];if(r){const n=R7(r,0)[0];if(n===Ko){const u=r.nBytes(1,4);return{startBlock:u[0],endBlock:u[0],startItem:u[1],endItem:u[2],nextToken:u[3]}}else if(n===yp){const u=r.nBytes(1,5);return{startBlock:u[0],endBlock:u[1],startItem:u[2],endItem:u[3],nextToken:u[4]}}}},bf=(e,t,r)=>r+(t?32:0)+e*64,R7=(e,t)=>{const r=e.byte(t);return[r>>6,(r>>5)%2===1,r%32]},QJ=e=>{const t=new Set,r=e.processor.docSets[e.docSetId];r.maybeBuildEnumIndexes();const n=(s,o,a)=>{a.add(o.id);for(const i of o.blocks){for(const c of r.unsuccinctifyGrafts(i.bg))a.has(c[2])||n(s,s.sequences[c[2]],a);for(const c of r.unsuccinctifyItems(i.c,{grafts:!0},0))a.has(c[2])||n(s,s.sequences[c[2]],a)}};n(e,e.sequences[e.mainId],t);let u=!1;for(const s of Object.keys(e.sequences))t.has(s)||(delete e.sequences[s],u=!0);return u},ez=(e,t,r)=>{const n=ye.generateId();return e.sequences[n]={id:n,type:t,tags:new Set(r||[]),isBaseType:t in e.baseSequenceTypes,blocks:[]},n},tz=(e,t)=>{if(!(t in e.sequences))return!1;if(e.sequences[t].type==="main")throw new Error("Cannot delete main sequence");return e.sequences[t].type in e.baseSequenceTypes?og(e,"block",t):og(e,"inline",t),delete e.sequences[t],e.buildChapterVerseIndex(globalThis),e.gcSequences(),!0},og=(e,t,r)=>{const n=e.processor.docSets[e.docSetId];for(const u of Object.values(e.sequences))for(const s of u.blocks){const o=t==="block"?s.bg:s.c;let a=0;for(;a{e.processor.docSets[e.docSetId].maybeBuildEnumIndexes(),r=r||(l=>l);const i=e.sequences[t],c=r({id:t,type:i.type,tags:i.tags,isBaseType:i.isBaseType,verseMapping:i.verseMapping});return nz(i,c,n,u,s,o),e.sequences[t]=c,c.type==="main"&&e.buildChapterVerseIndex(),c},nz=(e,t,r,n,u,s)=>{r=r||((o,a,i)=>!!i),n=n||((o,a,i,c,l,p,d)=>!!i||d),u=u||((o,a,i)=>i),s=s||((o,a,i,c,l,p,d,f,h)=>{for(let y=0;y{let o=0,a=-1;for(;o{if(n!==!1&&(n=!0),!(t in e.sequences))return!1;const u=e.sequences[t];return r<0||r>=u.blocks.length?!1:(u.blocks.splice(r,1),n&&e.buildChapterVerseIndex(globalThis),!0)},pz=(e,t,r,n,u,s)=>{if(s!==!1&&(s=!0),!(t in e.sequences))return!1;const o=e.sequences[t];if(r<0||r>o.blocks.length)return!1;const a=e.processor.docSets[e.docSetId];a.maybeBuildPreEnums();const i={bs:new ks(0),bg:new ks(0),c:new ks(0),os:new ks(0),is:new ks(0),nt:new ks(0)},c=n.split("/"),l=oz[c[0]],p=M7(c[0]);if(c.length!==p)throw new Error(`Scope ${n} has ${c.length} component(s) (expected ${p}`);const d=c.slice(1).map(f=>a.enumForCategoryValue("scopeBits",f,!0));return j7(i.bs,eh.startScope,l,d),i.bs.trim(),u&&T6(a,e.id,t,r,u),o.blocks.splice(r,0,i),s&&e.buildChapterVerseIndex(),!0},dz=(e,t)=>{for(const r of["bs","bg","c","is","os"]){const n=e[r],u=new ks(n.length);let s=0;for(;s1;){const d=t.scopeBits[n.nByte(s+p)];l.push(d),p+=n.nByteLength(d),c--}j7(u,a,i,l)}s+=o}u.trim(),e[r]=u}},fz=ye.ByteArray,{itemEnum:Sf}=ye.itemDefs,Dz=(e,t)=>{if(!t||Object.keys(t).length===0)return;const r=e.processor.docSets[e.docSetId],n=(s,o,a,i,c,l,p)=>{if(c===Sf.token)return!0;if(c===Sf.startScope||c===Sf.endScope){if(!t.includeScopes&&!t.excludeScopes)return!0;{const d=r.unsuccinctifyScope(a.c,c,l,p);return(!t.includeScopes||t.includeScopes.filter(f=>d[2].startsWith(f)).length>0)&&(!t.excludeScopes||t.excludeScopes.filter(f=>d[2].startsWith(f)).length===0)}}else{if(!t.includeGrafts&&!t.excludeGrafts)return!0;const d=r.unsuccinctifyGraft(a.c,l,p);return(!t.includeGrafts||t.includeGrafts.filter(f=>d[1].startsWith(f)).length>0)&&(!t.excludeGrafts||t.excludeGrafts.filter(f=>d[1].startsWith(f)).length===0)}},u=(s,o,a)=>{const i=new fz(a.bg.length);let c=0;for(;cf[1].startsWith(h)).length>0)&&(!t.excludeGrafts||t.excludeGrafts.filter(h=>f[1].startsWith(h)).length===0))for(let h=0;h{e.modifySequence(s,null,null,n,u,null)}),Object.values(e.sequences).forEach(s=>r.updateBlockIndexesAfterFilter(s)),e.gcSequences()},hz=e=>{const t={sequences:{}};t.headers=e.headers,t.mainId=e.mainId,t.tags=Array.from(e.tags);for(const[r,n]of Object.entries(e.sequences))t.sequences[r]=mz(n);return t},mz=e=>{const t={type:e.type,blocks:e.blocks.map(r=>Ez(r)),tags:Array.from(e.tags)};if(e.type==="main"){t.chapters={};for(const[r,n]of Object.entries(e.chapters||{}))n.trim(),t.chapters[r]=n.base64();t.chapterVerses={};for(const[r,n]of Object.entries(e.chapterVerses||{}))n.trim(),t.chapterVerses[r]=n.base64();"tokensPresent"in e&&(t.tokensPresent="0x"+e.tokensPresent.toString(16))}return t},Ez=e=>{for(const t of["bs","bg","c","is","os","nt"])e[t].trim();return{bs:e.bs.base64(),bg:e.bg.base64(),c:e.c.base64(),is:e.is.base64(),os:e.os.base64(),nt:e.nt.base64()}},yz=(e,t)=>{e.recordPreEnum("scopeBits","0");for(const[r,n]of t.blocks.entries())for(const[u,s]of[...n.items,n.bs,...n.bg].entries())if(s.subType==="wordLike")e.recordPreEnum("wordLike",s.payload);else if(["lineSpace","eol","punctuation","softLineBreak","bareSlash","unknown"].includes(s.subType))e.recordPreEnum("notWordLike",s.payload);else if(s.type==="graft")e.recordPreEnum("graftTypes",s.subType);else if(s.subType==="start"){const o=s.payload.split("/");if(o.length!==ye.scopeDefs.nComponentsForScope(o[0]))throw new Error(`Scope ${s.payload} has unexpected number of components`);for(const a of o.slice(1))e.recordPreEnum("scopeBits",a)}},vz=(e,t)=>{e.recordPreEnum("scopeBits","0"),e.recordPreEnum("ids",t.id);for(const r of t.blocks)for(const n of["bs","bg","c","is","os"])gz(e,r[n])},gz=(e,t)=>{for(const r of e.unsuccinctifyItems(t,{},0))if(r[0]==="token")r[1]==="wordLike"?e.recordPreEnum("wordLike",r[2]):e.recordPreEnum("notWordLike",r[2]);else if(r[0]==="graft")e.recordPreEnum("graftTypes",r[1]);else if(r[0]==="scope"&&r[1]==="start"){const n=r[2].split("/");if(n.length!==ye.scopeDefs.nComponentsForScope(n[0]))throw new Error(`Scope ${r[2]} has unexpected number of components`);for(const u of n.slice(1))e.recordPreEnum("scopeBits",u)}},{addTag:Az,removeTag:Fz,validateTags:Cz}=ye.tags,bz=ye.parserConstants;let ig=class{constructor(t,r,n,u,s,o,a,i){if(this.processor=t,this.docSetId=r,this.baseSequenceTypes=bz.usfm.baseSequenceTypes,n)switch(this.id=ye.generateId(),this.filterOptions=s,this.customTags=o,this.emptyBlocks=a,this.tags=new Set(i||[]),Cz(this.tags),this.headers={},this.mainId=null,this.sequences={},n.toLowerCase()){case"usfm":case"sfm":this.processUsfm(u);break;case"usx":this.processUsx(u);break;case"tsv":this.processTSV(u);break;case"nodes":this.processNodes(u);break;default:throw new Error(`Unknown document contentType '${n}'`)}}addTag(t){Az(this.tags,t)}removeTag(t){Fz(this.tags,t)}makeParser(){return new PJ(this.filterOptions,this.customTags,this.emptyBlocks)}processUsfm(t){const r=this.makeParser();aJ(t,r),this.postParseScripture(r)}processUsx(t){const r=this.makeParser();mJ(t,r),this.postParseScripture(r)}processTSV(t){const r=this.makeParser(),n=`T${this.processor.nextTable>9?this.processor.nextTable:"0"+this.processor.nextTable}`;this.processor.nextTable++,_J(t,r,n),this.headers=r.headers,this.succinctPass1(r),this.succinctPass2(r),Zc(this);const u=Object.values(this.sequences).filter(s=>s.type==="table")[0];for(const[s,o]of JSON.parse(t).headings.entries())u.tags.add(`col${s}:${o}`)}processNodes(t){const r=this.makeParser(),n=`N${this.processor.nextNodes>9?this.processor.nextNodes:"0"+this.processor.nextNodes}`;this.processor.nextNodes++,BJ(t,r,n),this.headers=r.headers,this.succinctPass1(r),this.succinctPass2(r),Zc(this)}postParseScripture(t){t.tidy();const r=t.filterOptions;this.headers=t.headers,this.succinctPass1(t),this.succinctPass2(t),this.succinctFilter(r),Zc(this)}succinctFilter(t){Dz(this,t)}succinctPass1(t){const r=this.processor.docSets[this.docSetId];for(const n of t.allSequences())r.recordPreEnum("ids",n.id),this.recordPreEnums(r,n);r.enums.wordLike.length===0&&r.sortPreEnums(),r.buildEnums()}recordPreEnums(t,r){yz(t,r)}rerecordPreEnums(t,r){vz(t,r)}succinctPass2(t){const r=this.processor.docSets[this.docSetId];this.mainId=t.sequences.main.id;for(const n of t.allSequences())this.sequences[n.id]={id:n.id,type:n.type,tags:new Set(n.tags),isBaseType:n.type in t.baseSequenceTypes,blocks:n.succinctifyBlocks(r)};this.sequences[this.mainId].verseMapping={}}modifySequence(t,r,n,u,s,o){rz(this,t,r,n,u,s,o)}buildChapterVerseIndex(){Zc(this)}chapterVerseIndexes(){const t={};for(const r of Object.keys(this.sequences[this.mainId].chapterVerses))t[r]=ug(this,r);return t}chapterVerseIndex(t){return ug(this,t)}chapterIndexes(){const t={};for(const r of Object.keys(this.sequences[this.mainId].chapters))t[r]=sg(this,r);return t}chapterIndex(t){return sg(this,t)}rewriteSequenceBlocks(t,r){const n=this.sequences[t];for(const u of n.blocks)this.rewriteSequenceBlock(u,r)}rewriteSequenceBlock(t,r){dz(t,r)}serializeSuccinct(){return hz(this)}gcSequences(){return QJ(this)}newSequence(t,r){return ez(this,t,r)}deleteSequence(t){return tz(this,t)}deleteBlock(t,r,n){return lz(this,t,r,n)}newBlock(t,r,n,u,s){return pz(this,t,r,n,u,s)}perf(t){const r=new vu.PerfRenderFromProskomma({proskomma:this.processor,actions:vu.render.perfToPerf.renderActions.identityActions}),n={};return r.renderDocument({docId:this.id,config:{},output:n}),t?JSON.stringify(n.perf,null,t):JSON.stringify(n.perf)}async usfm(){const t=JSON.parse(this.perf());try{return(await new vu.PipelineHandler({pipelines:q7,transforms:x7,proskomma:this.processor}).runPipeline("perf2usfmPipeline",{perf:t})).usfm}catch(r){console.error(`pipelineHandler Error : +`,r)}}sofria(t,r){const n=new vu.SofriaRenderFromProskomma({proskomma:this.processor,actions:vu.render.sofriaToSofria.renderActions.identityActions}),u={},s={};r&&(s.chapters=[`${r}`]);try{n.renderDocument({docId:this.id,config:s,output:u})}catch(o){throw console.log(o),o}return t?JSON.stringify(u.sofria,null,t):JSON.stringify(u.sofria)}};const Sz=` """Key/Value tuple""" type KeyValue { """The key""" key: String! """The value""" value: String! -}`,bz={key:e=>e[0],value:e=>e[1]},Sz=` +}`,wz={key:e=>e[0],value:e=>e[1]},_z=` """A chapter-verse reference""" type cv { """The chapter number""" @@ -244,7 +244,7 @@ type cv { """The verse number""" verse: Int } -`,wz={chapter:e=>e[0],verse:e=>e[1]},_z=` +`,Bz={chapter:e=>e[0],verse:e=>e[1]},Tz=` """Type-dependent parts of the ID header""" type idParts { """The type of the ID""" @@ -257,7 +257,7 @@ type idParts { index: Int! ): String } -`,Bz={type:e=>e[0],parts:e=>e[1],part:(e,t)=>!e[1]||t.index<0||t.index>=e[1].length?null:e[1][t.index]},Tz=` +`,$z={type:e=>e[0],parts:e=>e[1],part:(e,t)=>!e[1]||t.index<0||t.index>=e[1].length?null:e[1][t.index]},Pz=` """Attribute Specification""" input AttSpec { """The type of attribute, ie what type of thing it's connected to""" @@ -268,7 +268,7 @@ tagName: String! attKey: String! """The position of the value (which is 0 except for attributes with multiple values)""" valueN: Int! -}`,$z=` +}`,kz=` """Key/Regex tuple""" input KeyMatches { """The key""" @@ -276,7 +276,7 @@ input KeyMatches { """The regex to match""" matches: String! } -`,Pz=` +`,Oz=` """Input Key/Value Object""" input InputKeyValue { """The key""" @@ -284,7 +284,7 @@ input InputKeyValue { """The value""" value: String! } -`,kz=` +`,Iz=` """Input Key/Values Object""" input KeyValues { """The key""" @@ -292,7 +292,7 @@ input KeyValues { """The values""" values: [String!]! } -`,Oz=` +`,Nz=` """Item for arguments""" input InputItemObject { """The basic item type (token, scope or graft)'""" @@ -301,7 +301,7 @@ input InputItemObject { subType: String! """The content of the item (the text for tokens, the label for scopes and the sequence id for grafts)""" payload: String! -}`,Iz=(e,t)=>{if(e.length===0)return!0;for(const r of e)if(t.startsWith(r))return!0;return!1},Nz=` +}`,qz=(e,t)=>{if(e.length===0)return!0;for(const r of e)if(t.startsWith(r))return!0;return!1},xz=` """Item""" type Item { """The basic item type (token, scope or graft)""" @@ -328,9 +328,9 @@ type Item { startsWith: [String!] ): [String!] } -`,qz={type:e=>e[0],subType:e=>e[1],payload:(e,t)=>{let r=e[2];if(e[0]==="token"&&(t.normalizeSpace&&(r=e[2].replace(/[ \t\n\r]+/g," ")),t.includeChars||t.excludeChars)){let n=r.split("");n=n.filter(u=>!t.includeChars||t.includeChars.includes(u)),n=n.filter(u=>!t.excludeChars||!t.excludeChars.includes(u)),r=n.join("")}return r},position:e=>e[3],scopes:(e,t)=>e[4]?e[4].filter(r=>!t.startsWith||Iz(t.startsWith,r)):[]},xz=e=>{let t;switch(e[0]){case"token":return`|${e[2]}`;case"scope":return t=e[1]==="start"?"+":"-",`${t}${e[2]}${t}`;case"graft":return`>${e[1]}<`}},Yp=e=>e.map(t=>xz(t)).join(""),Rz=e=>{const t=["ItemGroup:"];return t.push(` Open Scopes ${e[0].join(", ")}`),t.push(` ${Yp(e[1])}`),t.join(` -`)},jz=e=>{const t=["Block:"];return e.bg.length>0&&e.bg.forEach(r=>t.push(` ${r[1]} graft to ${r[2]}`)),t.push(` Scope ${e.bs[2]}`),t.push(` ${Yp(e.c)}`),t.join(` -`)},Mz=(e,t)=>{if(e.length===0)return!0;for(const r of e)if(t.startsWith(r))return!0;return!1},Lz=` +`,Rz={type:e=>e[0],subType:e=>e[1],payload:(e,t)=>{let r=e[2];if(e[0]==="token"&&(t.normalizeSpace&&(r=e[2].replace(/[ \t\n\r]+/g," ")),t.includeChars||t.excludeChars)){let n=r.split("");n=n.filter(u=>!t.includeChars||t.includeChars.includes(u)),n=n.filter(u=>!t.excludeChars||!t.excludeChars.includes(u)),r=n.join("")}return r},position:e=>e[3],scopes:(e,t)=>e[4]?e[4].filter(r=>!t.startsWith||qz(t.startsWith,r)):[]},jz=e=>{let t;switch(e[0]){case"token":return`|${e[2]}`;case"scope":return t=e[1]==="start"?"+":"-",`${t}${e[2]}${t}`;case"graft":return`>${e[1]}<`}},Yp=e=>e.map(t=>jz(t)).join(""),Mz=e=>{const t=["ItemGroup:"];return t.push(` Open Scopes ${e[0].join(", ")}`),t.push(` ${Yp(e[1])}`),t.join(` +`)},Lz=e=>{const t=["Block:"];return e.bg.length>0&&e.bg.forEach(r=>t.push(` ${r[1]} graft to ${r[2]}`)),t.push(` Scope ${e.bs[2]}`),t.push(` ${Yp(e.c)}`),t.join(` +`)},Uz=(e,t)=>{if(e.length===0)return!0;for(const r of e)if(t.startsWith(r))return!0;return!1},Gz=` """A collection of items, with scope context""" type ItemGroup { """Items for this itemGroup""" @@ -357,7 +357,7 @@ type ItemGroup { """A list of scopes from the items of the itemGroup""" includedScopes: [String!]! } -`,Uz={items:e=>e[1],tokens:(e,t)=>e[1].filter(r=>r[0]==="token"&&(!t.withChars||t.withChars.includes(r[2]))&&(!t.withSubTypes||t.withSubTypes.includes(r[1]))),text:(e,t)=>{const r=e[1].filter(n=>n[0]==="token").map(n=>n[2]).join("");return t.normalizeSpace?r.replace(/[ \t\n\r]+/g," "):r},scopeLabels:(e,t)=>e[0].filter(r=>!t.startsWith||Mz(t.startsWith,r)),dump:e=>Rz(e),includedScopes:e=>Array.from(new Set(e[1].filter(t=>t[0]==="scope"&&t[1]==="start").map(t=>t[2])))},Gz=` +`,Vz={items:e=>e[1],tokens:(e,t)=>e[1].filter(r=>r[0]==="token"&&(!t.withChars||t.withChars.includes(r[2]))&&(!t.withSubTypes||t.withSubTypes.includes(r[1]))),text:(e,t)=>{const r=e[1].filter(n=>n[0]==="token").map(n=>n[2]).join("");return t.normalizeSpace?r.replace(/[ \t\n\r]+/g," "):r},scopeLabels:(e,t)=>e[0].filter(r=>!t.startsWith||Uz(t.startsWith,r)),dump:e=>Mz(e),includedScopes:e=>Array.from(new Set(e[1].filter(t=>t[0]==="scope"&&t[1]==="start").map(t=>t[2])))},Hz=` """Key/Items tuple""" type kvEntry { """The key""" @@ -366,14 +366,14 @@ type kvEntry { secondaryKeys: [KeyValue!] """The fields as itemGroups""" itemGroups: [ItemGroup]! -}`,Vz={key:e=>e[0],secondaryKeys:e=>e[1],itemGroups:e=>e[2]},Hz=` +}`,Wz={key:e=>e[0],secondaryKeys:e=>e[1],itemGroups:e=>e[2]},Jz=` """Information about a regex match on an enum""" type regexIndex { """The index in the enum""" index: String! """The string in the enum that matched""" matched: String! -}`,Wz={index:e=>e[0],matched:e=>e[1]},Jz=` +}`,zz={index:e=>e[0],matched:e=>e[1]},Kz=` """Row Equals Specification""" input rowEqualsSpec { """The position of the column in which to search a match""" @@ -381,7 +381,7 @@ input rowEqualsSpec { """The values to match""" values: [String!]! } -`,zz=` +`,Xz=` """Row Match Specification""" input rowMatchSpec { """The position of the column in which to search a match""" @@ -389,7 +389,7 @@ input rowMatchSpec { """The regex to match""" matching: String! } -`,Kz=` +`,Yz=` """Information about a verse range (which may only cover one verse)""" type verseRange { """The range, as it would be printed in a Bible""" @@ -397,7 +397,7 @@ type verseRange { """A list of verse numbers for this range""" numbers: [Int!]! } -`,Xz=` +`,Zz=` """Mapped verse information""" type orig { """The book code""" @@ -405,7 +405,7 @@ type orig { """A list of chapter-verse references""" cvs: [cv!]! } -`,Yz=` +`,Qz=` """Information about a verse number (which may be part of a verse range)""" type verseNumber { """The verse number""" @@ -415,7 +415,7 @@ type verseNumber { """The reference for this verse when mapped to 'original' versification""" orig: orig! } -`,Zz={orig:(e,t,r)=>{const n=r.doc.headers.bookCode,u=r.cvIndex[0],s=e.number,o=r.doc.sequences[r.doc.mainId];if(o.verseMapping&&"forward"in o.verseMapping&&`${u}`in o.verseMapping.forward){const a=ye.versification.mapVerse(o.verseMapping.forward[`${u}`],n,u,s);return{book:a[0],cvs:a[1]}}else return{book:n,cvs:[[u,s]]}}},Qz=` +`,eK={orig:(e,t,r)=>{const n=r.doc.headers.bookCode,u=r.cvIndex[0],s=e.number,o=r.doc.sequences[r.doc.mainId];if(o.verseMapping&&"forward"in o.verseMapping&&`${u}`in o.verseMapping.forward){const a=ye.versification.mapVerse(o.verseMapping.forward[`${u}`],n,u,s);return{book:a[0],cvs:a[1]}}else return{book:n,cvs:[[u,s]]}}},tK=` """A table cell""" type cell { """The row numbers""" @@ -432,7 +432,7 @@ type cell { normalizeSpace: Boolean ): String! } -`,eK={rows:e=>e[0],columns:e=>e[1],items:e=>e[2],tokens:e=>e[2].filter(t=>t[0]==="token"),text:(e,t)=>{let r=e[2].filter(n=>n[0]==="token").map(n=>n[2]).join("").trim();return t.normalizeSpace&&(r=r.replace(/[ \t\n\r]+/g," ")),r}},tK=` +`,rK={rows:e=>e[0],columns:e=>e[1],items:e=>e[2],tokens:e=>e[2].filter(t=>t[0]==="token"),text:(e,t)=>{let r=e[2].filter(n=>n[0]==="token").map(n=>n[2]).join("").trim();return t.normalizeSpace&&(r=r.replace(/[ \t\n\r]+/g," ")),r}},nK=` """A chapter index entry""" type cIndex { """The chapter number""" @@ -469,7 +469,7 @@ type cIndex { normalizeSpace: Boolean ): String! } -`,rK={chapter:e=>e[0],startBlock:e=>e[1].startBlock,endBlock:e=>e[1].endBlock,startItem:e=>e[1].startItem,endItem:e=>e[1].endItem,nextToken:e=>e[1].nextToken,items:(e,t,r)=>r.docSet.itemsByIndex(r.doc.sequences[r.doc.mainId],e[1],t.includeContext).reduce((n,u)=>n.concat([["token","lineSpace"," "]].concat(u)),[]),dumpItems:(e,t,r)=>{const n=r.docSet.itemsByIndex(r.doc.sequences[r.doc.mainId],e[1],!1);return n.length>0?Yp(n.reduce((u,s)=>u.concat([["token","lineSpace"," ",null]].concat(s)))):""},tokens:(e,t,r)=>r.docSet.itemsByIndex(r.doc.sequences[r.doc.mainId],e[1],t.includeContext).reduce((n,u)=>n.concat([["token","lineSpace"," "]].concat(u)),[]).filter(n=>n[0]==="token"&&(!t.withChars||t.withChars.includes(n[2]))&&(!t.withSubTypes||t.withSubTypes.includes(n[1]))),text:(e,t,r)=>{let n=r.docSet.itemsByIndex(r.doc.sequences[r.doc.mainId],e[1]).reduce((u,s)=>u.concat([["token","lineSpace"," "]].concat(s)),[]).filter(u=>u[0]==="token").map(u=>u[1]==="lineSpace"?" ":u[2]).join("").trim();return t.normalizeSpace&&(n=n.replace(/[ \t\n\r]+/g," ")),n}},nK=` +`,uK={chapter:e=>e[0],startBlock:e=>e[1].startBlock,endBlock:e=>e[1].endBlock,startItem:e=>e[1].startItem,endItem:e=>e[1].endItem,nextToken:e=>e[1].nextToken,items:(e,t,r)=>r.docSet.itemsByIndex(r.doc.sequences[r.doc.mainId],e[1],t.includeContext).reduce((n,u)=>n.concat([["token","lineSpace"," "]].concat(u)),[]),dumpItems:(e,t,r)=>{const n=r.docSet.itemsByIndex(r.doc.sequences[r.doc.mainId],e[1],!1);return n.length>0?Yp(n.reduce((u,s)=>u.concat([["token","lineSpace"," ",null]].concat(s)))):""},tokens:(e,t,r)=>r.docSet.itemsByIndex(r.doc.sequences[r.doc.mainId],e[1],t.includeContext).reduce((n,u)=>n.concat([["token","lineSpace"," "]].concat(u)),[]).filter(n=>n[0]==="token"&&(!t.withChars||t.withChars.includes(n[2]))&&(!t.withSubTypes||t.withSubTypes.includes(n[1]))),text:(e,t,r)=>{let n=r.docSet.itemsByIndex(r.doc.sequences[r.doc.mainId],e[1]).reduce((u,s)=>u.concat([["token","lineSpace"," "]].concat(s)),[]).filter(u=>u[0]==="token").map(u=>u[1]==="lineSpace"?" ":u[2]).join("").trim();return t.normalizeSpace&&(n=n.replace(/[ \t\n\r]+/g," ")),n}},sK=` """""" type cvVerseElement { """The zero-indexed number of the block where the verse starts""" @@ -506,13 +506,13 @@ type cvVerseElement { normalizeSpace: Boolean ): String! } -`,uK={startBlock:e=>e.startBlock,endBlock:e=>e.endBlock,startItem:e=>e.startItem,endItem:e=>e.endItem,nextToken:e=>e.nextToken,verseRange:e=>e.verses,items:(e,t,r)=>r.docSet.itemsByIndex(r.doc.sequences[r.doc.mainId],e,t.includeContext).reduce((n,u)=>n.concat([["token","lineSpace"," ",null]].concat(u))),dumpItems:(e,t,r)=>Yp(r.docSet.itemsByIndex(r.doc.sequences[r.doc.mainId],e,t.includeContext).reduce((n,u)=>n.concat([["token","lineSpace"," ",null]].concat(u)))),tokens:(e,t,r)=>r.docSet.itemsByIndex(r.doc.sequences[r.doc.mainId],e,t.includeContext).reduce((n,u)=>n.concat([["token","lineSpace"," ",null]].concat(u))).filter(n=>n[0]==="token"&&(!t.withChars||t.withChars.includes(n[2]))&&(!t.withSubTypes||t.withSubTypes.includes(n[1]))),text:(e,t,r)=>{let n=r.docSet.itemsByIndex(r.doc.sequences[r.doc.mainId],e).reduce((u,s)=>u.concat([["token","lineSpace"," ",null]].concat(s))).filter(u=>u[0]==="token").map(u=>u[1]==="lineSpace"?" ":u[2]).join("").trim();return t.normalizeSpace&&(n=n.replace(/[ \t\n\r]+/g," ")),n}},sK=` +`,oK={startBlock:e=>e.startBlock,endBlock:e=>e.endBlock,startItem:e=>e.startItem,endItem:e=>e.endItem,nextToken:e=>e.nextToken,verseRange:e=>e.verses,items:(e,t,r)=>r.docSet.itemsByIndex(r.doc.sequences[r.doc.mainId],e,t.includeContext).reduce((n,u)=>n.concat([["token","lineSpace"," ",null]].concat(u))),dumpItems:(e,t,r)=>Yp(r.docSet.itemsByIndex(r.doc.sequences[r.doc.mainId],e,t.includeContext).reduce((n,u)=>n.concat([["token","lineSpace"," ",null]].concat(u)))),tokens:(e,t,r)=>r.docSet.itemsByIndex(r.doc.sequences[r.doc.mainId],e,t.includeContext).reduce((n,u)=>n.concat([["token","lineSpace"," ",null]].concat(u))).filter(n=>n[0]==="token"&&(!t.withChars||t.withChars.includes(n[2]))&&(!t.withSubTypes||t.withSubTypes.includes(n[1]))),text:(e,t,r)=>{let n=r.docSet.itemsByIndex(r.doc.sequences[r.doc.mainId],e).reduce((u,s)=>u.concat([["token","lineSpace"," ",null]].concat(s))).filter(u=>u[0]==="token").map(u=>u[1]==="lineSpace"?" ":u[2]).join("").trim();return t.normalizeSpace&&(n=n.replace(/[ \t\n\r]+/g," ")),n}},aK=` """Information about a verse in the chapter, which may be split into several pieces""" type cvVerses { """The pieces of verse""" verse: [cvVerseElement] } -`,oK={verse:e=>e},aK=` +`,iK={verse:e=>e},cK=` """A chapterVerse index entry""" type cvIndex { """The chapter number""" @@ -524,7 +524,7 @@ type cvIndex { """A list of verse number and range information, organized by verse range""" verseRanges: [verseRange!] } -`,iK={chapter:e=>e[0],verses:e=>e[1],verseNumbers:(e,t,r)=>(r.cvIndex=e,[...e[1].entries()].filter(n=>n[1].length>0).map(n=>({number:n[0],range:n[1][n[1].length-1].verses}))),verseRanges:e=>{const t=[];for(const[r,n]of[...e[1].entries()].filter(u=>u[1].length>0))t.length===0||t[t.length-1].range!==n[n.length-1].verses?t.push({range:n[n.length-1].verses,numbers:[r]}):t[t.length-1].numbers.push(r);return t}},ig=(e,t)=>{const r=parseInt(e[0]),n=parseInt(e[1]);if(e[3].length<=n||e[3][n].length===0)return null;let u=null,s=r,o=n,a=e[3],i=a[n][0].verses,c=!1;for(;!u;)if(o+=1,o>=a.length){if(c||!e[4])break;o=-1,s+=1,a=e[4],c=!0}else a[o].length>0&&(!t||c||a[o][0].verses!==i)&&(u=[s,o]);return u},cg=(e,t)=>{const r=parseInt(e[0]),n=parseInt(e[1]);if(e[3].length<=n||e[3][n].length===0)return null;let u=null,s=r,o=n,a=e[3],i=a[n][0].verses,c=!1;for(;!u;)if(o-=1,o<0){if(c||!e[2])break;o=e[2].length,s-=1,a=e[2],c=!0}else a[o].length>0&&(!t||c||a[o][0].verses!==i)&&(u=[s,o]);return u},cK=` +`,lK={chapter:e=>e[0],verses:e=>e[1],verseNumbers:(e,t,r)=>(r.cvIndex=e,[...e[1].entries()].filter(n=>n[1].length>0).map(n=>({number:n[0],range:n[1][n[1].length-1].verses}))),verseRanges:e=>{const t=[];for(const[r,n]of[...e[1].entries()].filter(u=>u[1].length>0))t.length===0||t[t.length-1].range!==n[n.length-1].verses?t.push({range:n[n.length-1].verses,numbers:[r]}):t[t.length-1].numbers.push(r);return t}},cg=(e,t)=>{const r=parseInt(e[0]),n=parseInt(e[1]);if(e[3].length<=n||e[3][n].length===0)return null;let u=null,s=r,o=n,a=e[3],i=a[n][0].verses,c=!1;for(;!u;)if(o+=1,o>=a.length){if(c||!e[4])break;o=-1,s+=1,a=e[4],c=!0}else a[o].length>0&&(!t||c||a[o][0].verses!==i)&&(u=[s,o]);return u},lg=(e,t)=>{const r=parseInt(e[0]),n=parseInt(e[1]);if(e[3].length<=n||e[3][n].length===0)return null;let u=null,s=r,o=n,a=e[3],i=a[n][0].verses,c=!1;for(;!u;)if(o-=1,o<0){if(c||!e[2])break;o=e[2].length,s-=1,a=e[2],c=!0}else a[o].length>0&&(!t||c||a[o][0].verses!==i)&&(u=[s,o]);return u},pK=` """Various answers to 'previous' and 'next' with respect to a verse""" type cvNavigation { """The verse number for the next verse""" @@ -540,7 +540,7 @@ type cvNavigation { """The previous chapter number (as a string)""" previousChapter: String } -`,lK={nextVerse:e=>ig(e,!1),previousVerse:e=>cg(e,!1),nextVerseRangeVerse:e=>ig(e,!0),previousVerseRangeVerse:e=>cg(e,!0),nextChapter:e=>e[3].length>0&&e[4].length>0?(parseInt(e[0])+1).toString():null,previousChapter:e=>e[2].length>0&&e[3].length>0?(parseInt(e[0])-1).toString():null},pK=` +`,dK={nextVerse:e=>cg(e,!1),previousVerse:e=>lg(e,!1),nextVerseRangeVerse:e=>cg(e,!0),previousVerseRangeVerse:e=>lg(e,!0),nextChapter:e=>e[3].length>0&&e[4].length>0?(parseInt(e[0])+1).toString():null,previousChapter:e=>e[2].length>0&&e[3].length>0?(parseInt(e[0])-1).toString():null},fK=` """A specification to create or update a block""" input inputBlockSpec { """The block scope as an item""" @@ -554,7 +554,7 @@ input inputBlockSpec { """The items""" items: [InputItemObject!]! } -`,dK=` +`,DK=` """A tree node""" type node { """The node id""" @@ -571,7 +571,7 @@ type node { """The node children ids""" childIds: [String!]! } -`,fK={id:(e,t,r)=>{const[n,u,s]=ye.succinct.headerBytes(e.bs,0);return r.docSet.unsuccinctifyScope(e.bs,u,s,0)[2].split("/")[1]},parentId:(e,t,r)=>{const n=r.docSet.unsuccinctifyScopes(e.is).filter(u=>u[2].startsWith("tTreeParent"))[0][2].split("/")[1];return n==="none"?null:n},keys:(e,t,r)=>r.docSet.unsuccinctifyScopes(e.is).filter(n=>n[2].startsWith("tTreeContent")).map(n=>n[2].split("/")[1]),itemGroups:(e,t,r)=>r.docSet.sequenceItemsByScopes([e],["tTreeContent/"],t.includeContext||!1),childIds:(e,t,r)=>r.docSet.unsuccinctifyScopes(e.is).filter(n=>n[2].startsWith("tTreeChild")).map(n=>n[2].split("/")[2])},DK=` +`,hK={id:(e,t,r)=>{const[n,u,s]=ye.succinct.headerBytes(e.bs,0);return r.docSet.unsuccinctifyScope(e.bs,u,s,0)[2].split("/")[1]},parentId:(e,t,r)=>{const n=r.docSet.unsuccinctifyScopes(e.is).filter(u=>u[2].startsWith("tTreeParent"))[0][2].split("/")[1];return n==="none"?null:n},keys:(e,t,r)=>r.docSet.unsuccinctifyScopes(e.is).filter(n=>n[2].startsWith("tTreeContent")).map(n=>n[2].split("/")[1]),itemGroups:(e,t,r)=>r.docSet.sequenceItemsByScopes([e],["tTreeContent/"],t.includeContext||!1),childIds:(e,t,r)=>r.docSet.unsuccinctifyScopes(e.is).filter(n=>n[2].startsWith("tTreeChild")).map(n=>n[2].split("/")[2])},mK=` """A contiguous flow of content for key-values""" type kvSequence { """The id of the sequence""" @@ -603,7 +603,7 @@ type kvSequence { tagName: String ): Boolean! } -`,hK={nEntries:e=>e.blocks.length,entries:(e,t,r)=>{let n=e.blocks.map(u=>[r.docSet.unsuccinctifyScopes(u.bs).map(s=>s[2].split("/")[1])[0],r.docSet.unsuccinctifyScopes(u.is).filter(s=>s[2].startsWith("kvSecondary/")).map(s=>[s[2].split("/")[1],s[2].split("/")[2]]),r.docSet.sequenceItemsByScopes([u],["kvField/"],!1)]);if(t.keyMatches&&(n=n.filter(u=>Z.test(u[0],Z(t.keyMatches)))),t.keyEquals&&(n=n.filter(u=>t.keyEquals.includes(u[0]))),t.secondaryMatches){const u={};t.secondaryMatches.forEach(s=>u[s.key]=s.matches),n=n.filter(s=>{const o={};s[1].forEach(a=>o[a[0]]=a[1]);for(const a of Object.entries(u)){const i=o[a[0]];if(!i||!Z.test(i,Z(a[1])))return!1}return!0})}if(t.secondaryEquals){const u={};t.secondaryEquals.forEach(s=>u[s.key]=s.values),n=n.filter(s=>{const o={};s[1].forEach(a=>o[a[0]]=a[1]);for(const a of Object.entries(u)){const i=o[a[0]];if(!i||!a[1].includes(i))return!1}return!0})}if(t.contentMatches){const u={};t.contentMatches.forEach(s=>u[s.key]=s.matches),n=n.filter(s=>{const o={};s[2].forEach(a=>o[a[0].filter(i=>i.startsWith("kvField"))[0].split("/")[1]]=a[1].filter(i=>i[0]==="token").map(i=>i[2]).join(""));for(const a of Object.entries(u)){const i=o[a[0]];if(!i||!Z.test(i,Z(a[1])))return!1}return!0})}if(t.contentEquals){const u={};t.contentEquals.forEach(s=>u[s.key]=s.values),n=n.filter(s=>{const o={};s[2].forEach(a=>o[a[0].filter(i=>i.startsWith("kvField"))[0].split("/")[1]]=a[1].filter(i=>i[0]==="token").map(i=>i[2]).join(""));for(const a of Object.entries(u)){const i=o[a[0]];if(!i||!i.includes(a[1]))return!1}return!0})}return n},tags:e=>Array.from(e.tags),tagsKv:e=>Array.from(e.tags).map(t=>t.includes(":")?[t.substring(0,t.indexOf(":")),t.substring(t.indexOf(":")+1)]:[t,""]),hasTag:(e,t)=>e.tags.has(t.tagName)},mK=` +`,EK={nEntries:e=>e.blocks.length,entries:(e,t,r)=>{let n=e.blocks.map(u=>[r.docSet.unsuccinctifyScopes(u.bs).map(s=>s[2].split("/")[1])[0],r.docSet.unsuccinctifyScopes(u.is).filter(s=>s[2].startsWith("kvSecondary/")).map(s=>[s[2].split("/")[1],s[2].split("/")[2]]),r.docSet.sequenceItemsByScopes([u],["kvField/"],!1)]);if(t.keyMatches&&(n=n.filter(u=>Z.test(u[0],Z(t.keyMatches)))),t.keyEquals&&(n=n.filter(u=>t.keyEquals.includes(u[0]))),t.secondaryMatches){const u={};t.secondaryMatches.forEach(s=>u[s.key]=s.matches),n=n.filter(s=>{const o={};s[1].forEach(a=>o[a[0]]=a[1]);for(const a of Object.entries(u)){const i=o[a[0]];if(!i||!Z.test(i,Z(a[1])))return!1}return!0})}if(t.secondaryEquals){const u={};t.secondaryEquals.forEach(s=>u[s.key]=s.values),n=n.filter(s=>{const o={};s[1].forEach(a=>o[a[0]]=a[1]);for(const a of Object.entries(u)){const i=o[a[0]];if(!i||!a[1].includes(i))return!1}return!0})}if(t.contentMatches){const u={};t.contentMatches.forEach(s=>u[s.key]=s.matches),n=n.filter(s=>{const o={};s[2].forEach(a=>o[a[0].filter(i=>i.startsWith("kvField"))[0].split("/")[1]]=a[1].filter(i=>i[0]==="token").map(i=>i[2]).join(""));for(const a of Object.entries(u)){const i=o[a[0]];if(!i||!Z.test(i,Z(a[1])))return!1}return!0})}if(t.contentEquals){const u={};t.contentEquals.forEach(s=>u[s.key]=s.values),n=n.filter(s=>{const o={};s[2].forEach(a=>o[a[0].filter(i=>i.startsWith("kvField"))[0].split("/")[1]]=a[1].filter(i=>i[0]==="token").map(i=>i[2]).join(""));for(const a of Object.entries(u)){const i=o[a[0]];if(!i||!i.includes(a[1]))return!1}return!0})}return n},tags:e=>Array.from(e.tags),tagsKv:e=>Array.from(e.tags).map(t=>t.includes(":")?[t.substring(0,t.indexOf(":")),t.substring(t.indexOf(":")+1)]:[t,""]),hasTag:(e,t)=>e.tags.has(t.tagName)},yK=` """A contiguous flow of content for a table""" type tableSequence { """The id of the sequence""" @@ -639,18 +639,18 @@ type tableSequence { """A list of column headings for this tableSequence, derived from the sequence tags""" headings: [String!]! } -`,EK={nCells:e=>e.blocks.length,nRows:(e,t,r)=>{const n=new Set([]);for(const u of e.blocks){const[s,o,a]=ye.succinct.headerBytes(u.bs,0),i=r.docSet.unsuccinctifyScope(u.bs,o,a,0)[2];n.add(i.split("/")[1])}return n.size},nColumns:(e,t,r)=>{const n=new Set([]);for(const u of e.blocks)for(const s of r.docSet.unsuccinctifyScopes(u.is).map(o=>o[2]))s.startsWith("tTableCol")&&n.add(s.split("/")[1]);return n.size},cells:(e,t,r)=>{const n=[];for(const u of e.blocks)n.push([r.docSet.unsuccinctifyScopes(u.bs).map(s=>parseInt(s[2].split("/")[1])),Array.from(new Set(r.docSet.unsuccinctifyScopes(u.is).filter(s=>s[2].startsWith("tTableCol")).map(s=>parseInt(s[2].split("/")[1])))),r.docSet.unsuccinctifyItems(u.c,{},0)]);return n},rows:(e,t,r)=>{const n=(c,l)=>{if(c[l.colN]===void 0)return!1;const p=c[l.colN][2].filter(d=>d[0]==="token").map(d=>d[2]).join("");return Z.test(p,Z(l.matching))},u=(c,l)=>l.length===0?!0:n(c,l[0])?u(c,l.slice(1)):!1,s=(c,l)=>{if(c[l.colN]===void 0)return!1;const p=c[l.colN][2].filter(d=>d[0]==="token").map(d=>d[2]).join("");return l.values.includes(p)},o=(c,l)=>l.length===0?!0:s(c,l[0])?o(c,l.slice(1)):!1;let a=[],i=-1;for(const c of e.blocks){const l=r.docSet.unsuccinctifyScopes(c.bs).map(p=>parseInt(p[2].split("/")[1]));t.positions&&!t.positions.includes(l[0])||(l[0]!==i&&(a.push([]),i=l[0]),a[a.length-1].push([l,Array.from(new Set(r.docSet.unsuccinctifyScopes(c.is).filter(p=>p[2].startsWith("tTableCol")).map(p=>parseInt(p[2].split("/")[1])))),r.docSet.unsuccinctifyItems(c.c,{},0)]))}return t.matches&&(a=a.filter(c=>u(c,t.matches))),t.equals&&(a=a.filter(c=>o(c,t.equals))),t.columns&&(a=a.map(c=>[...c.entries()].filter(l=>t.columns.includes(l[0])).map(l=>l[1]))),a},tags:e=>Array.from(e.tags),tagsKv:e=>Array.from(e.tags).map(t=>t.includes(":")?[t.substring(0,t.indexOf(":")),t.substring(t.indexOf(":")+1)]:[t,""]),hasTag:(e,t)=>e.tags.has(t.tagName),headings:e=>Array.from(e.tags).filter(t=>t.startsWith("col")).sort((t,r)=>parseInt(t.split(":")[0].substring(3))-parseInt(r.split(":")[0].substring(3))).map(t=>t.split(":")[1])},yK={equals:(e,t,r,n)=>r===n,notEqual:(e,t,r,n)=>r!==n,and:(e,t,...r)=>r.filter(n=>!n).length===0,or:(e,t,...r)=>r.filter(n=>n).length>0,not:(e,t,r)=>!r,idRef:(e,t)=>e.unsuccinctifyScopes(t.bs)[0][2].split("/")[1],parentIdRef:(e,t)=>e.unsuccinctifyScopes(t.is).filter(r=>r[2].startsWith("tTreeParent"))[0][2].split("/")[1],nChildren:(e,t)=>e.unsuccinctifyScopes(t.is).filter(r=>r[2].startsWith("tTreeChild")).length,contentRef:(e,t,r)=>{const n=e.sequenceItemsByScopes([t],["tTreeContent/"],!1).filter(u=>u[0].filter(o=>o.startsWith("tTreeContent"))[0].split("/")[1]===r);return n[0]?n[0][1].filter(u=>u[0]==="token").map(u=>u[2]).join(""):""},hasContent:(e,t,r)=>e.sequenceItemsByScopes([t],["tTreeContent/"],!1).filter(u=>u[0].filter(o=>o.startsWith("tTreeContent"))[0].split("/")[1]===r).length>0,concat:(e,t,...r)=>r.join(""),startsWith:(e,t,r,n)=>r.startsWith(n),endsWith:(e,t,r,n)=>r.endsWith(n),contains:(e,t,r,n)=>r.includes(n),matches:(e,t,r,n)=>Z.test(r,Z(n)),int:(e,t,r)=>parseInt(r),string:(e,t,r)=>`${r}`,left:(e,t,r,n)=>r.substring(0,n),right:(e,t,r,n)=>r.substring(r.length-n),length:(e,t,r)=>r.length,indexOf:(e,t,r,n)=>r.indexOf(n),add:(e,t,...r)=>r.reduce((n,u)=>n+u),mul:(e,t,...r)=>r.reduce((n,u)=>n*u),sub:(e,t,r,n)=>r-n,div:(e,t,r,n)=>Math.floor(r/n),mod:(e,t,r,n)=>r%n,gt:(e,t,r,n)=>r>n,lt:(e,t,r,n)=>rr>=n,le:(e,t,r,n)=>r<=n},vK={quotedString:e=>e.substring(1,e.length-1),int:e=>parseInt(e),true:()=>!0,false:()=>!1},gK=e=>{const t=[[]];let r=0,n=0,u=!1;for(;e&&rs.join(""))},aE={expression:{oneOf:["stringExpression","intExpression","booleanExpression"]},booleanExpression:{oneOf:["booleanPrimitive","equals","notEqual","and","or","not","contains","startsWith","endsWith","matches","gt","lt","ge","le","hasContent"]},stringExpression:{oneOf:["concat","left","right","string","idRef","parentIdRef","contentRef","stringPrimitive"]},intExpression:{oneOf:["length","indexOf","int","nChildren","intPrimitive","add","sub","mul","div","mod"]},equals:{regex:Z("^==\\((.+)\\)$"),doc:{operator:"==",args:["expression","expression"],result:"boolean",description:"Are the arguments strictly equal?"},argStructure:[["expression",[2,2]]]},notEqual:{regex:Z("^!=\\((.+)\\)$"),doc:{operator:"!=",args:["expression","expression"],result:"boolean",description:"Are the arguments not strictly equal?"},argStructure:[["expression",[2,2]]]},and:{regex:Z("^and\\((.+)\\)$"),doc:{operator:"and",args:["boolean","boolean","..."],result:"boolean",description:"Are all the arguments true?"},breakOn:!1,argStructure:[["booleanExpression",[2,null]]]},or:{regex:Z("^or\\((.+)\\)$"),doc:{operator:"or",args:["boolean","boolean"],result:"boolean",description:"Are any arguments true?"},breakOn:!0,argStructure:[["booleanExpression",[2,null]]]},concat:{regex:Z("^concat\\((.+)\\)$"),doc:{operator:"concat",args:["string","string","..."],result:"string",description:"Concatenates string arguments"},argStructure:[["stringExpression",[2,null]]]},contentRef:{regex:Z("^content\\((.+)\\)$"),doc:{operator:"content",args:["string"],result:"string",description:"String value of the specified content for the node"},argStructure:[["stringExpression",[1,1]]]},hasContent:{regex:Z("^hasContent\\((.+)\\)$"),doc:{operator:"hasContent",args:["string"],result:"boolean",description:"Does the node have this content?"},argStructure:[["stringExpression",[1,1]]]},contains:{regex:Z("^contains\\((.+)\\)$"),doc:{operator:"contains",args:["string","string"],result:"boolean",description:"Does the first string contain the second string?"},argStructure:[["stringExpression",[2,2]]]},startsWith:{regex:Z("^startsWith\\((.+)\\)$"),doc:{operator:"startsWith",args:["string","string"],result:"boolean",description:"Does the first string start with the second string?"},argStructure:[["stringExpression",[2,2]]]},endsWith:{regex:Z("^endsWith\\((.+)\\)$"),doc:{operator:"endsWith",args:["string","string"],result:"boolean",description:"Does the first string end with the second string?"},argStructure:[["stringExpression",[2,2]]]},matches:{regex:Z("^matches\\((.+)\\)$"),doc:{operator:"matches",args:["string","regex"],result:"boolean",description:"Does the first string match the regex in the second string?"},argStructure:[["stringExpression",[2,2]]]},left:{regex:Z("^left\\((.+)\\)$"),doc:{operator:"left",args:["string","integer"],result:"string",description:"The first n characters of the string"},argStructure:[["stringExpression",[1,1]],["intExpression",[1,1]]]},right:{regex:Z("^right\\((.+)\\)$"),doc:{operator:"right",args:["string","integer"],result:"string",description:"The last n characters of the string"},argStructure:[["stringExpression",[1,1]],["intExpression",[1,1]]]},length:{regex:Z("^length\\((.+)\\)$"),doc:{operator:"length",args:["string"],result:"integer",description:"The number of characters in the string"},argStructure:[["stringExpression",[1,1]]]},indexOf:{regex:Z("^indexOf\\((.+)\\)$"),doc:{operator:"indexOf",args:["string","string"],result:"number",description:"The integer position at which the second string starts in the first string"},argStructure:[["stringExpression",[2,2]]]},not:{regex:Z("^not\\((.+)\\)$"),doc:{operator:"not",args:["boolean"],result:"boolean",description:"The inverse boolean value of the argument"},argStructure:[["booleanExpression",[1,1]]]},int:{regex:Z("^int\\((.+)\\)$"),doc:{operator:"int",args:["string"],result:"integer",description:"The integer value of the string"},argStructure:[["stringExpression",[1,1]]]},string:{regex:Z("^string\\((.+)\\)$"),doc:{operator:"string",args:["integer"],result:"string",description:"The string value of the integer"},argStructure:[["intExpression",[1,1]]]},idRef:{regex:Z("^id$"),doc:{operator:"id",args:[],result:"string",description:"The node ID"},argStructure:[]},parentIdRef:{regex:Z("^parentId$"),doc:{operator:"parentId",args:[],result:"string",description:"The node's parent ID"},argStructure:[]},nChildren:{regex:Z("^nChildren$"),doc:{operator:"nChildren",args:[],result:"int",description:"The number of children of the node"},argStructure:[]},add:{regex:Z("^add\\((.+)\\)$"),doc:{operator:"add",args:["integer","..."],result:"integer",description:"The numeric sum of the arguments"},argStructure:[["intExpression",[2,null]]]},mul:{regex:Z("^mul\\((.+)\\)$"),doc:{operator:"mul",args:["integer","..."],result:"integer",description:"The numeric product of the arguments"},argStructure:[["intExpression",[2,null]]]},sub:{regex:Z("^sub\\((.+)\\)$"),doc:{operator:"sub",args:["integer","integer"],result:"integer",description:"The first integer minus the second"},argStructure:[["intExpression",[2,2]]]},div:{regex:Z("^div\\((.+)\\)$"),doc:{operator:"div",args:["integer","integer"],result:"integer",description:"The first integer divided by the second"},argStructure:[["intExpression",[2,2]]]},mod:{regex:Z("^mod\\((.+)\\)$"),doc:{operator:"mod",args:["integer","integer"],result:"integer",description:"The modulus of the first integer when divided by the second"},argStructure:[["intExpression",[2,2]]]},gt:{regex:Z("^>\\((.+)\\)$"),doc:{operator:">",args:["integer","integer"],result:"boolean",description:"Is the first integer numerically greater than the second?"},argStructure:[["intExpression",[2,2]]]},lt:{regex:Z("^<\\((.+)\\)$"),doc:{operator:"<",args:["integer","integer"],result:"boolean",description:"Is the first integer numerically less than the second?"},argStructure:[["intExpression",[2,2]]]},ge:{regex:Z("^>=\\((.+)\\)$"),doc:{operator:">=",args:["integer","integer"],result:"boolean",description:"Is the first integer numerically greater than or equal to the second?"},argStructure:[["intExpression",[2,2]]]},le:{regex:Z("^<=\\((.+)\\)$"),doc:{operator:"<=",args:["integer","integer"],result:"boolean",description:"Is the first integer numerically less than or equal to the second?"},argStructure:[["intExpression",[2,2]]]},stringPrimitive:{regex:Z("^('([^']|\\\\')*')$"),parseFunctions:[null,"quotedString"]},intPrimitive:{regex:Z("^(-?[0-9]+)$"),parseFunctions:[null,"int"]},booleanPrimitive:{regex:Z("^(true)|(false)$"),parseFunctions:[null,"true","false"]}},AK=(e,t,r,n,u)=>{const s=aE[n];if(!s)throw new Error(`Unknown expression ${n} for predicate ${r}`);const o=a=>[a.map(i=>i[1][0]).reduce((i,c)=>i+c),a.filter(i=>i[1][1]===null).length>0];if(s.parseFunctions){let a=!1;for(const[i,c]of s.parseFunctions.entries())if(!(!c||!u[i]))return a=!0,{data:vK[c](u[i])};if(!a)return{errors:`Could not parse predicate ${r}`}}else{const a=gK(u[1]),i=s.argStructure,c=[];if(i.length>0){const l=o(i);if(a.lengthl[0])return{errors:`Expected at most ${l[0]} args for '${n}', found ${a.length}`};let p=0,d=0,f=0;for(;p=i[d][1][1]&&(d++,f=0)}}if(c.filter(l=>l.errors).length===0){const l=c.map(d=>d.data);return{data:yK[n](e,t,...l)}}return{errors:`Could not parse arguments to ${n}: ${a.filter(l=>l.errors).map(l=>l.errors).join("; ")}`}}},iE=(e,t,r,n)=>{const u=aE[n];if(!u)throw new Error(`Unknown expression ${n} for predicate ${r}`);if(u.oneOf){let s=null;for(const o of u.oneOf){const a=iE(e,t,r,o);if(a.errors)(!s||a.errors.length({data:t.data.filter(n=>{const u=iE(e,n,r,"booleanExpression");if(u.errors)throw new Error(`Predicate - ${u.errors}`);return u.data})}),tn="(\\[(([^\\]']|'([^']|\\\\')*')+)\\])*",CK=(e,t,r,n,u,s)=>{const o=s[1].split(",").map(a=>a.trim());return{data:Array.from(o).map(a=>t[r.get(a)])}},bK=(e,t)=>({data:[t[0]]}),SK=(e,t)=>({data:t}),wK=(e,t,r,n,u,s)=>{const o=s[2],a=new Set([]);for(const i of n.data){const c=e.unsuccinctifyScopes(i.is).map(l=>l[2].split("/")).filter(l=>l[0]==="tTreeChild").filter(l=>!o||l[1]===o).map(l=>l[2]);for(const l of c)a.add(l)}return{data:Array.from(a).map(i=>t[r.get(i)])}},_K=(e,t,r,n)=>{const u=new Set([]);for(const s of n.data){const o=e.unsuccinctifyScopes(s.is).filter(a=>a[2].startsWith("tTreeParent")).map(a=>a[2].split("/")[1])[0];u.add(o)}return{data:Array.from(u).map(s=>t[r.get(s)])}},BK=(e,t,r,n,u,s)=>{let o=parseInt(s[2]);if(o<1)return{errors:`Expected a positive integer argument for ancestor, found ${u}`};let a=n.data;for(;o>0;){const i=new Set([]);for(const c of a){const l=e.unsuccinctifyScopes(c.is).filter(p=>p[2].startsWith("tTreeParent")).map(p=>p[2].split("/")[1])[0];i.add(l)}a=Array.from(i).map(c=>t[r.get(c)]),o--}return{data:a}},TK=(e,t,r,n,u,s)=>{const o=new Set([]),a=(l,p)=>{const d=e.unsuccinctifyScopes(l.is).filter(f=>f[2].startsWith("tTreeChild")).map(f=>f[2].split("/")[2]);(p<=1||p===null)&&d.forEach(f=>o.add(f)),(p===null||p>1)&&d.map(f=>t[r.get(f)]).forEach(f=>a(f,p-1))};let i=null;s[3]&&(i=parseInt(s[3]));let c=-1;s[5]&&(c=parseInt(s[5]));for(const l of n.data)a(l,i);return{data:[...Array.from(o).entries()].filter(l=>c<0||l[0]===c).map(l=>l[1]).map(l=>t[r.get(l)])}},$K=(e,t,r,n)=>{const u=new Set([]),s=o=>{const a=e.unsuccinctifyScopes(o.is).filter(i=>i[2].startsWith("tTreeChild")).map(i=>i[2].split("/")[2]);a.length===0?u.add(e.unsuccinctifyScopes(o.bs)[0][2].split("/")[1]):a.map(i=>t[r.get(i)]).forEach(i=>s(i))};for(const o of n.data)s(o);return{data:Array.from(u).map(o=>t[r.get(o)])}},PK=(e,t,r,n)=>{const u=new Set([]);for(const a of n.data){const i=e.unsuccinctifyScopes(a.is).filter(c=>c[2].startsWith("tTreeParent")).map(c=>c[2].split("/")[1])[0];u.add(i)}const s=t.filter(a=>u.has(e.unsuccinctifyScopes(a.bs)[0][2].split("/")[1])),o=new Set([]);for(const a of s){const i=e.unsuccinctifyScopes(a.is).filter(c=>c[2].startsWith("tTreeChild")).map(c=>c[2].split("/")[2]);for(const c of i)o.add(c)}return{data:Array.from(o).map(a=>t[r.get(a)])}},Zp=(e,t,r,n,u,s)=>{const o={};(u.size===0||u.has("id"))&&(o.id=e.unsuccinctifyScopes(t.bs)[0][2].split("/")[1]),(u.size===0||u.has("parentId"))&&(o.parentId=e.unsuccinctifyScopes(t.is).filter(c=>c[2].startsWith("tTreeParent")).map(c=>c[2].split("/")[1])[0]);const a={};for(const[c,l]of e.sequenceItemsByScopes([t],["tTreeContent/"],!1)){const p=c.filter(d=>d.startsWith("tTreeContent"))[0].split("/")[1];(u.size===0||u.has("content")||u.has(`@${p}`))&&(a[p]=l.filter(d=>d[0]==="token").map(d=>d[2]).join(""))}Object.keys(a).length>0&&(o.content=a);const i=[];if(u.has("children"))for(const c of e.unsuccinctifyScopes(t.is).filter(l=>l[2].startsWith("tTreeChild")).map(l=>l[2].split("/")[2]))i.push(c);return i.length>0&&(s?o.children=i.map(c=>r[n.get(c)]).map(c=>Zp(e,c,r,n,u,!0)):o.children=i),o},kK=(e,t,r,n,u,s)=>{const o=[];let a=new Set([]);s[2]&&(a=new Set(s[2].split(",").map(i=>i.trim())));for(const i of n.data)o.push(Zp(e,i,t,r,a,!0));return{data:o}},OK=(e,t,r,n,u,s)=>{const o=[];let a=new Set([]);s[2]&&(a=new Set(s[2].split(",").map(c=>c.trim()).filter(c=>c.startsWith("@"))));for(const c of n.data)o.push(Zp(e,c,t,r,a,!0));const i={};for(const c of Array.from(a).map(l=>l.substring(1)))i[c]=Array.from(new Set(o.filter(l=>l.content).map(l=>l.content).filter(l=>c in l).map(l=>l[c]).sort()));return{data:i}},IK=(e,t,r,n,u,s)=>{const o=[];let a=new Set([]);s[2]&&(a=new Set(s[2].split(",").map(i=>i.trim())));for(const i of n.data)o.push(Zp(e,i,t,r,a,!1));return{data:o}},lg=[{regex:Z(`^#\\{([^}]+)\\}${tn}$`),doc:{title:"Nodes by Id",syntax:"#(id, id, ...)",description:"Returns nodes whose id is listed"},predicateCapture:3,inputType:null,outputType:"nodes",function:CK},{regex:Z(`^root${tn}$`),doc:{title:"Root Node",syntax:"root",description:"Returns the root node"},predicateCapture:2,inputType:null,outputType:"nodes",function:bK},{regex:Z(`^nodes${tn}$`),doc:{title:"Nodes",syntax:"nodes",description:"Returns all the nodes"},predicateCapture:2,function:SK,inputType:null,outputType:"nodes"},{regex:Z(`^children(\\((\\d+)\\))?${tn}$`),doc:{title:"Children",syntax:"children; children(pos)",description:"Returns the children of the current node(s), optionally filtered by position within the parent node"},predicateCapture:4,inputType:"nodes",outputType:"nodes",function:wK},{regex:Z(`^descendants((\\((\\d+)(,\\s*(\\d+))?\\))?)${tn}$`),doc:{title:"Descendants",syntax:"descendants; descendants(depth); descendants(depth, pos)",description:"Returns the descendants of the current node(s), optionally at the specified level, optionally filtered by position"},predicateCapture:7,inputType:"nodes",outputType:"nodes",function:TK},{regex:Z(`^leaves${tn}$`),doc:{title:"Leaves",syntax:"leaves",description:"Returns the leaves (ie the nodes with no children) below the current node"},predicateCapture:2,inputType:"nodes",outputType:"nodes",function:$K},{regex:Z(`^parent${tn}$`),doc:{title:"Parent",syntax:"parent",description:"Returns the parent of the current node"},predicateCapture:2,inputType:"nodes",outputType:"nodes",function:_K},{regex:Z(`^ancestor(\\((\\d+)\\))${tn}$`),doc:{title:"Ancestor",syntax:"ancestor(depth)",description:"Returns the nth ancestor of the node"},predicateCapture:5,inputType:"nodes",outputType:"nodes",function:BK},{regex:Z(`^siblings${tn}$`),doc:{title:"Siblings",syntax:"siblings",description:"Returns the children of the parent of the current node"},predicateCapture:2,inputType:"nodes",outputType:"nodes",function:PK},{regex:Z(`^node(\\{([^}]+)\\})?${tn}$`),doc:{title:"Node Details",syntax:"node; node{ id, parentId, content, children, @foo }",description:"Returns an object containing the specified content"},predicateCapture:4,inputType:"nodes",outputType:"node",function:IK},{regex:Z(`^branch(\\{([^}]+)\\})?${tn}$`),doc:{title:"Branch",syntax:"branch; branch{ id, parentId, content, children, @foo }",description:"Returns nested objects containing the specified content"},predicateCapture:4,inputType:"nodes",outputType:"node",function:kK},{regex:Z(`^values(\\{([^}]+)\\})?${tn}$`),doc:{title:"Values",syntax:"values{ @foo ... }",description:"Returns all values across nodes for the specified fields"},predicateCapture:4,inputType:"nodes",outputType:"values",function:OK}];class wf{constructor(){this.currentStepType=null}doStep(t,r,n,u,s){for(const o of lg){const a=Z.exec(s,o.regex);if(a&&o.inputType===this.currentStepType){let i=o.function(t,r,n,u,s,a);return a[o.predicateCapture]&&(i=FK(t,i,a[o.predicateCapture])),this.currentStepType=o.outputType,i}}return{errors:`Unable to match step ${s}`}}parse1(t,r,n,u,s){if(s.length>0){const o=this.doStep(t,r,n,u,s[0]);return o.errors||o.data.length===0?o:this.parse1(t,r,n,o,s.slice(1))}else return u}queryArray(t){const r=[];for(const n of t.split("/"))r.push(n);return r}indexNodes(t,r){const n=new Map;for(const[u,s]of r.entries()){const o=t.unsuccinctifyScopes(s.bs)[0][2].split("/")[1];n.set(o,u)}return n}doc(){return`** Steps ** +`,vK={nCells:e=>e.blocks.length,nRows:(e,t,r)=>{const n=new Set([]);for(const u of e.blocks){const[s,o,a]=ye.succinct.headerBytes(u.bs,0),i=r.docSet.unsuccinctifyScope(u.bs,o,a,0)[2];n.add(i.split("/")[1])}return n.size},nColumns:(e,t,r)=>{const n=new Set([]);for(const u of e.blocks)for(const s of r.docSet.unsuccinctifyScopes(u.is).map(o=>o[2]))s.startsWith("tTableCol")&&n.add(s.split("/")[1]);return n.size},cells:(e,t,r)=>{const n=[];for(const u of e.blocks)n.push([r.docSet.unsuccinctifyScopes(u.bs).map(s=>parseInt(s[2].split("/")[1])),Array.from(new Set(r.docSet.unsuccinctifyScopes(u.is).filter(s=>s[2].startsWith("tTableCol")).map(s=>parseInt(s[2].split("/")[1])))),r.docSet.unsuccinctifyItems(u.c,{},0)]);return n},rows:(e,t,r)=>{const n=(c,l)=>{if(c[l.colN]===void 0)return!1;const p=c[l.colN][2].filter(d=>d[0]==="token").map(d=>d[2]).join("");return Z.test(p,Z(l.matching))},u=(c,l)=>l.length===0?!0:n(c,l[0])?u(c,l.slice(1)):!1,s=(c,l)=>{if(c[l.colN]===void 0)return!1;const p=c[l.colN][2].filter(d=>d[0]==="token").map(d=>d[2]).join("");return l.values.includes(p)},o=(c,l)=>l.length===0?!0:s(c,l[0])?o(c,l.slice(1)):!1;let a=[],i=-1;for(const c of e.blocks){const l=r.docSet.unsuccinctifyScopes(c.bs).map(p=>parseInt(p[2].split("/")[1]));t.positions&&!t.positions.includes(l[0])||(l[0]!==i&&(a.push([]),i=l[0]),a[a.length-1].push([l,Array.from(new Set(r.docSet.unsuccinctifyScopes(c.is).filter(p=>p[2].startsWith("tTableCol")).map(p=>parseInt(p[2].split("/")[1])))),r.docSet.unsuccinctifyItems(c.c,{},0)]))}return t.matches&&(a=a.filter(c=>u(c,t.matches))),t.equals&&(a=a.filter(c=>o(c,t.equals))),t.columns&&(a=a.map(c=>[...c.entries()].filter(l=>t.columns.includes(l[0])).map(l=>l[1]))),a},tags:e=>Array.from(e.tags),tagsKv:e=>Array.from(e.tags).map(t=>t.includes(":")?[t.substring(0,t.indexOf(":")),t.substring(t.indexOf(":")+1)]:[t,""]),hasTag:(e,t)=>e.tags.has(t.tagName),headings:e=>Array.from(e.tags).filter(t=>t.startsWith("col")).sort((t,r)=>parseInt(t.split(":")[0].substring(3))-parseInt(r.split(":")[0].substring(3))).map(t=>t.split(":")[1])},gK={equals:(e,t,r,n)=>r===n,notEqual:(e,t,r,n)=>r!==n,and:(e,t,...r)=>r.filter(n=>!n).length===0,or:(e,t,...r)=>r.filter(n=>n).length>0,not:(e,t,r)=>!r,idRef:(e,t)=>e.unsuccinctifyScopes(t.bs)[0][2].split("/")[1],parentIdRef:(e,t)=>e.unsuccinctifyScopes(t.is).filter(r=>r[2].startsWith("tTreeParent"))[0][2].split("/")[1],nChildren:(e,t)=>e.unsuccinctifyScopes(t.is).filter(r=>r[2].startsWith("tTreeChild")).length,contentRef:(e,t,r)=>{const n=e.sequenceItemsByScopes([t],["tTreeContent/"],!1).filter(u=>u[0].filter(o=>o.startsWith("tTreeContent"))[0].split("/")[1]===r);return n[0]?n[0][1].filter(u=>u[0]==="token").map(u=>u[2]).join(""):""},hasContent:(e,t,r)=>e.sequenceItemsByScopes([t],["tTreeContent/"],!1).filter(u=>u[0].filter(o=>o.startsWith("tTreeContent"))[0].split("/")[1]===r).length>0,concat:(e,t,...r)=>r.join(""),startsWith:(e,t,r,n)=>r.startsWith(n),endsWith:(e,t,r,n)=>r.endsWith(n),contains:(e,t,r,n)=>r.includes(n),matches:(e,t,r,n)=>Z.test(r,Z(n)),int:(e,t,r)=>parseInt(r),string:(e,t,r)=>`${r}`,left:(e,t,r,n)=>r.substring(0,n),right:(e,t,r,n)=>r.substring(r.length-n),length:(e,t,r)=>r.length,indexOf:(e,t,r,n)=>r.indexOf(n),add:(e,t,...r)=>r.reduce((n,u)=>n+u),mul:(e,t,...r)=>r.reduce((n,u)=>n*u),sub:(e,t,r,n)=>r-n,div:(e,t,r,n)=>Math.floor(r/n),mod:(e,t,r,n)=>r%n,gt:(e,t,r,n)=>r>n,lt:(e,t,r,n)=>rr>=n,le:(e,t,r,n)=>r<=n},AK={quotedString:e=>e.substring(1,e.length-1),int:e=>parseInt(e),true:()=>!0,false:()=>!1},FK=e=>{const t=[[]];let r=0,n=0,u=!1;for(;e&&rs.join(""))},iE={expression:{oneOf:["stringExpression","intExpression","booleanExpression"]},booleanExpression:{oneOf:["booleanPrimitive","equals","notEqual","and","or","not","contains","startsWith","endsWith","matches","gt","lt","ge","le","hasContent"]},stringExpression:{oneOf:["concat","left","right","string","idRef","parentIdRef","contentRef","stringPrimitive"]},intExpression:{oneOf:["length","indexOf","int","nChildren","intPrimitive","add","sub","mul","div","mod"]},equals:{regex:Z("^==\\((.+)\\)$"),doc:{operator:"==",args:["expression","expression"],result:"boolean",description:"Are the arguments strictly equal?"},argStructure:[["expression",[2,2]]]},notEqual:{regex:Z("^!=\\((.+)\\)$"),doc:{operator:"!=",args:["expression","expression"],result:"boolean",description:"Are the arguments not strictly equal?"},argStructure:[["expression",[2,2]]]},and:{regex:Z("^and\\((.+)\\)$"),doc:{operator:"and",args:["boolean","boolean","..."],result:"boolean",description:"Are all the arguments true?"},breakOn:!1,argStructure:[["booleanExpression",[2,null]]]},or:{regex:Z("^or\\((.+)\\)$"),doc:{operator:"or",args:["boolean","boolean"],result:"boolean",description:"Are any arguments true?"},breakOn:!0,argStructure:[["booleanExpression",[2,null]]]},concat:{regex:Z("^concat\\((.+)\\)$"),doc:{operator:"concat",args:["string","string","..."],result:"string",description:"Concatenates string arguments"},argStructure:[["stringExpression",[2,null]]]},contentRef:{regex:Z("^content\\((.+)\\)$"),doc:{operator:"content",args:["string"],result:"string",description:"String value of the specified content for the node"},argStructure:[["stringExpression",[1,1]]]},hasContent:{regex:Z("^hasContent\\((.+)\\)$"),doc:{operator:"hasContent",args:["string"],result:"boolean",description:"Does the node have this content?"},argStructure:[["stringExpression",[1,1]]]},contains:{regex:Z("^contains\\((.+)\\)$"),doc:{operator:"contains",args:["string","string"],result:"boolean",description:"Does the first string contain the second string?"},argStructure:[["stringExpression",[2,2]]]},startsWith:{regex:Z("^startsWith\\((.+)\\)$"),doc:{operator:"startsWith",args:["string","string"],result:"boolean",description:"Does the first string start with the second string?"},argStructure:[["stringExpression",[2,2]]]},endsWith:{regex:Z("^endsWith\\((.+)\\)$"),doc:{operator:"endsWith",args:["string","string"],result:"boolean",description:"Does the first string end with the second string?"},argStructure:[["stringExpression",[2,2]]]},matches:{regex:Z("^matches\\((.+)\\)$"),doc:{operator:"matches",args:["string","regex"],result:"boolean",description:"Does the first string match the regex in the second string?"},argStructure:[["stringExpression",[2,2]]]},left:{regex:Z("^left\\((.+)\\)$"),doc:{operator:"left",args:["string","integer"],result:"string",description:"The first n characters of the string"},argStructure:[["stringExpression",[1,1]],["intExpression",[1,1]]]},right:{regex:Z("^right\\((.+)\\)$"),doc:{operator:"right",args:["string","integer"],result:"string",description:"The last n characters of the string"},argStructure:[["stringExpression",[1,1]],["intExpression",[1,1]]]},length:{regex:Z("^length\\((.+)\\)$"),doc:{operator:"length",args:["string"],result:"integer",description:"The number of characters in the string"},argStructure:[["stringExpression",[1,1]]]},indexOf:{regex:Z("^indexOf\\((.+)\\)$"),doc:{operator:"indexOf",args:["string","string"],result:"number",description:"The integer position at which the second string starts in the first string"},argStructure:[["stringExpression",[2,2]]]},not:{regex:Z("^not\\((.+)\\)$"),doc:{operator:"not",args:["boolean"],result:"boolean",description:"The inverse boolean value of the argument"},argStructure:[["booleanExpression",[1,1]]]},int:{regex:Z("^int\\((.+)\\)$"),doc:{operator:"int",args:["string"],result:"integer",description:"The integer value of the string"},argStructure:[["stringExpression",[1,1]]]},string:{regex:Z("^string\\((.+)\\)$"),doc:{operator:"string",args:["integer"],result:"string",description:"The string value of the integer"},argStructure:[["intExpression",[1,1]]]},idRef:{regex:Z("^id$"),doc:{operator:"id",args:[],result:"string",description:"The node ID"},argStructure:[]},parentIdRef:{regex:Z("^parentId$"),doc:{operator:"parentId",args:[],result:"string",description:"The node's parent ID"},argStructure:[]},nChildren:{regex:Z("^nChildren$"),doc:{operator:"nChildren",args:[],result:"int",description:"The number of children of the node"},argStructure:[]},add:{regex:Z("^add\\((.+)\\)$"),doc:{operator:"add",args:["integer","..."],result:"integer",description:"The numeric sum of the arguments"},argStructure:[["intExpression",[2,null]]]},mul:{regex:Z("^mul\\((.+)\\)$"),doc:{operator:"mul",args:["integer","..."],result:"integer",description:"The numeric product of the arguments"},argStructure:[["intExpression",[2,null]]]},sub:{regex:Z("^sub\\((.+)\\)$"),doc:{operator:"sub",args:["integer","integer"],result:"integer",description:"The first integer minus the second"},argStructure:[["intExpression",[2,2]]]},div:{regex:Z("^div\\((.+)\\)$"),doc:{operator:"div",args:["integer","integer"],result:"integer",description:"The first integer divided by the second"},argStructure:[["intExpression",[2,2]]]},mod:{regex:Z("^mod\\((.+)\\)$"),doc:{operator:"mod",args:["integer","integer"],result:"integer",description:"The modulus of the first integer when divided by the second"},argStructure:[["intExpression",[2,2]]]},gt:{regex:Z("^>\\((.+)\\)$"),doc:{operator:">",args:["integer","integer"],result:"boolean",description:"Is the first integer numerically greater than the second?"},argStructure:[["intExpression",[2,2]]]},lt:{regex:Z("^<\\((.+)\\)$"),doc:{operator:"<",args:["integer","integer"],result:"boolean",description:"Is the first integer numerically less than the second?"},argStructure:[["intExpression",[2,2]]]},ge:{regex:Z("^>=\\((.+)\\)$"),doc:{operator:">=",args:["integer","integer"],result:"boolean",description:"Is the first integer numerically greater than or equal to the second?"},argStructure:[["intExpression",[2,2]]]},le:{regex:Z("^<=\\((.+)\\)$"),doc:{operator:"<=",args:["integer","integer"],result:"boolean",description:"Is the first integer numerically less than or equal to the second?"},argStructure:[["intExpression",[2,2]]]},stringPrimitive:{regex:Z("^('([^']|\\\\')*')$"),parseFunctions:[null,"quotedString"]},intPrimitive:{regex:Z("^(-?[0-9]+)$"),parseFunctions:[null,"int"]},booleanPrimitive:{regex:Z("^(true)|(false)$"),parseFunctions:[null,"true","false"]}},CK=(e,t,r,n,u)=>{const s=iE[n];if(!s)throw new Error(`Unknown expression ${n} for predicate ${r}`);const o=a=>[a.map(i=>i[1][0]).reduce((i,c)=>i+c),a.filter(i=>i[1][1]===null).length>0];if(s.parseFunctions){let a=!1;for(const[i,c]of s.parseFunctions.entries())if(!(!c||!u[i]))return a=!0,{data:AK[c](u[i])};if(!a)return{errors:`Could not parse predicate ${r}`}}else{const a=FK(u[1]),i=s.argStructure,c=[];if(i.length>0){const l=o(i);if(a.lengthl[0])return{errors:`Expected at most ${l[0]} args for '${n}', found ${a.length}`};let p=0,d=0,f=0;for(;p=i[d][1][1]&&(d++,f=0)}}if(c.filter(l=>l.errors).length===0){const l=c.map(d=>d.data);return{data:gK[n](e,t,...l)}}return{errors:`Could not parse arguments to ${n}: ${a.filter(l=>l.errors).map(l=>l.errors).join("; ")}`}}},cE=(e,t,r,n)=>{const u=iE[n];if(!u)throw new Error(`Unknown expression ${n} for predicate ${r}`);if(u.oneOf){let s=null;for(const o of u.oneOf){const a=cE(e,t,r,o);if(a.errors)(!s||a.errors.length({data:t.data.filter(n=>{const u=cE(e,n,r,"booleanExpression");if(u.errors)throw new Error(`Predicate - ${u.errors}`);return u.data})}),tn="(\\[(([^\\]']|'([^']|\\\\')*')+)\\])*",SK=(e,t,r,n,u,s)=>{const o=s[1].split(",").map(a=>a.trim());return{data:Array.from(o).map(a=>t[r.get(a)])}},wK=(e,t)=>({data:[t[0]]}),_K=(e,t)=>({data:t}),BK=(e,t,r,n,u,s)=>{const o=s[2],a=new Set([]);for(const i of n.data){const c=e.unsuccinctifyScopes(i.is).map(l=>l[2].split("/")).filter(l=>l[0]==="tTreeChild").filter(l=>!o||l[1]===o).map(l=>l[2]);for(const l of c)a.add(l)}return{data:Array.from(a).map(i=>t[r.get(i)])}},TK=(e,t,r,n)=>{const u=new Set([]);for(const s of n.data){const o=e.unsuccinctifyScopes(s.is).filter(a=>a[2].startsWith("tTreeParent")).map(a=>a[2].split("/")[1])[0];u.add(o)}return{data:Array.from(u).map(s=>t[r.get(s)])}},$K=(e,t,r,n,u,s)=>{let o=parseInt(s[2]);if(o<1)return{errors:`Expected a positive integer argument for ancestor, found ${u}`};let a=n.data;for(;o>0;){const i=new Set([]);for(const c of a){const l=e.unsuccinctifyScopes(c.is).filter(p=>p[2].startsWith("tTreeParent")).map(p=>p[2].split("/")[1])[0];i.add(l)}a=Array.from(i).map(c=>t[r.get(c)]),o--}return{data:a}},PK=(e,t,r,n,u,s)=>{const o=new Set([]),a=(l,p)=>{const d=e.unsuccinctifyScopes(l.is).filter(f=>f[2].startsWith("tTreeChild")).map(f=>f[2].split("/")[2]);(p<=1||p===null)&&d.forEach(f=>o.add(f)),(p===null||p>1)&&d.map(f=>t[r.get(f)]).forEach(f=>a(f,p-1))};let i=null;s[3]&&(i=parseInt(s[3]));let c=-1;s[5]&&(c=parseInt(s[5]));for(const l of n.data)a(l,i);return{data:[...Array.from(o).entries()].filter(l=>c<0||l[0]===c).map(l=>l[1]).map(l=>t[r.get(l)])}},kK=(e,t,r,n)=>{const u=new Set([]),s=o=>{const a=e.unsuccinctifyScopes(o.is).filter(i=>i[2].startsWith("tTreeChild")).map(i=>i[2].split("/")[2]);a.length===0?u.add(e.unsuccinctifyScopes(o.bs)[0][2].split("/")[1]):a.map(i=>t[r.get(i)]).forEach(i=>s(i))};for(const o of n.data)s(o);return{data:Array.from(u).map(o=>t[r.get(o)])}},OK=(e,t,r,n)=>{const u=new Set([]);for(const a of n.data){const i=e.unsuccinctifyScopes(a.is).filter(c=>c[2].startsWith("tTreeParent")).map(c=>c[2].split("/")[1])[0];u.add(i)}const s=t.filter(a=>u.has(e.unsuccinctifyScopes(a.bs)[0][2].split("/")[1])),o=new Set([]);for(const a of s){const i=e.unsuccinctifyScopes(a.is).filter(c=>c[2].startsWith("tTreeChild")).map(c=>c[2].split("/")[2]);for(const c of i)o.add(c)}return{data:Array.from(o).map(a=>t[r.get(a)])}},Zp=(e,t,r,n,u,s)=>{const o={};(u.size===0||u.has("id"))&&(o.id=e.unsuccinctifyScopes(t.bs)[0][2].split("/")[1]),(u.size===0||u.has("parentId"))&&(o.parentId=e.unsuccinctifyScopes(t.is).filter(c=>c[2].startsWith("tTreeParent")).map(c=>c[2].split("/")[1])[0]);const a={};for(const[c,l]of e.sequenceItemsByScopes([t],["tTreeContent/"],!1)){const p=c.filter(d=>d.startsWith("tTreeContent"))[0].split("/")[1];(u.size===0||u.has("content")||u.has(`@${p}`))&&(a[p]=l.filter(d=>d[0]==="token").map(d=>d[2]).join(""))}Object.keys(a).length>0&&(o.content=a);const i=[];if(u.has("children"))for(const c of e.unsuccinctifyScopes(t.is).filter(l=>l[2].startsWith("tTreeChild")).map(l=>l[2].split("/")[2]))i.push(c);return i.length>0&&(s?o.children=i.map(c=>r[n.get(c)]).map(c=>Zp(e,c,r,n,u,!0)):o.children=i),o},IK=(e,t,r,n,u,s)=>{const o=[];let a=new Set([]);s[2]&&(a=new Set(s[2].split(",").map(i=>i.trim())));for(const i of n.data)o.push(Zp(e,i,t,r,a,!0));return{data:o}},NK=(e,t,r,n,u,s)=>{const o=[];let a=new Set([]);s[2]&&(a=new Set(s[2].split(",").map(c=>c.trim()).filter(c=>c.startsWith("@"))));for(const c of n.data)o.push(Zp(e,c,t,r,a,!0));const i={};for(const c of Array.from(a).map(l=>l.substring(1)))i[c]=Array.from(new Set(o.filter(l=>l.content).map(l=>l.content).filter(l=>c in l).map(l=>l[c]).sort()));return{data:i}},qK=(e,t,r,n,u,s)=>{const o=[];let a=new Set([]);s[2]&&(a=new Set(s[2].split(",").map(i=>i.trim())));for(const i of n.data)o.push(Zp(e,i,t,r,a,!1));return{data:o}},pg=[{regex:Z(`^#\\{([^}]+)\\}${tn}$`),doc:{title:"Nodes by Id",syntax:"#(id, id, ...)",description:"Returns nodes whose id is listed"},predicateCapture:3,inputType:null,outputType:"nodes",function:SK},{regex:Z(`^root${tn}$`),doc:{title:"Root Node",syntax:"root",description:"Returns the root node"},predicateCapture:2,inputType:null,outputType:"nodes",function:wK},{regex:Z(`^nodes${tn}$`),doc:{title:"Nodes",syntax:"nodes",description:"Returns all the nodes"},predicateCapture:2,function:_K,inputType:null,outputType:"nodes"},{regex:Z(`^children(\\((\\d+)\\))?${tn}$`),doc:{title:"Children",syntax:"children; children(pos)",description:"Returns the children of the current node(s), optionally filtered by position within the parent node"},predicateCapture:4,inputType:"nodes",outputType:"nodes",function:BK},{regex:Z(`^descendants((\\((\\d+)(,\\s*(\\d+))?\\))?)${tn}$`),doc:{title:"Descendants",syntax:"descendants; descendants(depth); descendants(depth, pos)",description:"Returns the descendants of the current node(s), optionally at the specified level, optionally filtered by position"},predicateCapture:7,inputType:"nodes",outputType:"nodes",function:PK},{regex:Z(`^leaves${tn}$`),doc:{title:"Leaves",syntax:"leaves",description:"Returns the leaves (ie the nodes with no children) below the current node"},predicateCapture:2,inputType:"nodes",outputType:"nodes",function:kK},{regex:Z(`^parent${tn}$`),doc:{title:"Parent",syntax:"parent",description:"Returns the parent of the current node"},predicateCapture:2,inputType:"nodes",outputType:"nodes",function:TK},{regex:Z(`^ancestor(\\((\\d+)\\))${tn}$`),doc:{title:"Ancestor",syntax:"ancestor(depth)",description:"Returns the nth ancestor of the node"},predicateCapture:5,inputType:"nodes",outputType:"nodes",function:$K},{regex:Z(`^siblings${tn}$`),doc:{title:"Siblings",syntax:"siblings",description:"Returns the children of the parent of the current node"},predicateCapture:2,inputType:"nodes",outputType:"nodes",function:OK},{regex:Z(`^node(\\{([^}]+)\\})?${tn}$`),doc:{title:"Node Details",syntax:"node; node{ id, parentId, content, children, @foo }",description:"Returns an object containing the specified content"},predicateCapture:4,inputType:"nodes",outputType:"node",function:qK},{regex:Z(`^branch(\\{([^}]+)\\})?${tn}$`),doc:{title:"Branch",syntax:"branch; branch{ id, parentId, content, children, @foo }",description:"Returns nested objects containing the specified content"},predicateCapture:4,inputType:"nodes",outputType:"node",function:IK},{regex:Z(`^values(\\{([^}]+)\\})?${tn}$`),doc:{title:"Values",syntax:"values{ @foo ... }",description:"Returns all values across nodes for the specified fields"},predicateCapture:4,inputType:"nodes",outputType:"values",function:NK}];class wf{constructor(){this.currentStepType=null}doStep(t,r,n,u,s){for(const o of pg){const a=Z.exec(s,o.regex);if(a&&o.inputType===this.currentStepType){let i=o.function(t,r,n,u,s,a);return a[o.predicateCapture]&&(i=bK(t,i,a[o.predicateCapture])),this.currentStepType=o.outputType,i}}return{errors:`Unable to match step ${s}`}}parse1(t,r,n,u,s){if(s.length>0){const o=this.doStep(t,r,n,u,s[0]);return o.errors||o.data.length===0?o:this.parse1(t,r,n,o,s.slice(1))}else return u}queryArray(t){const r=[];for(const n of t.split("/"))r.push(n);return r}indexNodes(t,r){const n=new Map;for(const[u,s]of r.entries()){const o=t.unsuccinctifyScopes(s.bs)[0][2].split("/")[1];n.set(o,u)}return n}doc(){return`** Steps ** -`+lg.map(t=>t.doc).map(t=>`* ${t.title} * +`+pg.map(t=>t.doc).map(t=>`* ${t.title} * ${t.syntax} ${t.description}`).join(` `)+`** Predicate Operators ** -`+Object.values(aE).filter(t=>t.doc).map(t=>`${t.doc.operator}(${t.doc.args.map(r=>"<"+r+">").join(", ")}) => ${t.doc.result} +`+Object.values(iE).filter(t=>t.doc).map(t=>`${t.doc.operator}(${t.doc.args.map(r=>"<"+r+">").join(", ")}) => ${t.doc.result} ${t.doc.description}`).join(` -`)}parse(t,r,n){const u=this.parse1(t,r,this.indexNodes(t,r),{data:r},this.queryArray(n));if(u.data)switch(this.currentStepType){case"nodes":u.data=u.data.map(o=>({id:t.unsuccinctifyScopes(o.bs)[0][2].split("/")[1]}))}return JSON.stringify(u,null,2)}}const NK=` +`)}parse(t,r,n){const u=this.parse1(t,r,this.indexNodes(t,r),{data:r},this.queryArray(n));if(u.data)switch(this.currentStepType){case"nodes":u.data=u.data.map(o=>({id:t.unsuccinctifyScopes(o.bs)[0][2].split("/")[1]}))}return JSON.stringify(u,null,2)}}const xK=` """The nodes of a tree""" type treeSequence { """The id of the sequence""" @@ -681,7 +681,7 @@ type treeSequence { tagName: String ): Boolean! } -`,qK={nNodes:e=>e.blocks.length,nodes:e=>e.blocks,tribos:(e,t,r)=>new wf().parse(r.docSet,e.blocks,t.query),triboi:(e,t,r)=>t.queries.map(n=>new wf().parse(r.docSet,e.blocks,n)),tribosDoc:()=>new wf().doc(),tags:e=>Array.from(e.tags),tagsKv:e=>Array.from(e.tags).map(t=>t.includes(":")?[t.substring(0,t.indexOf(":")),t.substring(t.indexOf(":")+1)]:[t,""]),hasTag:(e,t)=>e.tags.has(t.tagName)},xK=(e,t)=>{if(e.length===0)return!0;for(const r of e)if(t.startsWith(r))return!0;return!1},RK=` +`,RK={nNodes:e=>e.blocks.length,nodes:e=>e.blocks,tribos:(e,t,r)=>new wf().parse(r.docSet,e.blocks,t.query),triboi:(e,t,r)=>t.queries.map(n=>new wf().parse(r.docSet,e.blocks,n)),tribosDoc:()=>new wf().doc(),tags:e=>Array.from(e.tags),tagsKv:e=>Array.from(e.tags).map(t=>t.includes(":")?[t.substring(0,t.indexOf(":")),t.substring(t.indexOf(":")+1)]:[t,""]),hasTag:(e,t)=>e.tags.has(t.tagName)},jK=(e,t)=>{if(e.length===0)return!0;for(const r of e)if(t.startsWith(r))return!0;return!1},MK=` """Part of a sequence, roughly equivalent to a USFM paragraph""" type Block { """The length in bytes of the succinct representation of c (block items)""" @@ -764,7 +764,7 @@ type Block { startsWith: [String!] ): [String!]! } -`,jK={cBL:e=>e.c.length,bgBL:e=>e.bg.length,osBL:e=>e.os.length,isBL:e=>e.is.length,ntBL:e=>e.nt.length,cL:(e,t,r)=>r.docSet.countItems(e.c),bgL:(e,t,r)=>r.docSet.countItems(e.bg),osL:(e,t,r)=>r.docSet.countItems(e.os),isL:(e,t,r)=>r.docSet.countItems(e.is),is:(e,t,r)=>r.docSet.unsuccinctifyScopes(e.is),os:(e,t,r)=>r.docSet.unsuccinctifyScopes(e.os),bs:(e,t,r)=>{const[n,u,s]=ye.succinct.headerBytes(e.bs,0);return r.docSet.unsuccinctifyScope(e.bs,u,s,0)},bg:(e,t,r)=>r.docSet.unsuccinctifyGrafts(e.bg),nt:e=>e.nt.nByte(0),items:(e,t,r)=>{if(t.withScopes&&t.withScriptureCV)throw new Error("Cannot specify both withScopes and withScriptureCV");return t.withScriptureCV?r.docSet.unsuccinctifyItemsWithScriptureCV(e,t.withScriptureCV,t.excludeScopeTypes?{tokens:!0,scopes:!0,grafts:!0,excludeScopeTypes:t.excludeScopeTypes||[],anyScope:t.anyScope||!1,includeContext:t.includeContext||!1}:{}):r.docSet.unsuccinctifyPrunedItems(e,{tokens:!0,scopes:!0,grafts:!0,excludeScopeTypes:t.excludeScopeTypes||[],requiredScopes:t.withScopes||[],anyScope:t.anyScope||!1})},tokens:(e,t,r)=>{if(Object.keys(t).filter(u=>u.includes("Chars")).length>1)throw new Error('Only one of "withChars", "withAnyCaseChars" and "withCharsMatchingRegex" may be specified');let n;return t.withScriptureCV?n=r.docSet.unsuccinctifyItemsWithScriptureCV(e,t.withScriptureCV,{tokens:!0},t.includeContext||!1):n=r.docSet.unsuccinctifyPrunedItems(e,{tokens:!0,scopes:!0,requiredScopes:t.withScopes||[],anyScope:t.anyScope||!1}),t.withSubTypes&&(n=n.filter(u=>t.withSubTypes.includes(u[1]))),t.withChars?n=n.filter(u=>t.withChars.includes(u[2])):t.withMatchingChars&&(n=n.filter(u=>{for(const s of t.withMatchingChars)if(Z.test(u,Z(s)))return!0;return!1})),n.filter(u=>u[0]==="token")},text:(e,t,r)=>{let u=(t.withScriptureCV?r.docSet.unsuccinctifyItemsWithScriptureCV(e,t.withScriptureCV,{tokens:!0},!1):r.docSet.unsuccinctifyItems(e.c,{tokens:!0},null)).map(s=>s[2]).join("").trim();return t.normalizeSpace&&(u=u.replace(/[ \t\n\r]+/g," ")),u},itemGroups:(e,t,r)=>{if(t.byScopes&&t.byMilestones)throw new Error("Cannot specify both byScopes and byMilestones");if(!t.byScopes&&!t.byMilestones)throw new Error("Must specify either byScopes or byMilestones");return t.byScopes?r.docSet.sequenceItemsByScopes([e],t.byScopes):r.docSet.sequenceItemsByMilestones([e],t.byMilestones)},dump:(e,t,r)=>jz(r.docSet.unsuccinctifyBlock(e,{},null)),scopeLabels:(e,t,r)=>[...r.docSet.unsuccinctifyBlockScopeLabelsSet(e)].filter(n=>!t.startsWith||xK(t.startsWith,n))},j7=(e,t,r)=>{let n=[t.map(u=>[ye.enums.enumStringIndex(e.enums.wordLike,u)])];return r?n=n[0]:n=n.map(u=>u.reduce((s,o)=>s.concat(o))),n},M7=(e,t,r)=>{let n=[t.map(u=>ye.enums.enumRegexIndexTuples(e.enums.wordLike,u).map(s=>s[0]))];return r?n=n[0]:n=n.map(u=>u.reduce((s,o)=>s.concat(o))),n},L7=(e,t,r)=>{if(r&&t.filter(n=>n.length===0).length>0||(t=t.filter(n=>n.length>0),t.length===0))return!1;for(const n of t){let u=!1;for(const s of n)if(s>=0&&e.tokensPresent.get(s)>0){u=!0;break}if(r&&!u)return!1;if(!r&&u)return!0}return r},eh=(e,t,r,n)=>{let u=j7(e,r,n);return L7(t,u,n)},th=(e,t,r,n)=>{let u=M7(e,r,n);return L7(t,u,n)},MK={tokens:!1,scopes:!0,grafts:!1,requiredScopes:[]},LK=(e,t,r,n,u)=>{let s=new Set([]);for(const o of e.unsuccinctifyPrunedItems(t,MK,!1)){const[a,i,c,l,p,d]=o[2].split("/");for(const[f,h]of r.entries()){for(const y of h)if(i===y.attType&&c===y.tagName&&l===y.attKey&&parseInt(p)===y.valueN&&n[f].includes(d)){if(!u)return!0;s.add(f);break}if(s.size===r.length)return!0}}return!1},UK=` +`,LK={cBL:e=>e.c.length,bgBL:e=>e.bg.length,osBL:e=>e.os.length,isBL:e=>e.is.length,ntBL:e=>e.nt.length,cL:(e,t,r)=>r.docSet.countItems(e.c),bgL:(e,t,r)=>r.docSet.countItems(e.bg),osL:(e,t,r)=>r.docSet.countItems(e.os),isL:(e,t,r)=>r.docSet.countItems(e.is),is:(e,t,r)=>r.docSet.unsuccinctifyScopes(e.is),os:(e,t,r)=>r.docSet.unsuccinctifyScopes(e.os),bs:(e,t,r)=>{const[n,u,s]=ye.succinct.headerBytes(e.bs,0);return r.docSet.unsuccinctifyScope(e.bs,u,s,0)},bg:(e,t,r)=>r.docSet.unsuccinctifyGrafts(e.bg),nt:e=>e.nt.nByte(0),items:(e,t,r)=>{if(t.withScopes&&t.withScriptureCV)throw new Error("Cannot specify both withScopes and withScriptureCV");return t.withScriptureCV?r.docSet.unsuccinctifyItemsWithScriptureCV(e,t.withScriptureCV,t.excludeScopeTypes?{tokens:!0,scopes:!0,grafts:!0,excludeScopeTypes:t.excludeScopeTypes||[],anyScope:t.anyScope||!1,includeContext:t.includeContext||!1}:{}):r.docSet.unsuccinctifyPrunedItems(e,{tokens:!0,scopes:!0,grafts:!0,excludeScopeTypes:t.excludeScopeTypes||[],requiredScopes:t.withScopes||[],anyScope:t.anyScope||!1})},tokens:(e,t,r)=>{if(Object.keys(t).filter(u=>u.includes("Chars")).length>1)throw new Error('Only one of "withChars", "withAnyCaseChars" and "withCharsMatchingRegex" may be specified');let n;return t.withScriptureCV?n=r.docSet.unsuccinctifyItemsWithScriptureCV(e,t.withScriptureCV,{tokens:!0},t.includeContext||!1):n=r.docSet.unsuccinctifyPrunedItems(e,{tokens:!0,scopes:!0,requiredScopes:t.withScopes||[],anyScope:t.anyScope||!1}),t.withSubTypes&&(n=n.filter(u=>t.withSubTypes.includes(u[1]))),t.withChars?n=n.filter(u=>t.withChars.includes(u[2])):t.withMatchingChars&&(n=n.filter(u=>{for(const s of t.withMatchingChars)if(Z.test(u,Z(s)))return!0;return!1})),n.filter(u=>u[0]==="token")},text:(e,t,r)=>{let u=(t.withScriptureCV?r.docSet.unsuccinctifyItemsWithScriptureCV(e,t.withScriptureCV,{tokens:!0},!1):r.docSet.unsuccinctifyItems(e.c,{tokens:!0},null)).map(s=>s[2]).join("").trim();return t.normalizeSpace&&(u=u.replace(/[ \t\n\r]+/g," ")),u},itemGroups:(e,t,r)=>{if(t.byScopes&&t.byMilestones)throw new Error("Cannot specify both byScopes and byMilestones");if(!t.byScopes&&!t.byMilestones)throw new Error("Must specify either byScopes or byMilestones");return t.byScopes?r.docSet.sequenceItemsByScopes([e],t.byScopes):r.docSet.sequenceItemsByMilestones([e],t.byMilestones)},dump:(e,t,r)=>Lz(r.docSet.unsuccinctifyBlock(e,{},null)),scopeLabels:(e,t,r)=>[...r.docSet.unsuccinctifyBlockScopeLabelsSet(e)].filter(n=>!t.startsWith||jK(t.startsWith,n))},L7=(e,t,r)=>{let n=[t.map(u=>[ye.enums.enumStringIndex(e.enums.wordLike,u)])];return r?n=n[0]:n=n.map(u=>u.reduce((s,o)=>s.concat(o))),n},U7=(e,t,r)=>{let n=[t.map(u=>ye.enums.enumRegexIndexTuples(e.enums.wordLike,u).map(s=>s[0]))];return r?n=n[0]:n=n.map(u=>u.reduce((s,o)=>s.concat(o))),n},G7=(e,t,r)=>{if(r&&t.filter(n=>n.length===0).length>0||(t=t.filter(n=>n.length>0),t.length===0))return!1;for(const n of t){let u=!1;for(const s of n)if(s>=0&&e.tokensPresent.get(s)>0){u=!0;break}if(r&&!u)return!1;if(!r&&u)return!0}return r},th=(e,t,r,n)=>{let u=L7(e,r,n);return G7(t,u,n)},rh=(e,t,r,n)=>{let u=U7(e,r,n);return G7(t,u,n)},UK={tokens:!1,scopes:!0,grafts:!1,requiredScopes:[]},GK=(e,t,r,n,u)=>{let s=new Set([]);for(const o of e.unsuccinctifyPrunedItems(t,UK,!1)){const[a,i,c,l,p,d]=o[2].split("/");for(const[f,h]of r.entries()){for(const y of h)if(i===y.attType&&c===y.tagName&&l===y.attKey&&parseInt(p)===y.valueN&&n[f].includes(d)){if(!u)return!0;s.add(f);break}if(s.size===r.length)return!0}}return!1},VK=` """A contiguous flow of content""" type Sequence { """The id of the sequence""" @@ -846,8 +846,8 @@ type Sequence { allChars: Boolean ): Boolean! } -`,GK={nBlocks:e=>e.blocks.length,blocks:(e,t,r)=>{if(r.docSet.maybeBuildEnumIndexes(),t.withScopes&&t.withScriptureCV)throw new Error("Cannot specify both withScopes and withScriptureCV");if(t.attSpecs&&!t.attValues)throw new Error("Cannot specify attSpecs without attValues");if(!t.attSpecs&&t.attValues)throw new Error("Cannot specify attValues without attSpecs");if(t.attSpecs&&t.attValues&&t.attSpecs.length!==t.attValues.length)throw new Error("attSpecs and attValues must be same length");if(t.withChars&&t.withMatchingChars)throw new Error("Cannot specify both withChars and withMatchingChars");let n=e.blocks;if(t.positions&&(n=Array.from(n.entries()).filter(u=>t.positions.includes(u[0])).map(u=>u[1])),t.withScopes&&(n=n.filter(u=>r.docSet.allScopesInBlock(u,t.withScopes))),t.withScriptureCV&&(n=r.docSet.blocksWithScriptureCV(n,t.withScriptureCV)),t.attSpecs&&(n=n.filter(u=>LK(r.docSet,u,t.attSpecs,t.attValues,t.allAtts||!1))),t.withBlockScope&&(n=n.filter(u=>r.docSet.blockHasBlockScope(u,t.withBlockScope))),t.withChars){if(e.type==="main"&&!eh(r.docSet,e,t.withChars,t.allChars))return[];let u=j7(r.docSet,t.withChars,t.allChars);for(const s of u)n=n.filter(o=>r.docSet.blockHasChars(o,s))}if(t.withMatchingChars){if(e.type==="main"&&!th(r.docSet,e,t.withMatchingChars,t.allChars))return[];let u=M7(r.docSet,t.withMatchingChars,t.allChars);for(const s of u)n=n.filter(o=>r.docSet.blockHasChars(o,s))}return n},blocksItems:(e,t,r)=>e.blocks.map(n=>r.docSet.unsuccinctifyItems(n.c,{},null)),blocksTokens:(e,t,r)=>e.blocks.map(n=>r.docSet.unsuccinctifyItems(n.c,{tokens:!0},null)),blocksText:(e,t,r)=>e.blocks.map(n=>{let u=r.docSet.unsuccinctifyItems(n.c,{tokens:!0},null).map(s=>s[2]).join("");return t.normalizeSpace&&(u=u.replace(/[ \t\n\r]+/g," ")),u}),text:(e,t,r)=>{let n=e.blocks.map(u=>r.docSet.unsuccinctifyItems(u.c,{tokens:!0},null).map(s=>s[2]).join("")).join(` -`);return t.normalizeSpace&&(n=n.replace(/[ \t\n\r]+/g," ")),n},itemGroups:(e,t,r)=>{if(t.byScopes&&t.byMilestones)throw new Error("Cannot specify both byScopes and byMilestones");if(!t.byScopes&&!t.byMilestones)throw new Error("Must specify either byScopes or byMilestones");return t.byScopes?r.docSet.sequenceItemsByScopes(e.blocks,t.byScopes):r.docSet.sequenceItemsByMilestones(e.blocks,t.byMilestones)},tags:e=>Array.from(e.tags),tagsKv:e=>Array.from(e.tags).map(t=>t.includes(":")?[t.substring(0,t.indexOf(":")),t.substring(t.indexOf(":")+1)]:[t,""]),hasTag:(e,t)=>e.tags.has(t.tagName),wordLikes:(e,t,r)=>{if(e.type!=="main")throw new Error(`Only available for the main sequence, not ${e.type}`);if(t.coerceCase&&!["toLower","toUpper","none"].includes(t.coerceCase))throw new Error(`coerceCase, when present, must be 'toLower', 'toUpper' or 'none', not '${t.coerceCase}'`);r.docSet.maybeBuildEnumIndexes();let n=new Set,u=0;for(const s of e.tokensPresent){if(s){const o=r.docSet.enumIndexes.wordLike[u];let a=r.docSet.enums.wordLike.countedString(o);t.coerceCase==="toLower"&&(a=a.toLowerCase()),t.coerceCase==="toUpper"&&(a=a.toUpperCase()),n.add(a)}u++}return Array.from(n).sort()},hasChars:(e,t,r)=>{if(e.type!=="main")throw new Error(`Only available for the main sequence, not ${e.type}`);return eh(r.docSet,e,t.chars,t.allChars||!1)},hasMatchingChars:(e,t,r)=>{if(e.type!=="main")throw new Error(`Only available for the main sequence, not ${e.type}`);return th(r.docSet,e,t.chars,t.allChars)}},U7=(e,t)=>{let r=e;for(const n of t)n[0]==="scope"&&(n[1]==="start"?r.filter(s=>s===n[2]).length===0&&r.push(n[2]):r=r.filter(u=>u!==n[2]));return r},VK=(e,t,r,n,u)=>{const s=e.chapterIndex(n);if(s){const o=r.blocks[s.startBlock];return o?[[U7(t.docSet.unsuccinctifyScopes(o.os).map(a=>a[2]),t.docSet.unsuccinctifyItems(o.c,{},0,[]).slice(0,s.startItem+1).filter(a=>a[0]==="scope")),t.docSet.itemsByIndex(r,s,u||!1).reduce((a,i)=>a.concat([["token","lineSpace"," "]].concat(i)))]]:[]}else return[]},HK=(e,t,r,n,u,s,o,a)=>{let i=t.docSet,c=e.headers.bookCode,l=u.map(y=>[parseInt(n),parseInt(y)]);if(o){const y=e.processor.docSets[a];if(y&&(i=y),"forward"in r.verseMapping&&n in r.verseMapping.forward){let m=[];for(const C of u)m.push(ye.versification.mapVerse(r.verseMapping.forward[n],e.headers.bookCode,n,C));const v=m[0];c=v[0],l=v[1]}const A=i.documentWithBook(c);if(A){const m=A.sequences[A.mainId];if(m.verseMapping&&"reversed"in m.verseMapping){const v=[];for(const[C,B]of l)`${C}`in m.verseMapping.reversed?v.push(ye.versification.mapVerse(m.verseMapping.reversed[`${C}`],c,C,B)):v.push([c,[[C,B]]]),c=v[0][0],l=v.map(T=>T[1]).reduce((T,N)=>T.concat(N))}}}const p={},d=i.documentWithBook(c);if(!d)return[];const f=d.sequences[d.mainId];for(const y of l.map(A=>A[0]))y in p||(p[y]=d.chapterVerseIndex(y));const h=[];for(const[y,A]of l)if(p[y]){let m=[],v=0,C=0;if(p[y][A]){for(const T of p[y][A])v||(v=T.startBlock,C=T.startItem),m=m.concat(i.itemsByIndex(f,T,s||null).reduce((N,R)=>N.concat([["token","lineSpace"," "]].concat(R))));const B=f.blocks[v];h.push(B?[U7(i.unsuccinctifyScopes(B.os).map(T=>T[2]),i.unsuccinctifyItems(B.c,{},0,[]).slice(0,C+1).filter(T=>T[0]==="scope")),m]:[])}}return h},G7=(e,t)=>t.length===0?!1:e.includes(`chapter/${t[0][0]}`)&&(!t[0][1]||e.filter(r=>r.startsWith("verse/")&&parseInt(r.split("/")[1])>=t[0][1]).length>0)&&(!t[0][2]||e.filter(r=>r.startsWith("verse/")&&parseInt(r.split("/")[1])<=t[0][2]).length>0)?!0:G7(e,t.slice(1)),Qc=(e,t,r,n,u,s)=>{const[o,a]=n.split(":").map(d=>parseInt(d)),[i,c]=u.split(":").map(d=>parseInt(d));if(iG7(d[0],l))},WK=(e,t,r,n,u,s)=>{if(t.chapter&&!t.verses)return VK(e,r,n,t.chapter,t.includeContext);if(t.verses)return HK(e,r,n,t.chapter,t.verses,t.includeContext,u,s);throw new Error("Unexpected args to do_cv_separate_args")},JK=(e,t,r,n)=>{if(Z.test(t.chapterVerses,Z("^[0-9]+:[0-9]+-[0-9]+:[0-9]+$"))){const[u,s]=t.chapterVerses.split("-");return Qc(e,r,n,u,s,t.includeContext)}else if(Z.test(t.chapterVerses,Z("^[0-9]+:[0-9]+-[0-9]+$"))){const[u,s]=t.chapterVerses.split(":"),[o,a]=s.split("-");return Qc(e,r,n,`${u}:${o}`,`${u}:${a}`,t.includeContext)}else if(Z.test(t.chapterVerses,Z("^[0-9]+:[0-9]+$"))){const[u,s]=t.chapterVerses.split(":");return Qc(e,r,n,`${u}:${s}`,`${u}:${s}`,t.includeContext)}else if(Z.test(t.chapterVerses,Z("^[0-9]+$"))){const u=t.chapterVerses,s=e.chapterVerseIndex(u);if(!s)throw new Error(`No chapter ${u} found`);const o=s.map((a,i)=>[i,a]).filter(a=>a[1].length>0).map(a=>a[0]);return Qc(e,r,n,`${u}:${Math.min(o)}`,`${u}:${Math.max(o)}`,t.includeContext)}else throw new Error(`Could not parse chapterVerses string '${t.chapterVerses}'`)},_f=(e,t,r,n,u)=>{r.docSet=e.processor.docSets[e.docSetId];const s=e.sequences[e.mainId];if(!t.chapter&&!t.chapterVerses)throw new Error("Must specify either chapter or chapterVerses for cv");if(t.chapter&&t.chapterVerses)throw new Error("Must not specify both chapter and chapterVerses for cv");if(t.chapterVerses&&t.verses)throw new Error("Must not specify both chapterVerses and verses for cv");return t.chapter?WK(e,t,r,s,n,u):JK(e,t,r,s)},pg=(e,t)=>t in e.headers?e.headers[t]:null,zK=` +`,HK={nBlocks:e=>e.blocks.length,blocks:(e,t,r)=>{if(r.docSet.maybeBuildEnumIndexes(),t.withScopes&&t.withScriptureCV)throw new Error("Cannot specify both withScopes and withScriptureCV");if(t.attSpecs&&!t.attValues)throw new Error("Cannot specify attSpecs without attValues");if(!t.attSpecs&&t.attValues)throw new Error("Cannot specify attValues without attSpecs");if(t.attSpecs&&t.attValues&&t.attSpecs.length!==t.attValues.length)throw new Error("attSpecs and attValues must be same length");if(t.withChars&&t.withMatchingChars)throw new Error("Cannot specify both withChars and withMatchingChars");let n=e.blocks;if(t.positions&&(n=Array.from(n.entries()).filter(u=>t.positions.includes(u[0])).map(u=>u[1])),t.withScopes&&(n=n.filter(u=>r.docSet.allScopesInBlock(u,t.withScopes))),t.withScriptureCV&&(n=r.docSet.blocksWithScriptureCV(n,t.withScriptureCV)),t.attSpecs&&(n=n.filter(u=>GK(r.docSet,u,t.attSpecs,t.attValues,t.allAtts||!1))),t.withBlockScope&&(n=n.filter(u=>r.docSet.blockHasBlockScope(u,t.withBlockScope))),t.withChars){if(e.type==="main"&&!th(r.docSet,e,t.withChars,t.allChars))return[];let u=L7(r.docSet,t.withChars,t.allChars);for(const s of u)n=n.filter(o=>r.docSet.blockHasChars(o,s))}if(t.withMatchingChars){if(e.type==="main"&&!rh(r.docSet,e,t.withMatchingChars,t.allChars))return[];let u=U7(r.docSet,t.withMatchingChars,t.allChars);for(const s of u)n=n.filter(o=>r.docSet.blockHasChars(o,s))}return n},blocksItems:(e,t,r)=>e.blocks.map(n=>r.docSet.unsuccinctifyItems(n.c,{},null)),blocksTokens:(e,t,r)=>e.blocks.map(n=>r.docSet.unsuccinctifyItems(n.c,{tokens:!0},null)),blocksText:(e,t,r)=>e.blocks.map(n=>{let u=r.docSet.unsuccinctifyItems(n.c,{tokens:!0},null).map(s=>s[2]).join("");return t.normalizeSpace&&(u=u.replace(/[ \t\n\r]+/g," ")),u}),text:(e,t,r)=>{let n=e.blocks.map(u=>r.docSet.unsuccinctifyItems(u.c,{tokens:!0},null).map(s=>s[2]).join("")).join(` +`);return t.normalizeSpace&&(n=n.replace(/[ \t\n\r]+/g," ")),n},itemGroups:(e,t,r)=>{if(t.byScopes&&t.byMilestones)throw new Error("Cannot specify both byScopes and byMilestones");if(!t.byScopes&&!t.byMilestones)throw new Error("Must specify either byScopes or byMilestones");return t.byScopes?r.docSet.sequenceItemsByScopes(e.blocks,t.byScopes):r.docSet.sequenceItemsByMilestones(e.blocks,t.byMilestones)},tags:e=>Array.from(e.tags),tagsKv:e=>Array.from(e.tags).map(t=>t.includes(":")?[t.substring(0,t.indexOf(":")),t.substring(t.indexOf(":")+1)]:[t,""]),hasTag:(e,t)=>e.tags.has(t.tagName),wordLikes:(e,t,r)=>{if(e.type!=="main")throw new Error(`Only available for the main sequence, not ${e.type}`);if(t.coerceCase&&!["toLower","toUpper","none"].includes(t.coerceCase))throw new Error(`coerceCase, when present, must be 'toLower', 'toUpper' or 'none', not '${t.coerceCase}'`);r.docSet.maybeBuildEnumIndexes();let n=new Set,u=0;for(const s of e.tokensPresent){if(s){const o=r.docSet.enumIndexes.wordLike[u];let a=r.docSet.enums.wordLike.countedString(o);t.coerceCase==="toLower"&&(a=a.toLowerCase()),t.coerceCase==="toUpper"&&(a=a.toUpperCase()),n.add(a)}u++}return Array.from(n).sort()},hasChars:(e,t,r)=>{if(e.type!=="main")throw new Error(`Only available for the main sequence, not ${e.type}`);return th(r.docSet,e,t.chars,t.allChars||!1)},hasMatchingChars:(e,t,r)=>{if(e.type!=="main")throw new Error(`Only available for the main sequence, not ${e.type}`);return rh(r.docSet,e,t.chars,t.allChars)}},V7=(e,t)=>{let r=e;for(const n of t)n[0]==="scope"&&(n[1]==="start"?r.filter(s=>s===n[2]).length===0&&r.push(n[2]):r=r.filter(u=>u!==n[2]));return r},WK=(e,t,r,n,u)=>{const s=e.chapterIndex(n);if(s){const o=r.blocks[s.startBlock];return o?[[V7(t.docSet.unsuccinctifyScopes(o.os).map(a=>a[2]),t.docSet.unsuccinctifyItems(o.c,{},0,[]).slice(0,s.startItem+1).filter(a=>a[0]==="scope")),t.docSet.itemsByIndex(r,s,u||!1).reduce((a,i)=>a.concat([["token","lineSpace"," "]].concat(i)))]]:[]}else return[]},JK=(e,t,r,n,u,s,o,a)=>{let i=t.docSet,c=e.headers.bookCode,l=u.map(y=>[parseInt(n),parseInt(y)]);if(o){const y=e.processor.docSets[a];if(y&&(i=y),"forward"in r.verseMapping&&n in r.verseMapping.forward){let m=[];for(const C of u)m.push(ye.versification.mapVerse(r.verseMapping.forward[n],e.headers.bookCode,n,C));const v=m[0];c=v[0],l=v[1]}const A=i.documentWithBook(c);if(A){const m=A.sequences[A.mainId];if(m.verseMapping&&"reversed"in m.verseMapping){const v=[];for(const[C,B]of l)`${C}`in m.verseMapping.reversed?v.push(ye.versification.mapVerse(m.verseMapping.reversed[`${C}`],c,C,B)):v.push([c,[[C,B]]]),c=v[0][0],l=v.map(T=>T[1]).reduce((T,N)=>T.concat(N))}}}const p={},d=i.documentWithBook(c);if(!d)return[];const f=d.sequences[d.mainId];for(const y of l.map(A=>A[0]))y in p||(p[y]=d.chapterVerseIndex(y));const h=[];for(const[y,A]of l)if(p[y]){let m=[],v=0,C=0;if(p[y][A]){for(const T of p[y][A])v||(v=T.startBlock,C=T.startItem),m=m.concat(i.itemsByIndex(f,T,s||null).reduce((N,R)=>N.concat([["token","lineSpace"," "]].concat(R))));const B=f.blocks[v];h.push(B?[V7(i.unsuccinctifyScopes(B.os).map(T=>T[2]),i.unsuccinctifyItems(B.c,{},0,[]).slice(0,C+1).filter(T=>T[0]==="scope")),m]:[])}}return h},H7=(e,t)=>t.length===0?!1:e.includes(`chapter/${t[0][0]}`)&&(!t[0][1]||e.filter(r=>r.startsWith("verse/")&&parseInt(r.split("/")[1])>=t[0][1]).length>0)&&(!t[0][2]||e.filter(r=>r.startsWith("verse/")&&parseInt(r.split("/")[1])<=t[0][2]).length>0)?!0:H7(e,t.slice(1)),Qc=(e,t,r,n,u,s)=>{const[o,a]=n.split(":").map(d=>parseInt(d)),[i,c]=u.split(":").map(d=>parseInt(d));if(iH7(d[0],l))},zK=(e,t,r,n,u,s)=>{if(t.chapter&&!t.verses)return WK(e,r,n,t.chapter,t.includeContext);if(t.verses)return JK(e,r,n,t.chapter,t.verses,t.includeContext,u,s);throw new Error("Unexpected args to do_cv_separate_args")},KK=(e,t,r,n)=>{if(Z.test(t.chapterVerses,Z("^[0-9]+:[0-9]+-[0-9]+:[0-9]+$"))){const[u,s]=t.chapterVerses.split("-");return Qc(e,r,n,u,s,t.includeContext)}else if(Z.test(t.chapterVerses,Z("^[0-9]+:[0-9]+-[0-9]+$"))){const[u,s]=t.chapterVerses.split(":"),[o,a]=s.split("-");return Qc(e,r,n,`${u}:${o}`,`${u}:${a}`,t.includeContext)}else if(Z.test(t.chapterVerses,Z("^[0-9]+:[0-9]+$"))){const[u,s]=t.chapterVerses.split(":");return Qc(e,r,n,`${u}:${s}`,`${u}:${s}`,t.includeContext)}else if(Z.test(t.chapterVerses,Z("^[0-9]+$"))){const u=t.chapterVerses,s=e.chapterVerseIndex(u);if(!s)throw new Error(`No chapter ${u} found`);const o=s.map((a,i)=>[i,a]).filter(a=>a[1].length>0).map(a=>a[0]);return Qc(e,r,n,`${u}:${Math.min(o)}`,`${u}:${Math.max(o)}`,t.includeContext)}else throw new Error(`Could not parse chapterVerses string '${t.chapterVerses}'`)},_f=(e,t,r,n,u)=>{r.docSet=e.processor.docSets[e.docSetId];const s=e.sequences[e.mainId];if(!t.chapter&&!t.chapterVerses)throw new Error("Must specify either chapter or chapterVerses for cv");if(t.chapter&&t.chapterVerses)throw new Error("Must not specify both chapter and chapterVerses for cv");if(t.chapterVerses&&t.verses)throw new Error("Must not specify both chapterVerses and verses for cv");return t.chapter?zK(e,t,r,s,n,u):KK(e,t,r,s)},dg=(e,t)=>t in e.headers?e.headers[t]:null,XK=` """A document, typically corresponding to USFM for one book""" type Document { """The id of the document""" @@ -1038,8 +1038,8 @@ type Document { chapter: Int ): String! } -`,KK={idParts:e=>{const t=pg(e,"id");if(!t)return[null,null];const r=Z.exec(t,/^(P\d\d)\s+([A-Z0-6]{3})\s+(\S+)\s+-\s+(.*)/);if(r)return["periph",r.slice(1)];const n=Z.exec(t,/^([A-Z0-6]{3})\s+(.*)/);return n?["book",n.slice(1)]:[null,[t]]},headers:e=>Object.entries(e.headers),header:(e,t)=>pg(e,t.id),mainSequence:(e,t,r)=>(r.docSet=e.processor.docSets[e.docSetId],e.sequences[e.mainId]),nSequences:(e,t,r)=>(r.docSet=e.processor.docSets[e.docSetId],Object.keys(e.sequences).length),sequences:(e,t,r)=>{r.docSet=e.processor.docSets[e.docSetId];let n=Object.values(e.sequences);return t.ids&&(n=n.filter(u=>t.ids.includes(u.id))),t.types&&(n=n.filter(u=>t.types.includes(u.type))),t.withTags&&(n=n.filter(u=>t.withTags.filter(s=>u.tags.has(s)).length===t.withTags.length)),t.withoutTags&&(n=n.filter(u=>t.withoutTags.filter(s=>u.tags.has(s)).length===0)),n},tableSequences:(e,t,r)=>{r.docSet=e.processor.docSets[e.docSetId];let n=Object.values(e.sequences);return n=n.filter(u=>u.type==="table"),t.ids&&(n=n.filter(u=>t.ids.includes(u.id))),t.withTags&&(n=n.filter(u=>t.withTags.filter(s=>u.tags.has(s)).length===t.withTags.length)),t.withoutTags&&(n=n.filter(u=>t.withoutTags.filter(s=>u.tags.has(s)).length===0)),n},treeSequences:(e,t,r)=>{r.docSet=e.processor.docSets[e.docSetId];let n=Object.values(e.sequences);return n=n.filter(u=>u.type==="tree"),t.ids&&(n=n.filter(u=>t.ids.includes(u.id))),t.withTags&&(n=n.filter(u=>t.withTags.filter(s=>u.tags.has(s)).length===t.withTags.length)),t.withoutTags&&(n=n.filter(u=>t.withoutTags.filter(s=>u.tags.has(s)).length===0)),n},kvSequences:(e,t,r)=>{r.docSet=e.processor.docSets[e.docSetId];let n=Object.values(e.sequences);return n=n.filter(u=>u.type==="kv"),t.ids&&(n=n.filter(u=>t.ids.includes(u.id))),t.withTags&&(n=n.filter(u=>t.withTags.filter(s=>u.tags.has(s)).length===t.withTags.length)),t.withoutTags&&(n=n.filter(u=>t.withoutTags.filter(s=>u.tags.has(s)).length===0)),n},textSequences:(e,t,r)=>{r.docSet=e.processor.docSets[e.docSetId];let n=Object.values(e.sequences);return n=n.filter(u=>u.type!=="tree"&&u.type!=="table"&&u.type!=="kv"),t.ids&&(n=n.filter(u=>t.ids.includes(u.id))),t.withTags&&(n=n.filter(u=>t.withTags.filter(s=>u.tags.has(s)).length===t.withTags.length)),t.withoutTags&&(n=n.filter(u=>t.withoutTags.filter(s=>u.tags.has(s)).length===0)),n},sequence:(e,t,r)=>{r.docSet=e.processor.docSets[e.docSetId];let n=Object.values(e.sequences);return n=n.filter(u=>t.id.includes(u.id)),n[0]||null},tableSequence:(e,t,r)=>{r.docSet=e.processor.docSets[e.docSetId];let n=Object.values(e.sequences);if(n=n.filter(u=>t.id.includes(u.id)),n[0]&&n[0].type!=="table")throw new Error(`Expected sequence id ${n[0].id} to be of type 'table', not '${n[0].type}'`);return n[0]||null},treeSequence:(e,t,r)=>{r.docSet=e.processor.docSets[e.docSetId];let n=Object.values(e.sequences);if(n=n.filter(u=>t.id.includes(u.id)),n[0]&&n[0].type!=="tree")throw new Error(`Expected sequence id ${n[0].id} to be of type 'tree', not '${n[0].type}'`);return n[0]||null},kvSequence:(e,t,r)=>{r.docSet=e.processor.docSets[e.docSetId];let n=Object.values(e.sequences);if(n=n.filter(u=>t.id.includes(u.id)),n[0]&&n[0].type!=="vk")throw new Error(`Expected sequence id ${n[0].id} to be of type 'kv', not '${n[0].type}'`);return n[0]||null},mainBlocks:(e,t,r)=>(r.docSet=e.processor.docSets[e.docSetId],e.sequences[e.mainId].blocks),mainBlocksItems:(e,t,r)=>(r.docSet=e.processor.docSets[e.docSetId],e.sequences[e.mainId].blocks.map(n=>r.docSet.unsuccinctifyItems(n.c,{},null))),mainBlocksTokens:(e,t,r)=>(r.docSet=e.processor.docSets[e.docSetId],e.sequences[e.mainId].blocks.map(n=>r.docSet.unsuccinctifyItems(n.c,{tokens:!0},null))),mainBlocksText:(e,t,r)=>(r.docSet=e.processor.docSets[e.docSetId],e.sequences[e.mainId].blocks.map(n=>{let s=r.docSet.unsuccinctifyItems(n.c,{tokens:!0},null).map(o=>o[2]).join("").trim();return t.normalizeSpace&&(s=s.replace(/[ \t\n\r]+/g," ")),s})),mainText:(e,t,r)=>(r.docSet=e.processor.docSets[e.docSetId],e.sequences[e.mainId].blocks.map(n=>{let s=r.docSet.unsuccinctifyItems(n.c,{tokens:!0},null).map(o=>o[2]).join("").trim();return t.normalizeSpace&&(s=s.replace(/[ \t\n\r]+/g," ")),s}).join(` -`)),tags:e=>Array.from(e.tags),tagsKv:e=>Array.from(e.tags).map(t=>t.includes(":")?[t.substring(0,t.indexOf(":")),t.substring(t.indexOf(":")+1)]:[t,""]),hasTag:(e,t)=>e.tags.has(t.tagName),cv:(e,t,r)=>_f(e,t,r,!1),mappedCv:(e,t,r)=>{if(t.verses.length!==1)throw new Error(`mappedCv expects exactly one verse, not ${t.verses.length}`);return _f(e,t,r,!0,t.mappedDocSetId)},mappedCvs:(e,t,r)=>{const u=e.chapterVerseIndex(t.chapter).filter(o=>o.length>0).map(o=>o[0].verses);let s=[];for(const o of u)s.push(_f(e,{...t,verses:[o]},r,!0,t.mappedDocSetId).map(a=>[[`fromChapter/${t.chapter}`,`fromVerse/${o}`,...a[0]],a[1]]));return s},cvNavigation:(e,t)=>[t.chapter,t.verse,e.chapterVerseIndex((parseInt(t.chapter)-1).toString()),e.chapterVerseIndex(t.chapter),e.chapterVerseIndex((parseInt(t.chapter)+1).toString())],cvIndexes:(e,t,r)=>(r.docSet=e.processor.docSets[e.docSetId],r.doc=e,Object.entries(e.chapterVerseIndexes())),cvIndex:(e,t,r)=>(r.docSet=e.processor.docSets[e.docSetId],r.doc=e,[t.chapter,e.chapterVerseIndex(t.chapter)||[]]),cIndexes:(e,t,r)=>(r.docSet=e.processor.docSets[e.docSetId],r.doc=e,Object.entries(e.chapterIndexes())),cIndex:(e,t,r)=>{r.docSet=e.processor.docSets[e.docSetId],r.doc=e;const n=e.chapterIndex(t.chapter);return[t.chapter,n||{}]},cvMatching:(e,t,r)=>{if(!t.withChars&&!t.withMatchingChars&&!t.withScopes)throw new Error("Must specify at least one of withChars or withMatchingChars or withScopes");if(t.withChars&&t.withMatchingChars)throw new Error("Must not specify both withChars and withMatchingChars");r.docSet=e.processor.docSets[e.docSetId];let n;t.withChars&&t.allChars?n=t.withChars.map(i=>Z(`^${i}$`)):t.withChars?n=[Z.union(t.withChars.map(i=>Z(`^${i}$`,"i")))]:t.withMatchingChars&&t.allChars?n=t.withMatchingChars.map(i=>Z(i,"i")):t.withMatchingChars&&(n=[Z.union(t.withMatchingChars.map(i=>Z(i,"i")))]);const u=i=>{for(const c of t.withScopes||[])if(!i.includes(c))return!1;return!0},s=i=>{const c=t.withScopes||[];for(const l of c)if(i.includes(l))return!0;return c.length===0},o=i=>{for(const c of n||[]){let l=!1;for(const p of i)if(Z.test(p[2],c)){l=!0;break}if(!l)return!1}return!0};return r.docSet.sequenceItemsByScopes(e.sequences[e.mainId].blocks,["chapter/","verses/"]).filter(i=>(t.allScopes?u:s)(i[1].filter(c=>c[0]==="scope"&&c[1]==="start").map(c=>c[2]))&&o(i[1]))},perf:(e,t)=>e.perf(t.indent),usfm:e=>e.usfm(),sofria:(e,t)=>e.sofria(t.indent,t.chapter)},XK=(e,t)=>{const r=e.headers.bookCode||"GEN",n=t.headers.bookCode||"GEN",u=ye.canons.ptBooks[r]?ye.canons.ptBooks[r].position:999,s=ye.canons.ptBooks[n]?ye.canons.ptBooks[n].position:999;return u-s},YK=(e,t)=>{const r=e.headers.bookCode||"GEN",n=t.headers.bookCode||"GEN";return r.localeCompare(n)},ZK=(e,t)=>{const r=[1,2,3,4,5,6];let n=e.headers.bookCode||"GEN";r.includes(n[0])&&(n=n.substring(1)+n[0]);let u=t.headers.bookCode||"GEN";return r.includes(u[0])&&(u=u.substring(1)+u[0]),n.localeCompare(u)},ns={paratext:XK,alpha:YK,alpha2:ZK},QK=` +`,YK={idParts:e=>{const t=dg(e,"id");if(!t)return[null,null];const r=Z.exec(t,/^(P\d\d)\s+([A-Z0-6]{3})\s+(\S+)\s+-\s+(.*)/);if(r)return["periph",r.slice(1)];const n=Z.exec(t,/^([A-Z0-6]{3})\s+(.*)/);return n?["book",n.slice(1)]:[null,[t]]},headers:e=>Object.entries(e.headers),header:(e,t)=>dg(e,t.id),mainSequence:(e,t,r)=>(r.docSet=e.processor.docSets[e.docSetId],e.sequences[e.mainId]),nSequences:(e,t,r)=>(r.docSet=e.processor.docSets[e.docSetId],Object.keys(e.sequences).length),sequences:(e,t,r)=>{r.docSet=e.processor.docSets[e.docSetId];let n=Object.values(e.sequences);return t.ids&&(n=n.filter(u=>t.ids.includes(u.id))),t.types&&(n=n.filter(u=>t.types.includes(u.type))),t.withTags&&(n=n.filter(u=>t.withTags.filter(s=>u.tags.has(s)).length===t.withTags.length)),t.withoutTags&&(n=n.filter(u=>t.withoutTags.filter(s=>u.tags.has(s)).length===0)),n},tableSequences:(e,t,r)=>{r.docSet=e.processor.docSets[e.docSetId];let n=Object.values(e.sequences);return n=n.filter(u=>u.type==="table"),t.ids&&(n=n.filter(u=>t.ids.includes(u.id))),t.withTags&&(n=n.filter(u=>t.withTags.filter(s=>u.tags.has(s)).length===t.withTags.length)),t.withoutTags&&(n=n.filter(u=>t.withoutTags.filter(s=>u.tags.has(s)).length===0)),n},treeSequences:(e,t,r)=>{r.docSet=e.processor.docSets[e.docSetId];let n=Object.values(e.sequences);return n=n.filter(u=>u.type==="tree"),t.ids&&(n=n.filter(u=>t.ids.includes(u.id))),t.withTags&&(n=n.filter(u=>t.withTags.filter(s=>u.tags.has(s)).length===t.withTags.length)),t.withoutTags&&(n=n.filter(u=>t.withoutTags.filter(s=>u.tags.has(s)).length===0)),n},kvSequences:(e,t,r)=>{r.docSet=e.processor.docSets[e.docSetId];let n=Object.values(e.sequences);return n=n.filter(u=>u.type==="kv"),t.ids&&(n=n.filter(u=>t.ids.includes(u.id))),t.withTags&&(n=n.filter(u=>t.withTags.filter(s=>u.tags.has(s)).length===t.withTags.length)),t.withoutTags&&(n=n.filter(u=>t.withoutTags.filter(s=>u.tags.has(s)).length===0)),n},textSequences:(e,t,r)=>{r.docSet=e.processor.docSets[e.docSetId];let n=Object.values(e.sequences);return n=n.filter(u=>u.type!=="tree"&&u.type!=="table"&&u.type!=="kv"),t.ids&&(n=n.filter(u=>t.ids.includes(u.id))),t.withTags&&(n=n.filter(u=>t.withTags.filter(s=>u.tags.has(s)).length===t.withTags.length)),t.withoutTags&&(n=n.filter(u=>t.withoutTags.filter(s=>u.tags.has(s)).length===0)),n},sequence:(e,t,r)=>{r.docSet=e.processor.docSets[e.docSetId];let n=Object.values(e.sequences);return n=n.filter(u=>t.id.includes(u.id)),n[0]||null},tableSequence:(e,t,r)=>{r.docSet=e.processor.docSets[e.docSetId];let n=Object.values(e.sequences);if(n=n.filter(u=>t.id.includes(u.id)),n[0]&&n[0].type!=="table")throw new Error(`Expected sequence id ${n[0].id} to be of type 'table', not '${n[0].type}'`);return n[0]||null},treeSequence:(e,t,r)=>{r.docSet=e.processor.docSets[e.docSetId];let n=Object.values(e.sequences);if(n=n.filter(u=>t.id.includes(u.id)),n[0]&&n[0].type!=="tree")throw new Error(`Expected sequence id ${n[0].id} to be of type 'tree', not '${n[0].type}'`);return n[0]||null},kvSequence:(e,t,r)=>{r.docSet=e.processor.docSets[e.docSetId];let n=Object.values(e.sequences);if(n=n.filter(u=>t.id.includes(u.id)),n[0]&&n[0].type!=="vk")throw new Error(`Expected sequence id ${n[0].id} to be of type 'kv', not '${n[0].type}'`);return n[0]||null},mainBlocks:(e,t,r)=>(r.docSet=e.processor.docSets[e.docSetId],e.sequences[e.mainId].blocks),mainBlocksItems:(e,t,r)=>(r.docSet=e.processor.docSets[e.docSetId],e.sequences[e.mainId].blocks.map(n=>r.docSet.unsuccinctifyItems(n.c,{},null))),mainBlocksTokens:(e,t,r)=>(r.docSet=e.processor.docSets[e.docSetId],e.sequences[e.mainId].blocks.map(n=>r.docSet.unsuccinctifyItems(n.c,{tokens:!0},null))),mainBlocksText:(e,t,r)=>(r.docSet=e.processor.docSets[e.docSetId],e.sequences[e.mainId].blocks.map(n=>{let s=r.docSet.unsuccinctifyItems(n.c,{tokens:!0},null).map(o=>o[2]).join("").trim();return t.normalizeSpace&&(s=s.replace(/[ \t\n\r]+/g," ")),s})),mainText:(e,t,r)=>(r.docSet=e.processor.docSets[e.docSetId],e.sequences[e.mainId].blocks.map(n=>{let s=r.docSet.unsuccinctifyItems(n.c,{tokens:!0},null).map(o=>o[2]).join("").trim();return t.normalizeSpace&&(s=s.replace(/[ \t\n\r]+/g," ")),s}).join(` +`)),tags:e=>Array.from(e.tags),tagsKv:e=>Array.from(e.tags).map(t=>t.includes(":")?[t.substring(0,t.indexOf(":")),t.substring(t.indexOf(":")+1)]:[t,""]),hasTag:(e,t)=>e.tags.has(t.tagName),cv:(e,t,r)=>_f(e,t,r,!1),mappedCv:(e,t,r)=>{if(t.verses.length!==1)throw new Error(`mappedCv expects exactly one verse, not ${t.verses.length}`);return _f(e,t,r,!0,t.mappedDocSetId)},mappedCvs:(e,t,r)=>{const u=e.chapterVerseIndex(t.chapter).filter(o=>o.length>0).map(o=>o[0].verses);let s=[];for(const o of u)s.push(_f(e,{...t,verses:[o]},r,!0,t.mappedDocSetId).map(a=>[[`fromChapter/${t.chapter}`,`fromVerse/${o}`,...a[0]],a[1]]));return s},cvNavigation:(e,t)=>[t.chapter,t.verse,e.chapterVerseIndex((parseInt(t.chapter)-1).toString()),e.chapterVerseIndex(t.chapter),e.chapterVerseIndex((parseInt(t.chapter)+1).toString())],cvIndexes:(e,t,r)=>(r.docSet=e.processor.docSets[e.docSetId],r.doc=e,Object.entries(e.chapterVerseIndexes())),cvIndex:(e,t,r)=>(r.docSet=e.processor.docSets[e.docSetId],r.doc=e,[t.chapter,e.chapterVerseIndex(t.chapter)||[]]),cIndexes:(e,t,r)=>(r.docSet=e.processor.docSets[e.docSetId],r.doc=e,Object.entries(e.chapterIndexes())),cIndex:(e,t,r)=>{r.docSet=e.processor.docSets[e.docSetId],r.doc=e;const n=e.chapterIndex(t.chapter);return[t.chapter,n||{}]},cvMatching:(e,t,r)=>{if(!t.withChars&&!t.withMatchingChars&&!t.withScopes)throw new Error("Must specify at least one of withChars or withMatchingChars or withScopes");if(t.withChars&&t.withMatchingChars)throw new Error("Must not specify both withChars and withMatchingChars");r.docSet=e.processor.docSets[e.docSetId];let n;t.withChars&&t.allChars?n=t.withChars.map(i=>Z(`^${i}$`)):t.withChars?n=[Z.union(t.withChars.map(i=>Z(`^${i}$`,"i")))]:t.withMatchingChars&&t.allChars?n=t.withMatchingChars.map(i=>Z(i,"i")):t.withMatchingChars&&(n=[Z.union(t.withMatchingChars.map(i=>Z(i,"i")))]);const u=i=>{for(const c of t.withScopes||[])if(!i.includes(c))return!1;return!0},s=i=>{const c=t.withScopes||[];for(const l of c)if(i.includes(l))return!0;return c.length===0},o=i=>{for(const c of n||[]){let l=!1;for(const p of i)if(Z.test(p[2],c)){l=!0;break}if(!l)return!1}return!0};return r.docSet.sequenceItemsByScopes(e.sequences[e.mainId].blocks,["chapter/","verses/"]).filter(i=>(t.allScopes?u:s)(i[1].filter(c=>c[0]==="scope"&&c[1]==="start").map(c=>c[2]))&&o(i[1]))},perf:(e,t)=>e.perf(t.indent),usfm:e=>e.usfm(),sofria:(e,t)=>e.sofria(t.indent,t.chapter)},ZK=(e,t)=>{const r=e.headers.bookCode||"GEN",n=t.headers.bookCode||"GEN",u=ye.canons.ptBooks[r]?ye.canons.ptBooks[r].position:999,s=ye.canons.ptBooks[n]?ye.canons.ptBooks[n].position:999;return u-s},QK=(e,t)=>{const r=e.headers.bookCode||"GEN",n=t.headers.bookCode||"GEN";return r.localeCompare(n)},eX=(e,t)=>{const r=[1,2,3,4,5,6];let n=e.headers.bookCode||"GEN";r.includes(n[0])&&(n=n.substring(1)+n[0]);let u=t.headers.bookCode||"GEN";return r.includes(u[0])&&(u=u.substring(1)+u[0]),n.localeCompare(u)},ns={paratext:ZK,alpha:QK,alpha2:eX},tX=` """A collection of documents that share the same set of selector values""" type DocSet { """The id of the docSet, which is formed by concatenating the docSet's selector values""" @@ -1116,7 +1116,7 @@ type DocSet { """A string containing the unique characters in the docSet""" uniqueCharsString: String! } -`,eX={selectors:e=>Object.entries(e.selectors),selector:(e,t)=>e.selectors[t.id],tags:e=>Array.from(e.tags),tagsKv:e=>Array.from(e.tags).map(t=>t.includes(":")?[t.substring(0,t.indexOf(":")),t.substring(t.indexOf(":")+1)]:[t,""]),hasTag:(e,t)=>e.tags.has(t.tagName),documents:(e,t,r)=>{const n=(s,o)=>{for(const a of o||[])if(!(a.key in s)||s[a.key]!==a.value)return!1;return!0};if(t.withChars&&t.withMatchingChars)throw new Error("Cannot specify both withChars and withMatchingChars");r.docSet=e;let u=e.documents();if(t.ids&&(u=u.filter(s=>t.ids.includes(s.id))),t.withChars&&(u=u.filter(s=>eh(e,s.sequences[s.mainId],t.withChars,t.allChars))),t.withMatchingChars&&(u=u.filter(s=>th(e,s.sequences[s.mainId],t.withMatchingChars,t.allChars))),t.withScopes){const s=o=>new Set(o.sequences[o.mainId].blocks.map(a=>r.docSet.unsuccinctifyBlockScopeLabelsSet(a)).map(a=>Array.from(a)).reduce((a,i)=>a.concat(i)));u=u.filter(o=>{const a=s(o),i=t.allScopes?t.withScopes.length:1;return t.withScopes.filter(c=>a.has(c)).length>=i})}if(t.withHeaderValues&&(u=u.filter(s=>n(s.headers,t.withHeaderValues))),t.withTags&&(u=u.filter(s=>t.withTags.filter(o=>s.tags.has(o)).length===t.withTags.length)),t.withoutTags&&(u=u.filter(s=>t.withoutTags.filter(o=>s.tags.has(o)).length===0)),t.sortedBy){if(!(t.sortedBy in ns))throw new Error(`sortedBy value must be one of [${Object.keys(ns)}], not ${t.sortedBy}`);u.sort(ns[t.sortedBy])}return u},nDocuments:(e,t,r)=>(r.docSet=e,e.documents().length),document:(e,t)=>e.documentWithBook(t.bookCode),hasMapping:e=>e.tags.has("hasMapping"),enumIndexForString:(e,t)=>ye.enums.enumStringIndex(e.enums[t.enumType],t.searchString),enumRegexIndexesForString:(e,t)=>ye.enums.enumRegexIndexTuples(e.enums[t.enumType],t.searchRegex),wordLikes:(e,t)=>{if(t.coerceCase&&!["toLower","toUpper","none"].includes(t.coerceCase))throw new Error(`coerceCase, when present, must be 'toLower', 'toUpper' or 'none', not '${t.coerceCase}'`);let r=ye.succinct.unpackEnum(e.enums.wordLike);return t.coerceCase==="toLower"&&(r=r.map(n=>n.toLowerCase())),t.coerceCase==="toUpper"&&(r=r.map(n=>n.toUpperCase())),Array.from(new Set(r))},uniqueChars:e=>{const t=new Set([]);for(const r of[...ye.succinct.unpackEnum(e.enums.wordLike),...ye.succinct.unpackEnum(e.enums.notWordLike)])for(const n of r.split(""))t.add(n);return Array.from(t).sort()},uniqueCharsString:e=>{const t=new Set([]);for(const r of[...ye.succinct.unpackEnum(e.enums.wordLike),...ye.succinct.unpackEnum(e.enums.notWordLike)])for(const n of r.split(""))t.add(n);return Array.from(t).sort().join("")}},tX=`# Versification "English" +`,rX={selectors:e=>Object.entries(e.selectors),selector:(e,t)=>e.selectors[t.id],tags:e=>Array.from(e.tags),tagsKv:e=>Array.from(e.tags).map(t=>t.includes(":")?[t.substring(0,t.indexOf(":")),t.substring(t.indexOf(":")+1)]:[t,""]),hasTag:(e,t)=>e.tags.has(t.tagName),documents:(e,t,r)=>{const n=(s,o)=>{for(const a of o||[])if(!(a.key in s)||s[a.key]!==a.value)return!1;return!0};if(t.withChars&&t.withMatchingChars)throw new Error("Cannot specify both withChars and withMatchingChars");r.docSet=e;let u=e.documents();if(t.ids&&(u=u.filter(s=>t.ids.includes(s.id))),t.withChars&&(u=u.filter(s=>th(e,s.sequences[s.mainId],t.withChars,t.allChars))),t.withMatchingChars&&(u=u.filter(s=>rh(e,s.sequences[s.mainId],t.withMatchingChars,t.allChars))),t.withScopes){const s=o=>new Set(o.sequences[o.mainId].blocks.map(a=>r.docSet.unsuccinctifyBlockScopeLabelsSet(a)).map(a=>Array.from(a)).reduce((a,i)=>a.concat(i)));u=u.filter(o=>{const a=s(o),i=t.allScopes?t.withScopes.length:1;return t.withScopes.filter(c=>a.has(c)).length>=i})}if(t.withHeaderValues&&(u=u.filter(s=>n(s.headers,t.withHeaderValues))),t.withTags&&(u=u.filter(s=>t.withTags.filter(o=>s.tags.has(o)).length===t.withTags.length)),t.withoutTags&&(u=u.filter(s=>t.withoutTags.filter(o=>s.tags.has(o)).length===0)),t.sortedBy){if(!(t.sortedBy in ns))throw new Error(`sortedBy value must be one of [${Object.keys(ns)}], not ${t.sortedBy}`);u.sort(ns[t.sortedBy])}return u},nDocuments:(e,t,r)=>(r.docSet=e,e.documents().length),document:(e,t)=>e.documentWithBook(t.bookCode),hasMapping:e=>e.tags.has("hasMapping"),enumIndexForString:(e,t)=>ye.enums.enumStringIndex(e.enums[t.enumType],t.searchString),enumRegexIndexesForString:(e,t)=>ye.enums.enumRegexIndexTuples(e.enums[t.enumType],t.searchRegex),wordLikes:(e,t)=>{if(t.coerceCase&&!["toLower","toUpper","none"].includes(t.coerceCase))throw new Error(`coerceCase, when present, must be 'toLower', 'toUpper' or 'none', not '${t.coerceCase}'`);let r=ye.succinct.unpackEnum(e.enums.wordLike);return t.coerceCase==="toLower"&&(r=r.map(n=>n.toLowerCase())),t.coerceCase==="toUpper"&&(r=r.map(n=>n.toUpperCase())),Array.from(new Set(r))},uniqueChars:e=>{const t=new Set([]);for(const r of[...ye.succinct.unpackEnum(e.enums.wordLike),...ye.succinct.unpackEnum(e.enums.notWordLike)])for(const n of r.split(""))t.add(n);return Array.from(t).sort()},uniqueCharsString:e=>{const t=new Set([]);for(const r of[...ye.succinct.unpackEnum(e.enums.wordLike),...ye.succinct.unpackEnum(e.enums.notWordLike)])for(const n of r.split(""))t.add(n);return Array.from(t).sort().join("")}},nX=`# Versification "English" # Version=2.0 # # modifications by Reinier de Blois 13/March/2012 @@ -1568,7 +1568,7 @@ S3Y 1:34-35 = DAG 3:56-57 S3Y 1:37 = DAG 3:58 S3Y 1:36 = DAG 3:59 S3Y 1:38-68 = DAG 3:60-90 -`,rX=`# Versification "Septuagint" +`,uX=`# Versification "Septuagint" # Version=1.7 # # modifications by Studge 26/ June/ 2009 @@ -2517,7 +2517,7 @@ EZR 23:1-31 = NEH 13:1-31 #! *ESG 8:12,-,a,b,c,d,e,f,g,h,i,k,l,m,n,o,p,q,r,s,t,u,x #! *ESG 10:3,-,a,b,c,d,e,f,g,h,i,k,l #! *SIR 1:1,-,a,b,c,d,e,f,g,h -`,nX=`# Versification "Original" +`,sX=`# Versification "Original" # Version=1.200 # (not a very good name but I have not heard a better suggestion) # @@ -2671,7 +2671,7 @@ S3Y 1:34-35 = DAG 3:56-57 S3Y 1:37 = DAG 3:58 S3Y 1:36 = DAG 3:59 S3Y 1:38-68 = DAG 3:60-90 -`,uX=`# Versification "Russian Protestant" +`,oX=`# Versification "Russian Protestant" # Version=1.4 # # This is the versification used by the "Canonical" (Protestant) edition of the Russian Synodal Bible @@ -3012,7 +3012,7 @@ ROM 14:24-26 = ROM 16:25-27 # REV 13:1b = REV 13:1 # cant handle split verses yet REV 13:1 = REV 12:18 REV 13:1 = REV 13:1 -`,sX=`# Versification "Russian Orthodox" +`,aX=`# Versification "Russian Orthodox" # Version=1.3 # # This is the versification used by the Orthodox (or "non-canonical") edition of the Russian Synodal Bible @@ -3552,7 +3552,7 @@ ESG 10:11 = ESG 10:3h ESG 10:12 = ESG 10:3i ESG 10:13 = ESG 10:3k ESG 10:14 = ESG 10:3l -`,oX=`# Versification "Vulgate" +`,iX=`# Versification "Vulgate" # Version=1.5 # # modifications by Studge 26/June/2009 @@ -4386,8 +4386,8 @@ DAG 13:1-63 = SUS 1:63 # Bel and the Dragon DAG 14:1-42 = BEL 1:42 #------------------------------------------------------- -`,rh={eng:{raw:tX},lxx:{raw:rX},org:{raw:nX},rsc:{raw:uX},rso:{raw:sX},vul:{raw:oX}},aX=/^([A-Z0-9]{3}) (([0-9]+:[0-9]+) ?)*$/;for(const[e,t]of Object.entries(rh)){t.cv={};const r=t.raw.split(` -`).filter(n=>n.match(aX));if(r)for(const n of r){const u=n.slice(0,3);t.cv[u]={};for(const s of n.substr(4).split(" ")){const[o,a]=s.split(":");t.cv[u][o]=a}}}const iX=` +`,nh={eng:{raw:nX},lxx:{raw:uX},org:{raw:sX},rsc:{raw:oX},rso:{raw:aX},vul:{raw:iX}},cX=/^([A-Z0-9]{3}) (([0-9]+:[0-9]+) ?)*$/;for(const[e,t]of Object.entries(nh)){t.cv={};const r=t.raw.split(` +`).filter(n=>n.match(cX));if(r)for(const n of r){const u=n.slice(0,3);t.cv[u]={};for(const s of n.substr(4).split(" ")){const[o,a]=s.split(":");t.cv[u][o]=a}}}const lX=` """The top level of Proskomma queries""" type Query { """The id of the processor, which is different for each Proskomma instance""" @@ -4452,7 +4452,7 @@ type Query { id: String! ) : versification! } -`,cX={id:e=>e.processorId,selectors:e=>e.selectors,docSets:(e,t)=>{const r=(u,s)=>{for(const o of s)if(u.selectors[o.key].toString()!==o.value)return!1;return!0};let n=("withBook"in t?e.docSetsWithBook(t.withBook):Object.values(e.docSets)).filter(u=>!t.ids||t.ids.includes(u.id));return t.withSelectors&&(n=n.filter(u=>r(u,t.withSelectors))),t.withTags&&(n=n.filter(u=>t.withTags.filter(s=>u.tags.has(s)).length===t.withTags.length)),t.withoutTags&&(n=n.filter(u=>t.withoutTags.filter(s=>u.tags.has(s)).length===0)),n},docSet:(e,t)=>e.docSetById(t.id),documents:(e,t)=>{const r=(u,s)=>{for(const o of s||[])if(!(o.key in u)||u[o.key]!==o.value)return!1;return!0};let n=t.withBook?e.documentsWithBook(t.withBook):e.documentList();if(n=n.filter(u=>!t.ids||t.ids.includes(u.id)),t.withHeaderValues&&(n=n.filter(u=>r(u.headers,t.withHeaderValues))),t.withTags&&(n=n.filter(u=>t.withTags.filter(s=>u.tags.has(s)).length===t.withTags.length)),t.withoutTags&&(n=n.filter(u=>t.withoutTags.filter(s=>u.tags.has(s)).length===0)),t.sortedBy){if(!(t.sortedBy in ns))throw new Error(`sortedBy value must be one of [${Object.keys(ns).join(", ")}], not ${t.sortedBy}`);n.sort(ns[t.sortedBy])}return n},document:(e,t)=>{if(t.id&&!t.docSetId&&!t.withBook)return e.documentById(t.id);if(!t.id&&t.docSetId&&t.withBook)return e.documentsWithBook(t.withBook).filter(r=>r.docSetId===t.docSetId)[0];throw new Error("document requires either id or both docSetId and withBook (but not all three)")},versifications:()=>Object.entries(rh),versification:(e,t)=>Object.entries(rh).filter(r=>r[0]===t.id)[0]},lX=` +`,pX={id:e=>e.processorId,selectors:e=>e.selectors,docSets:(e,t)=>{const r=(u,s)=>{for(const o of s)if(u.selectors[o.key].toString()!==o.value)return!1;return!0};let n=("withBook"in t?e.docSetsWithBook(t.withBook):Object.values(e.docSets)).filter(u=>!t.ids||t.ids.includes(u.id));return t.withSelectors&&(n=n.filter(u=>r(u,t.withSelectors))),t.withTags&&(n=n.filter(u=>t.withTags.filter(s=>u.tags.has(s)).length===t.withTags.length)),t.withoutTags&&(n=n.filter(u=>t.withoutTags.filter(s=>u.tags.has(s)).length===0)),n},docSet:(e,t)=>e.docSetById(t.id),documents:(e,t)=>{const r=(u,s)=>{for(const o of s||[])if(!(o.key in u)||u[o.key]!==o.value)return!1;return!0};let n=t.withBook?e.documentsWithBook(t.withBook):e.documentList();if(n=n.filter(u=>!t.ids||t.ids.includes(u.id)),t.withHeaderValues&&(n=n.filter(u=>r(u.headers,t.withHeaderValues))),t.withTags&&(n=n.filter(u=>t.withTags.filter(s=>u.tags.has(s)).length===t.withTags.length)),t.withoutTags&&(n=n.filter(u=>t.withoutTags.filter(s=>u.tags.has(s)).length===0)),t.sortedBy){if(!(t.sortedBy in ns))throw new Error(`sortedBy value must be one of [${Object.keys(ns).join(", ")}], not ${t.sortedBy}`);n.sort(ns[t.sortedBy])}return n},document:(e,t)=>{if(t.id&&!t.docSetId&&!t.withBook)return e.documentById(t.id);if(!t.id&&t.docSetId&&t.withBook)return e.documentsWithBook(t.withBook).filter(r=>r.docSetId===t.docSetId)[0];throw new Error("document requires either id or both docSetId and withBook (but not all three)")},versifications:()=>Object.entries(nh),versification:(e,t)=>Object.entries(nh).filter(r=>r[0]===t.id)[0]},dX=` """Specification of a selector""" type selectorSpec { """Name (ie the key)""" @@ -4468,7 +4468,7 @@ type selectorSpec { """Enum of permitted string values""" enum: [String!] } -`,pX={regex:e=>e.regex||null,min:e=>e.min||null,max:e=>e.max||null,enum:e=>e.enum||null},dX=` +`,fX={regex:e=>e.regex||null,min:e=>e.min||null,max:e=>e.max||null,enum:e=>e.enum||null},DX=` """Input specification of a selector""" input inputSelectorSpec { """Name (ie the key)""" @@ -4484,7 +4484,7 @@ input inputSelectorSpec { """Enum of permitted string values""" enum: [String!] } -`,nh=(e,t,r,n)=>{const u=r.blocks.length;for(let s=0;s{const u=r.blocks.length;for(let s=0;s{const r={};return t.selectors.forEach(n=>{r[n.key]=n.value}),!!e.importDocument(r,t.contentType,t.content,null,null,null,t.tags||[])},newSequence:(e,t)=>{const r=e.documents[t.documentId],n=r.processor.docSets[r.docSetId];if(!r)throw new Error(`Document '${t.documentId}' not found`);const u=r.newSequence(t.type,t.tags);if(t.blocksSpec&&(nh(n,r,r.sequences[u],t.blocksSpec),r.buildChapterVerseIndex()),t.graftToMain){n.maybeBuildPreEnums();const s=r.sequences[r.mainId].blocks[0].bg,o=n.enumForCategoryValue("graftTypes",t.type,!0),a=n.enumForCategoryValue("ids",u,!0);ye.succinct.pushSuccinctGraftBytes(s,o,a)}return u},newBlock:(e,t)=>{const r=e.documents[t.documentId];if(!r)throw new Error(`Document '${t.documentId}' not found`);return r.newBlock(t.sequenceId,t.blockN,t.blockScope)}},hX=` +`,mX={addDocument:(e,t)=>{const r={};return t.selectors.forEach(n=>{r[n.key]=n.value}),!!e.importDocument(r,t.contentType,t.content,null,null,null,t.tags||[])},newSequence:(e,t)=>{const r=e.documents[t.documentId],n=r.processor.docSets[r.docSetId];if(!r)throw new Error(`Document '${t.documentId}' not found`);const u=r.newSequence(t.type,t.tags);if(t.blocksSpec&&(uh(n,r,r.sequences[u],t.blocksSpec),r.buildChapterVerseIndex()),t.graftToMain){n.maybeBuildPreEnums();const s=r.sequences[r.mainId].blocks[0].bg,o=n.enumForCategoryValue("graftTypes",t.type,!0),a=n.enumForCategoryValue("ids",u,!0);ye.succinct.pushSuccinctGraftBytes(s,o,a)}return u},newBlock:(e,t)=>{const r=e.documents[t.documentId];if(!r)throw new Error(`Document '${t.documentId}' not found`);return r.newBlock(t.sequenceId,t.blockN,t.blockScope)}},EX=` """Deletes a docSet""" deleteDocSet( """The id of the docSet containing the document to be deleted""" @@ -4549,13 +4549,13 @@ input inputSelectorSpec { """The zero-indexed number of the block to be deleted""" blockN: Int! ): Boolean -`,mX={deleteDocSet:(e,t)=>e.deleteDocSet(t.docSetId),deleteDocument:(e,t)=>e.deleteDocument(t.docSetId,t.documentId),deleteSequence:(e,t)=>{const r=e.documents[t.documentId];if(!r)throw new Error(`Document '${t.documentId}' not found`);return r.deleteSequence(t.sequenceId)},deleteBlock:(e,t)=>{const r=e.documents[t.documentId];if(!r)throw new Error(`Document '${t.documentId}' not found`);return r.deleteBlock(t.sequenceId,t.blockN)}},EX=` +`,yX={deleteDocSet:(e,t)=>e.deleteDocSet(t.docSetId),deleteDocument:(e,t)=>e.deleteDocument(t.docSetId,t.documentId),deleteSequence:(e,t)=>{const r=e.documents[t.documentId];if(!r)throw new Error(`Document '${t.documentId}' not found`);return r.deleteSequence(t.sequenceId)},deleteBlock:(e,t)=>{const r=e.documents[t.documentId];if(!r)throw new Error(`Document '${t.documentId}' not found`);return r.deleteBlock(t.sequenceId,t.blockN)}},vX=` """Explicitly rebuild the text lookup tables for a docSet. (You probably don't need to do this)""" rehashDocSet( """The id of the docSet""" docSetId: String! ): Boolean! -`,yX={rehashDocSet:(e,t)=>e.rehashDocSet(t.docSetId)},vX=` +`,gX={rehashDocSet:(e,t)=>e.rehashDocSet(t.docSetId)},AX=` """Add one or more tags to a docSet, if they are not already present""" addDocSetTags( """The id of the docSet to which the tags will be added""" @@ -4610,7 +4610,7 @@ input inputSelectorSpec { """A list of tags to be removed""" tags: [String]! ) : [String!] -`,gX={addDocSetTags:(e,t)=>{const r=e.docSets[t.docSetId];for(const n of t.tags)r.addTag(n);return Array.from(r.tags)},addDocumentTags:(e,t)=>{const n=e.docSets[t.docSetId].processor.documents[t.documentId];for(const u of t.tags)n.addTag(u);return Array.from(n.tags)},addSequenceTags:(e,t)=>{const u=e.docSets[t.docSetId].processor.documents[t.documentId].sequences[t.sequenceId];for(const s of t.tags)ye.tags.addTag(u.tags,s);return Array.from(u.tags)},removeDocSetTags:(e,t)=>{const r=e.docSets[t.docSetId];for(const n of t.tags)r.removeTag(n);return Array.from(r.tags)},removeDocumentTags:(e,t)=>{const n=e.docSets[t.docSetId].processor.documents[t.documentId];for(const u of t.tags)n.removeTag(u);return Array.from(n.tags)},removeSequenceTags:(e,t)=>{const u=e.docSets[t.docSetId].processor.documents[t.documentId].sequences[t.sequenceId];for(const s of t.tags)ye.tags.removeTag(u.tags,s);return Array.from(u.tags)}},AX=` +`,FX={addDocSetTags:(e,t)=>{const r=e.docSets[t.docSetId];for(const n of t.tags)r.addTag(n);return Array.from(r.tags)},addDocumentTags:(e,t)=>{const n=e.docSets[t.docSetId].processor.documents[t.documentId];for(const u of t.tags)n.addTag(u);return Array.from(n.tags)},addSequenceTags:(e,t)=>{const u=e.docSets[t.docSetId].processor.documents[t.documentId].sequences[t.sequenceId];for(const s of t.tags)ye.tags.addTag(u.tags,s);return Array.from(u.tags)},removeDocSetTags:(e,t)=>{const r=e.docSets[t.docSetId];for(const n of t.tags)r.removeTag(n);return Array.from(r.tags)},removeDocumentTags:(e,t)=>{const n=e.docSets[t.docSetId].processor.documents[t.documentId];for(const u of t.tags)n.removeTag(u);return Array.from(n.tags)},removeSequenceTags:(e,t)=>{const u=e.docSets[t.docSetId].processor.documents[t.documentId].sequences[t.sequenceId];for(const s of t.tags)ye.tags.removeTag(u.tags,s);return Array.from(u.tags)}},CX=` """Replaces the items of a block with a new set of items""" updateItems( """The id of the docSet containing the document containing the sequence containing the block for which the items will be updated""" @@ -4658,8 +4658,8 @@ input inputSelectorSpec { documentId: String! ) : Boolean! -`,FX={updateItems:(e,t)=>{const r=e.docSets[t.docSetId];if(!r)throw new Error(`DocSet '${t.docSetId}' not found`);if(!t.items)throw new Error("Must provide items");return!(!r.updateItems(t.documentId,t.sequenceId,t.blockPosition,t.items)||t.blockGrafts&&!r.updateBlockGrafts(t.documentId,t.sequenceId,t.blockPosition,t.blockGrafts)||t.blockScope&&!r.updateBlockScope(t.documentId,t.sequenceId,t.blockPosition,t.blockScope))},updateAllBlocks:(e,t)=>{const r=e.docSets[t.docSetId];if(!r)throw new Error(`DocSet '${t.docSetId}' not found`);const n=e.documents[t.documentId];if(!n)throw new Error(`Document '${t.documentId}' not found`);const u=n.sequences[t.sequenceId||n.mainId];if(!u)throw new Error(`Sequence '${t.sequenceId||n.mainId}' not found`);return nh(r,n,u,t.blocksSpec),n.buildChapterVerseIndex(),!0},updateSequenceFromPerf:async(e,t)=>{const r=e.docSets[t.docSetId];if(!r)throw new Error(`DocSet '${t.docSetId}' not found`);const n=e.documents[t.documentId];if(!n)throw new Error(`Document '${t.documentId}' not found`);const u=n.sequences[t.sequenceId||n.mainId];if(!u)throw new Error(`Sequence '${t.sequenceId||n.mainId}' not found`);const s=JSON.parse(t.perf),o={schema:{structure:"flat",structure_version:"0.3.0",constraints:[{name:"perf",version:"0.3.0"}]},metadata:{translation:{},document:{}},sequences:{},main_sequence_id:t.sequenceId};o.sequences[t.sequenceId]=s;let a={};try{const c=await new vu.PipelineHandler({pipelines:I7,transforms:N7,proskomma:e}).runPipeline("perf2PkJsonPipeline",{perf:o});a=Object.values(c.pkJson)[0]}catch(i){return console.error(`pipelineHandler Error : -`,i),!1}return nh(r,n,u,a),n.buildChapterVerseIndex(),!0},gcSequences:(e,t)=>{const r=e.docSets[t.docSetId];if(!r)throw new Error(`DocSet '${t.docSetId}' not found`);const n=e.documents[t.documentId];if(!n)throw new Error(`Document '${t.documentId}' not found`);return n.gcSequences()?(r.rehash(),!0):!1}},CX=` +`,bX={updateItems:(e,t)=>{const r=e.docSets[t.docSetId];if(!r)throw new Error(`DocSet '${t.docSetId}' not found`);if(!t.items)throw new Error("Must provide items");return!(!r.updateItems(t.documentId,t.sequenceId,t.blockPosition,t.items)||t.blockGrafts&&!r.updateBlockGrafts(t.documentId,t.sequenceId,t.blockPosition,t.blockGrafts)||t.blockScope&&!r.updateBlockScope(t.documentId,t.sequenceId,t.blockPosition,t.blockScope))},updateAllBlocks:(e,t)=>{const r=e.docSets[t.docSetId];if(!r)throw new Error(`DocSet '${t.docSetId}' not found`);const n=e.documents[t.documentId];if(!n)throw new Error(`Document '${t.documentId}' not found`);const u=n.sequences[t.sequenceId||n.mainId];if(!u)throw new Error(`Sequence '${t.sequenceId||n.mainId}' not found`);return uh(r,n,u,t.blocksSpec),n.buildChapterVerseIndex(),!0},updateSequenceFromPerf:async(e,t)=>{const r=e.docSets[t.docSetId];if(!r)throw new Error(`DocSet '${t.docSetId}' not found`);const n=e.documents[t.documentId];if(!n)throw new Error(`Document '${t.documentId}' not found`);const u=n.sequences[t.sequenceId||n.mainId];if(!u)throw new Error(`Sequence '${t.sequenceId||n.mainId}' not found`);const s=JSON.parse(t.perf),o={schema:{structure:"flat",structure_version:"0.3.0",constraints:[{name:"perf",version:"0.3.0"}]},metadata:{translation:{},document:{}},sequences:{},main_sequence_id:t.sequenceId};o.sequences[t.sequenceId]=s;let a={};try{const c=await new vu.PipelineHandler({pipelines:q7,transforms:x7,proskomma:e}).runPipeline("perf2PkJsonPipeline",{perf:o});a=Object.values(c.pkJson)[0]}catch(i){return console.error(`pipelineHandler Error : +`,i),!1}return uh(r,n,u,a),n.buildChapterVerseIndex(),!0},gcSequences:(e,t)=>{const r=e.docSets[t.docSetId];if(!r)throw new Error(`DocSet '${t.docSetId}' not found`);const n=e.documents[t.documentId];if(!n)throw new Error(`Document '${t.documentId}' not found`);return n.gcSequences()?(r.rehash(),!0):!1}},SX=` """Adds verse mapping tables to the documents in a docSet, where the verse mapping may be provided in legacy .vrs or JSON format""" setVerseMapping( """the id of the docSet to which the verse mapping will be added""" @@ -4674,15 +4674,15 @@ input inputSelectorSpec { """The id of the docSet from which verse mapping will be removed""" docSetId: String! ): Boolean! -`,bX={setVerseMapping:(e,t)=>{if(t.vrsSource&&t.jsonSource)throw new Error("Cannot specify both vrsSource and jsonSource");if(!t.vrsSource&&!t.jsonSource)throw new Error("Must specify either vrsSource or jsonSource");const r=e.docSets[t.docSetId];if(!r)return!1;let n;t.vrsSource?n=ye.versification.vrs2json(t.vrsSource):n=t.jsonSource;const u=ye.versification.succinctifyVerseMappings(n.mappedVerses),s=ye.versification.reverseVersification(n),o=ye.versification.succinctifyVerseMappings(s.reverseMappedVerses);for(const a of r.documents().filter(i=>"bookCode"in i.headers)){const i=a.headers.bookCode,c=r.documentWithBook(i);if(!c)continue;const l=c.sequences[c.mainId];l.verseMapping={},i in u&&(l.verseMapping.forward=u[i]),i in o&&(l.verseMapping.reversed=o[i])}return r.tags.add("hasMapping"),!0},unsetVerseMapping:(e,t)=>{const r=e.docSets[t.docSetId];if(!r)return!1;for(const n of r.documents().filter(u=>"bookCode"in u.headers)){const u=n.headers.bookCode,s=r.documentWithBook(u);if(s){const o=s.sequences[s.mainId];o.verseMapping={}}}return r.tags.delete("hasMapping"),!0}},SX=` +`,wX={setVerseMapping:(e,t)=>{if(t.vrsSource&&t.jsonSource)throw new Error("Cannot specify both vrsSource and jsonSource");if(!t.vrsSource&&!t.jsonSource)throw new Error("Must specify either vrsSource or jsonSource");const r=e.docSets[t.docSetId];if(!r)return!1;let n;t.vrsSource?n=ye.versification.vrs2json(t.vrsSource):n=t.jsonSource;const u=ye.versification.succinctifyVerseMappings(n.mappedVerses),s=ye.versification.reverseVersification(n),o=ye.versification.succinctifyVerseMappings(s.reverseMappedVerses);for(const a of r.documents().filter(i=>"bookCode"in i.headers)){const i=a.headers.bookCode,c=r.documentWithBook(i);if(!c)continue;const l=c.sequences[c.mainId];l.verseMapping={},i in u&&(l.verseMapping.forward=u[i]),i in o&&(l.verseMapping.reversed=o[i])}return r.tags.add("hasMapping"),!0},unsetVerseMapping:(e,t)=>{const r=e.docSets[t.docSetId];if(!r)return!1;for(const n of r.documents().filter(u=>"bookCode"in u.headers)){const u=n.headers.bookCode,s=r.documentWithBook(u);if(s){const o=s.sequences[s.mainId];o.verseMapping={}}}return r.tags.delete("hasMapping"),!0}},_X=` type Mutation { -${fX} ${hX} ${EX} ${vX} ${AX} ${CX} -}`,wX={...DX,...mX,...yX,...gX,...FX,...bX},_X=` +${SX} +}`,BX={...mX,...yX,...gX,...FX,...bX,...wX},TX=` """Information about a standard versification scheme""" type versification { """id, derived from the Paratext vrs filename""" @@ -4697,7 +4697,7 @@ type versification { bookCode: String! ): cvBook! } -`,BX={id:e=>e[0],vrs:e=>e[1].raw,cvBooks:e=>Object.entries(e[1].cv),cvBook:(e,t)=>Object.entries(e[1].cv).filter(r=>r[0]===t.bookCode)[0]},TX=` +`,$X={id:e=>e[0],vrs:e=>e[1].raw,cvBooks:e=>Object.entries(e[1].cv),cvBook:(e,t)=>Object.entries(e[1].cv).filter(r=>r[0]===t.bookCode)[0]},PX=` """Chapter/verse information for a book""" type cvBook { """The bookCode""" @@ -4705,7 +4705,7 @@ type cvBook { """The chapter records""" chapters: [cvChapter!]! } -`,$X={bookCode:e=>e[0],chapters:e=>Object.entries(e[1])},PX=` +`,kX={bookCode:e=>e[0],chapters:e=>Object.entries(e[1])},OX=` """Information for a chapter""" type cvChapter { """The chapter""" @@ -4713,26 +4713,25 @@ type cvChapter { """The maximum verse number""" maxVerse: Int! } -`,kX={chapter:e=>parseInt(e[0]),maxVerse:e=>parseInt(e[1])},OX=` - ${iX} - ${SX} - ${Cz} +`,IX={chapter:e=>parseInt(e[0]),maxVerse:e=>parseInt(e[1])},NX=` + ${lX} + ${_X} ${Sz} ${_z} ${Tz} - ${$z} ${Pz} ${kz} ${Oz} + ${Iz} ${Nz} - ${Lz} + ${xz} ${Gz} ${Hz} ${Jz} - ${zz} ${Kz} ${Xz} ${Yz} + ${Zz} ${Qz} ${tK} ${nK} @@ -4740,42 +4739,43 @@ type cvChapter { ${aK} ${cK} ${pK} - ${dK} + ${fK} ${DK} ${mK} - ${NK} - ${RK} - ${UK} - ${zK} - ${QK} - ${lX} + ${yK} + ${xK} + ${MK} + ${VK} + ${XK} + ${tX} ${dX} - ${_X} + ${DX} ${TX} ${PX} - `,IX={Mutation:wX,Query:cX,KeyValue:bz,cv:wz,idParts:Bz,Item:qz,ItemGroup:Uz,kvEntry:Vz,regexIndex:Wz,verseNumber:Zz,cell:eK,cIndex:rK,cvVerseElement:uK,cvVerses:oK,cvIndex:iK,cvNavigation:lK,node:fK,kvSequence:hK,tableSequence:EK,treeSequence:qK,Block:jK,Sequence:GK,Document:KK,DocSet:eX,selectorSpec:pX,versification:BX,cvBook:$X,cvChapter:kX},dg=NO({typeDefs:OX,resolvers:IX});class NX{constructor(t){this.processorId=ye.generateId(),this.documents={},this.docSetsBySelector={},this.docSets={},this.filters={},this.customTags={heading:[],paragraph:[],char:[],word:[],intro:[],introHeading:[]},this.emptyBlocks=[],this.selectors=t||[{name:"lang",type:"string",regex:"[a-z]{3}"},{name:"abbr",type:"string"}],this.validateSelectorSpec(this.selectors),this.mutex=new MO,this.nextPeriph=0,this.nextTable=0,this.nextNodes=0}validateSelectors(){if(this.selectors.length===0)throw new Error("No selectors found");for(const[t,r]of this.selectors.entries()){if(!("name"in r))throw new Error(`Selector ${t} has no name`);if(!("type"in r))throw new Error(`Selector ${t} has no type`);if(!["string","integer"].includes(r.type))throw new Error(`Type for selector ${t} must be string or number, not ${r.type}`);if(r.type==="string"){if("min"in r)throw new Error("String selector should not include 'min'");if("max"in r)throw new Error("String selector should not include 'max'");if("regex"in r)try{Z(r.regex)}catch(n){throw new Error(`Regex '${r.regex}' is not valid: ${n}`)}if("enum"in r){for(const n of r.enum)if(typeof n!="string")throw new Error(`Enum values for selector ${r.name} should be strings, not '${n}'`)}}else{if("regex"in r)throw new Error("Integer selector should not include 'regex'");if("min"in r&&typeof r.min!="number")throw new Error(`'min' must be a number, not '${r.min}'`);if("max"in r&&typeof r.max!="number")throw new Error(`'max' must be a number, not '${r.max}'`);if("min"in r&&"max"in r&&r.min>r.max)throw new Error(`'min' cannot be greater than 'max' (${r.min} > ${r.max})`);if("enum"in r){for(const n of r.enum)if(typeof n!="number")throw new Error(`Enum values for selector ${r.name} should be numbers, not '${n}'`)}}for(const n of Object.keys(r))if(!["name","type","regex","min","max","enum"].includes(n))throw new Error(`Unexpected key '${n}' in selector ${t}`)}}validateSelectorSpec(t){for(const r of t){if(!r.name)throw new Error(`name not found in selector spec element '${JSON.stringify(r)}'`);if(!r.type)throw new Error(`type not found in selector spec element '${JSON.stringify(r)}'`);if(!["string","integer"].includes(r.type))throw new Error(`Type for spec element must be string or number, not ${r.type}`);for(const n of Object.keys(r))if(!["name","type","regex","min","max","enum"].includes(n))throw new Error(`Unexpected key '${n}' in selectorSpec`)}}selectorString(t){return this.selectors.map(r=>r.name).map(r=>`${t[r]}`).join("_")}processor(){return"Proskomma JS"}packageVersion(){return aI.version}docSetList(){return Object.values(this.docSets)}docSetsById(t){return Object.values(this.docSets).filter(r=>t.includes(r.id))}docSetById(t){return this.docSets[t]}docSetsWithBook(t){const r=Object.values(this.documents).filter(u=>"bookCode"in u.headers&&u.headers.bookCode===t).map(u=>u.id),n=u=>{for(const s of r)if(u.docIds.includes(s))return!0;return!1};return Object.values(this.docSets).filter(u=>n(u))}nDocSets(){return this.docSetList().length}nDocuments(){return this.documentList().length}documentList(){return Object.values(this.documents)}documentById(t){return this.documents[t]}documentsById(t){return Object.values(this.documents).filter(r=>t.includes(r.id))}documentsWithBook(t){return Object.values(this.documents).filter(r=>"bookCode"in r.headers&&r.headers.bookCode===t)}importDocument(t,r,n,u,s,o,a){return this.importDocuments(t,r,[n],u,s,o,a)[0]}importDocuments(t,r,n,u,s,o,a){u||(u=this.filters),s||(s=this.customTags),o||(o=this.emptyBlocks),a||(a=[]);const i=this.findOrMakeDocSet(t),c=this.docSets[i];c.buildPreEnums();const l=[];for(const p of n){let d=new ag(this,i,r,p,u,s,o,a);const f=d.headers.bookCode;if(Object.values(this.documents).filter(y=>c.docIds.includes(y.id)).map(y=>y.headers.bookCode).includes(f))throw new Error(`Attempt to import document with bookCode '${f}' which already exists in docSet ${i}`);this.addDocument(d,i),l.push(d)}return c.preEnums={},l}importUsfmPeriph(t,r,n,u,s,o){const a=r.toString().split(/[\n\r]+/),i=a[0].substring(4,7);if(!["FRT","BAK","INT"].includes(i))throw new Error(`importUsfmInt() expected bookCode of FRT, BAK or INT, not '${i}'`);let c=[];for(const l of a)if(l.substring(0,7)==="\\periph"){let p=Z.exec(l,Z('^\\\\periph (.*)\\|\\s*id\\s*=\\s*"([^"]+)"\\s*$'));if(!p)throw new Error(`Unable to parse periph line '${l}'`);const d=p[1],f=p[2],h=`\\id P${this.nextPeriph>9?this.nextPeriph:"0"+this.nextPeriph}`;c.push([`${h} INT ${f} - ${d}`]),this.nextPeriph++}else c.length>0&&l.substring(0,3)!=="\\id"&&c[c.length-1].push(l);this.importDocuments(t,"usfm",c.map(l=>l.join(` + ${OX} + `,qX={Mutation:BX,Query:pX,KeyValue:wz,cv:Bz,idParts:$z,Item:Rz,ItemGroup:Vz,kvEntry:Wz,regexIndex:zz,verseNumber:eK,cell:rK,cIndex:uK,cvVerseElement:oK,cvVerses:iK,cvIndex:lK,cvNavigation:dK,node:hK,kvSequence:EK,tableSequence:vK,treeSequence:RK,Block:LK,Sequence:HK,Document:YK,DocSet:rX,selectorSpec:fX,versification:$X,cvBook:kX,cvChapter:IX},fg=xO({typeDefs:NX,resolvers:qX});class xX{constructor(t){this.processorId=ye.generateId(),this.documents={},this.docSetsBySelector={},this.docSets={},this.filters={},this.customTags={heading:[],paragraph:[],char:[],word:[],intro:[],introHeading:[]},this.emptyBlocks=[],this.selectors=t||[{name:"lang",type:"string",regex:"[a-z]{3}"},{name:"abbr",type:"string"}],this.validateSelectorSpec(this.selectors),this.mutex=new UO,this.nextPeriph=0,this.nextTable=0,this.nextNodes=0}validateSelectors(){if(this.selectors.length===0)throw new Error("No selectors found");for(const[t,r]of this.selectors.entries()){if(!("name"in r))throw new Error(`Selector ${t} has no name`);if(!("type"in r))throw new Error(`Selector ${t} has no type`);if(!["string","integer"].includes(r.type))throw new Error(`Type for selector ${t} must be string or number, not ${r.type}`);if(r.type==="string"){if("min"in r)throw new Error("String selector should not include 'min'");if("max"in r)throw new Error("String selector should not include 'max'");if("regex"in r)try{Z(r.regex)}catch(n){throw new Error(`Regex '${r.regex}' is not valid: ${n}`)}if("enum"in r){for(const n of r.enum)if(typeof n!="string")throw new Error(`Enum values for selector ${r.name} should be strings, not '${n}'`)}}else{if("regex"in r)throw new Error("Integer selector should not include 'regex'");if("min"in r&&typeof r.min!="number")throw new Error(`'min' must be a number, not '${r.min}'`);if("max"in r&&typeof r.max!="number")throw new Error(`'max' must be a number, not '${r.max}'`);if("min"in r&&"max"in r&&r.min>r.max)throw new Error(`'min' cannot be greater than 'max' (${r.min} > ${r.max})`);if("enum"in r){for(const n of r.enum)if(typeof n!="number")throw new Error(`Enum values for selector ${r.name} should be numbers, not '${n}'`)}}for(const n of Object.keys(r))if(!["name","type","regex","min","max","enum"].includes(n))throw new Error(`Unexpected key '${n}' in selector ${t}`)}}validateSelectorSpec(t){for(const r of t){if(!r.name)throw new Error(`name not found in selector spec element '${JSON.stringify(r)}'`);if(!r.type)throw new Error(`type not found in selector spec element '${JSON.stringify(r)}'`);if(!["string","integer"].includes(r.type))throw new Error(`Type for spec element must be string or number, not ${r.type}`);for(const n of Object.keys(r))if(!["name","type","regex","min","max","enum"].includes(n))throw new Error(`Unexpected key '${n}' in selectorSpec`)}}selectorString(t){return this.selectors.map(r=>r.name).map(r=>`${t[r]}`).join("_")}processor(){return"Proskomma JS"}packageVersion(){return cI.version}docSetList(){return Object.values(this.docSets)}docSetsById(t){return Object.values(this.docSets).filter(r=>t.includes(r.id))}docSetById(t){return this.docSets[t]}docSetsWithBook(t){const r=Object.values(this.documents).filter(u=>"bookCode"in u.headers&&u.headers.bookCode===t).map(u=>u.id),n=u=>{for(const s of r)if(u.docIds.includes(s))return!0;return!1};return Object.values(this.docSets).filter(u=>n(u))}nDocSets(){return this.docSetList().length}nDocuments(){return this.documentList().length}documentList(){return Object.values(this.documents)}documentById(t){return this.documents[t]}documentsById(t){return Object.values(this.documents).filter(r=>t.includes(r.id))}documentsWithBook(t){return Object.values(this.documents).filter(r=>"bookCode"in r.headers&&r.headers.bookCode===t)}importDocument(t,r,n,u,s,o,a){return this.importDocuments(t,r,[n],u,s,o,a)[0]}importDocuments(t,r,n,u,s,o,a){u||(u=this.filters),s||(s=this.customTags),o||(o=this.emptyBlocks),a||(a=[]);const i=this.findOrMakeDocSet(t),c=this.docSets[i];c.buildPreEnums();const l=[];for(const p of n){let d=new ig(this,i,r,p,u,s,o,a);const f=d.headers.bookCode;if(Object.values(this.documents).filter(y=>c.docIds.includes(y.id)).map(y=>y.headers.bookCode).includes(f))throw new Error(`Attempt to import document with bookCode '${f}' which already exists in docSet ${i}`);this.addDocument(d,i),l.push(d)}return c.preEnums={},l}importUsfmPeriph(t,r,n,u,s,o){const a=r.toString().split(/[\n\r]+/),i=a[0].substring(4,7);if(!["FRT","BAK","INT"].includes(i))throw new Error(`importUsfmInt() expected bookCode of FRT, BAK or INT, not '${i}'`);let c=[];for(const l of a)if(l.substring(0,7)==="\\periph"){let p=Z.exec(l,Z('^\\\\periph (.*)\\|\\s*id\\s*=\\s*"([^"]+)"\\s*$'));if(!p)throw new Error(`Unable to parse periph line '${l}'`);const d=p[1],f=p[2],h=`\\id P${this.nextPeriph>9?this.nextPeriph:"0"+this.nextPeriph}`;c.push([`${h} INT ${f} - ${d}`]),this.nextPeriph++}else c.length>0&&l.substring(0,3)!=="\\id"&&c[c.length-1].push(l);this.importDocuments(t,"usfm",c.map(l=>l.join(` `)),n,u,s,o)}cleanUsfm(t,r){r=r||{};const n=t.toString().split(/[\n\r]+/),u=[];let s=!0;const o=["\\id","\\ide","\\usfm","\\sts","\\rem","\\h","\\toc"];for(const a of n){const i=a.split(" ")[0].replace(/[0-9]+/g,"");if("remove"in r&&r.remove.includes(i))continue;const c=o.includes(i);s&&!c&&i!=="\\mt"&&u.push("\\mt1 USFM"),u.push(a),c||(s=!1)}return u.join(` -`)}deleteDocSet(t){if(!(t in this.docSets))return!1;for(const o of Object.entries(this.documents).filter(a=>a[1].docSetId===t).map(a=>a[0]))this.deleteDocument(t,o,!1,!1);let r=this.docSetsBySelector;const n=this.selectors.slice(0,this.selectors.length-1);for(const o of n)r=r[this.docSets[t].selectors[o.name]];const u=this.selectors[this.selectors.length-1].name,s=this.docSets[t].selectors[u];if(!r[s])throw new Error(`Could not find docSetId '${t}' in docSetsBySelector in deleteDocSet`);return delete r[s],delete this.docSets[t],!0}deleteDocument(t,r,n,u){return n=n===void 0?!0:n,u=u===void 0?!0:u,!(t in this.docSets)||!(r in this.documents)?!1:(delete this.documents[r],this.docSets[t].docIds.length>1?(this.docSets[t].docIds=this.docSets[t].docIds.filter(s=>s!==r),u&&this.rehashDocSet(t)):n&&this.deleteDocSet(t),!0)}rehashDocSet(t){return t in this.docSets?this.docSets[t].rehash():!1}addDocument(t,r){this.documents[t.id]=t,this.docSets[r].docIds.push(t.id),this.docSets[r].buildEnumIndexes()}loadSuccinctDocSet(t,r){const n=t.id;if(n in this.docSets&&!r)throw new Error(`Attempting to succinct load docSet ${n} which is already loaded, without bookCodes argument`);const u=new rv(this,null,null,t),s=u.id;this.docSets[s]=u;let o=this.docSetsBySelector;const a=t.metadata.selectors;for(const l of this.selectors)l.name===this.selectors[this.selectors.length-1].name?a[l.name]in o||(o[a[l.name]]=u,this.docSets[u.id]=u):(a[l.name]in o||(o[a[l.name]]={}),o=o[a[l.name]]);u.buildPreEnums();const i=[],c=l=>!r||r.includes(t.docs[l].headers.bookCode);for(const l of Object.keys(t.docs).filter(c)){let p=this.newDocumentFromSuccinct(l,t);i.push(p)}return u.preEnums={},i}augmentSuccinctDocSet(t,r){if(!r||r.length===0)throw new Error("bookCodes argument must be present and contain at least one element in augmentSuccinctDocSet");const n=u=>{const s=t.docs[u];return r.includes(s.headers.bookCode)};if(!this.docSets[t.id])throw new Error(`docSet id '${t.id}' not found in Proskomma when using augmentSuccinctDocSet. Load it first with optional bookCodes argument`);for(const u of Object.keys(t.docs).filter(n))this.documents[u]||this.newDocumentFromSuccinct(u,t)}newDocumentFromSuccinct(t,r){const n=new ag(this,r.id);n.id=t;const u=r.docs[t];n.filterOptions={},n.customTags=[],n.emptyBlocks=[],n.tags=new Set(u.tags),n.headers=u.headers,n.mainId=u.mainId,n.sequences={};for(const[s,o]of Object.entries(u.sequences)){if(n.sequences[s]={id:s,type:o.type,tags:new Set(o.tags),blocks:[]},o.type==="main"){if(n.sequences[s].chapters={},!("chapters"in o))throw new Error("chapters not found in main sequence");for(const[a,i]of Object.entries(o.chapters)){const c=new ye.ByteArray;c.fromBase64(i),n.sequences[s].chapters[a]=c}if(n.sequences[s].chapterVerses={},!("chapterVerses"in o))throw new Error("chapterVerses not found in main sequence");for(const[a,i]of Object.entries(o.chapterVerses)){const c=new ye.ByteArray;c.fromBase64(i),n.sequences[s].chapterVerses[a]=c}if(!("tokensPresent"in o))throw new Error("tokensPresent not found in main sequence");n.sequences[s].tokensPresent=new f6(o.tokensPresent)}for(const a of o.blocks){const i={};for(const[c,l]of Object.entries(a)){const p=new ye.ByteArray(256);p.fromBase64(l),i[c]=p}n.sequences[s].blocks.push(i)}}return this.addDocument(n,r.id),n}findOrMakeDocSet(t){let r=this.docSetsBySelector,n;for(const u of this.selectors)u.name===this.selectors[this.selectors.length-1].name?t[u.name]in r?n=r[t[u.name]]:(n=new rv(this,t),r[t[u.name]]=n,this.docSets[n.id]=n):(t[u.name]in r||(r[t[u.name]]={}),r=r[t[u.name]]);return n.id}async gqlQuery(t,r){const n=await this.mutex.acquire();try{const u=await nk({schema:dg,source:t,rootValue:this,contextValue:{}});return r&&r(u),u}finally{n()}}gqlQuerySync(t,r){const n=uk({schema:dg,source:t,rootValue:this,contextValue:{}});return r&&r(n),n}serializeSuccinct(t){return this.docSets[t].serializeSuccinct()}checksum(){const t=Object.values(this.docSets).map(r=>r.checksum()).sort().join(" ");return d6.calculate(t)}}const qX=e=>{let t,r,n;try{const u=new NX;u.importDocument({lang:"xxx",abbr:"XXX"},"usfm",e);const s=u.gqlQuerySync("{documents {id docSetId perf} }").data.documents[0];t=JSON.parse(s.perf),n=s.id,r=s.docSetId}catch(u){console.log(u),t=null}return{perf:t,docSetId:r,id:n}},xX=({scrollToChapter:e,bookCode:t,setBookCode:r})=>{const[n,u]=ft.useState(null),[s,o]=ft.useState(null),[a,i]=ft.useState(null),[c,l]=ft.useState(null),[p,d]=ft.useState(1);return ft.useEffect(()=>{Vh.setMessageListeners(f=>{switch(f.data.type){case"update-usfm":{const{usfm:h,bookID:y,chapter:A,verse:m}=f.data.payload;console.log("useDocument",{bookCode:t,bookID:y,chapter:A,verse:m}),e(A,m),console.log("scrolling to chapter",A),console.log("received",{usfm:h,bookID:y,chapter:A,verse:m}),u(f.data.payload.usfm),d(f.data.payload.chapter);const{perf:v,id:C,docSetId:B}=qX(f.data.payload.usfm);console.log({perf:v,id:C,docSetId:B}),v&&v.metadata.document.bookCode&&r(v.metadata.document.bookCode),o(v),l(C),i(B);break}case"fileOpened":console.log(`received message from extension :${f.data.type}`);break}})},[]),{document:n,perf:s,bookCode:t,id:c,docSetId:a,chapter:p}};var cE={},el={},V7={exports:{}},RX="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",jX=RX,MX=jX;function H7(){}function W7(){}W7.resetWarningCache=H7;var LX=function(){function e(n,u,s,o,a,i){if(i!==MX){var c=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw c.name="Invariant Violation",c}}e.isRequired=e;function t(){return e}var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:W7,resetWarningCache:H7};return r.PropTypes=r,r};V7.exports=LX();var Pu=V7.exports;function uh(e,t){var r,n;if(e===t)return!0;if(e&&t&&(r=e.constructor)===t.constructor){if(r===Date)return e.getTime()===t.getTime();if(r===RegExp)return e.toString()===t.toString();if(r===Array&&(n=e.length)===t.length){for(;n--&&uh(e[n],t[n]););return n===-1}if(r===Object){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(n in e)if(!(n in t)||!uh(e[n],t[n]))return!1;return!0}}return e!==e&&t!==t}function lE(e){const t=Vi.useRef([]);return uh(e,t.current)||(t.current=e),t.current}function UX(e,t){return Vi.useCallback(e,lE(t))}function vp(e,t){Vi.useEffect(e,lE(t))}function J7(e,t){return Vi.useMemo(e,lE(t))}const GX=Object.freeze(Object.defineProperty({__proto__:null,useDeepCompareCallback:UX,useDeepCompareEffect:vp,useDeepCompareMemo:J7},Symbol.toStringTag,{value:"Module"})),Qp=L8(GX);var gp={exports:{}};gp.exports;(function(e,t){var r=200,n="__lodash_hash_undefined__",u=1,s=2,o=9007199254740991,a="[object Arguments]",i="[object Array]",c="[object AsyncFunction]",l="[object Boolean]",p="[object Date]",d="[object Error]",f="[object Function]",h="[object GeneratorFunction]",y="[object Map]",A="[object Number]",m="[object Null]",v="[object Object]",C="[object Promise]",B="[object Proxy]",T="[object RegExp]",N="[object Set]",R="[object String]",J="[object Symbol]",q="[object Undefined]",G="[object WeakMap]",ee="[object ArrayBuffer]",K="[object DataView]",ue="[object Float32Array]",oe="[object Float64Array]",de="[object Int8Array]",he="[object Int16Array]",fe="[object Int32Array]",ge="[object Uint8Array]",pe="[object Uint8ClampedArray]",z="[object Uint16Array]",O="[object Uint32Array]",E=/[\\^$.*+?()[\]{}|]/g,F=/^\[object .+?Constructor\]$/,D=/^(?:0|[1-9]\d*)$/,g={};g[ue]=g[oe]=g[de]=g[he]=g[fe]=g[ge]=g[pe]=g[z]=g[O]=!0,g[a]=g[i]=g[ee]=g[l]=g[K]=g[p]=g[d]=g[f]=g[y]=g[A]=g[v]=g[T]=g[N]=g[R]=g[G]=!1;var P=typeof Ce=="object"&&Ce&&Ce.Object===Object&&Ce,b=typeof self=="object"&&self&&self.Object===Object&&self,w=P||b||Function("return this")(),I=t&&!t.nodeType&&t,$=I&&!0&&e&&!e.nodeType&&e,M=$&&$.exports===I,L=M&&P.process,Y=function(){try{return L&&L.binding&&L.binding("util")}catch{}}(),be=Y&&Y.isTypedArray;function Ne(H,ne){for(var Ee=-1,_e=H==null?0:H.length,Ft=0,Ye=[];++Ee<_e;){var Mt=H[Ee];ne(Mt,Ee,H)&&(Ye[Ft++]=Mt)}return Ye}function Ve(H,ne){for(var Ee=-1,_e=ne.length,Ft=H.length;++Ee<_e;)H[Ft+Ee]=ne[Ee];return H}function Me(H,ne){for(var Ee=-1,_e=H==null?0:H.length;++Ee<_e;)if(ne(H[Ee],Ee,H))return!0;return!1}function Fe(H,ne){for(var Ee=-1,_e=Array(H);++Ee-1}function He(H,ne){var Ee=this.__data__,_e=cu(Ee,H);return _e<0?(++this.size,Ee.push([H,ne])):Ee[_e][1]=ne,this}ct.prototype.clear=$t,ct.prototype.delete=et,ct.prototype.get=Et,ct.prototype.has=Pt,ct.prototype.set=He;function ht(H){var ne=-1,Ee=H==null?0:H.length;for(this.clear();++neQt))return!1;var kt=Ye.get(H);if(kt&&Ye.get(ne))return kt==ne;var Lr=-1,dn=!0,mr=Ee&s?new ln:void 0;for(Ye.set(H,ne),Ye.set(ne,H);++Lr-1&&H%1==0&&H-1&&H%1==0&&H<=o}function my(H){var ne=typeof H;return H!=null&&(ne=="object"||ne=="function")}function La(H){return H!=null&&typeof H=="object"}var Ey=be?qe(be):VB;function uT(H){return rT(H)?fo(H):HB(H)}function sT(){return[]}function oT(){return!1}e.exports=nT})(gp,gp.exports);var VX=gp.exports,Kn={};Object.defineProperty(Kn,"__esModule",{value:!0});Kn.removePreviewTextInGrafts=Kn.embedSequencesInMainGrafts=Kn.embedSequencesInGrafts=Kn.embedPreviewTextInGrafts=void 0;function pE(e){return zX(e)||JX(e)||WX(e)||HX()}function HX(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function WX(e,t){if(e){if(typeof e=="string")return sh(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return sh(e,t)}}function JX(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function zX(e){if(Array.isArray(e))return sh(e)}function sh(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function rY(e,t){if(e==null)return{};var r={},n=Object.keys(e),u,s;for(s=0;s=0)&&(r[u]=e[u]);return r}function nY(e){var t=e.type;e.content;var r=e.show,n=e.index,u=e.verbose,s=tY(e,QX);(0,Bf.useEffect)(function(){return u&&console.log("SectionHeading: Mount/First Render",n),function(){u&&console.log("SectionHeading: UnMount/Destroyed",n)}},[]);var o=n&&"Chapter ".concat(n);return o||(o=t==="main"?"Title & Introduction":t),Bf.default.createElement("div",ah({className:"sectionHeading"},s),Bf.default.createElement("span",{className:"expand"},r?"":"...",o,r?"":"..."))}var tl={},ed={};Object.defineProperty(ed,"__esModule",{value:!0});ed.getTarget=void 0;var uY=function(t){var r,n=t.content,u=document.createElement("div");u.innerHTML=n;var s=((r=u.firstChild)===null||r===void 0?void 0:r.dataset)||{},o=s.target;return o};ed.getTarget=uY;var fg;function sY(){if(fg)return tl;fg=1;function e(v){"@babel/helpers - typeof";return e=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(C){return typeof C}:function(C){return C&&typeof Symbol=="function"&&C.constructor===Symbol&&C!==Symbol.prototype?"symbol":typeof C},e(v)}Object.defineProperty(tl,"__esModule",{value:!0}),tl.default=m;var t=a(ft),r=ed,n=s(l9()),u=["htmlPerf","onHtmlPerf","sequenceIds","addSequenceId","options","content","style","contentEditable","index","verbose","setFootNote"];function s(v){return v&&v.__esModule?v:{default:v}}function o(v){if(typeof WeakMap!="function")return null;var C=new WeakMap,B=new WeakMap;return(o=function(N){return N?B:C})(v)}function a(v,C){if(v&&v.__esModule)return v;if(v===null||e(v)!=="object"&&typeof v!="function")return{default:v};var B=o(C);if(B&&B.has(v))return B.get(v);var T={},N=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var R in v)if(R!=="default"&&Object.prototype.hasOwnProperty.call(v,R)){var J=N?Object.getOwnPropertyDescriptor(v,R):null;J&&(J.get||J.set)?Object.defineProperty(T,R,J):T[R]=v[R]}return T.default=v,B&&B.set(v,T),T}function i(v){return d(v)||p(v)||l(v)||c()}function c(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function l(v,C){if(v){if(typeof v=="string")return f(v,C);var B=Object.prototype.toString.call(v).slice(8,-1);if(B==="Object"&&v.constructor&&(B=v.constructor.name),B==="Map"||B==="Set")return Array.from(v);if(B==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(B))return f(v,C)}}function p(v){if(typeof Symbol<"u"&&v[Symbol.iterator]!=null||v["@@iterator"]!=null)return Array.from(v)}function d(v){if(Array.isArray(v))return f(v)}function f(v,C){(C==null||C>v.length)&&(C=v.length);for(var B=0,T=new Array(C);B=0)&&Object.prototype.propertyIsEnumerable.call(v,T)&&(B[T]=v[T])}return B}function A(v,C){if(v==null)return{};var B={},T=Object.keys(v),N,R;for(R=0;R=0)&&(B[N]=v[N]);return B}function m(v){var C=v.htmlPerf,B=v.onHtmlPerf,T=v.sequenceIds,N=v.addSequenceId,R=v.options,J=v.content;v.style;var q=v.contentEditable,G=v.index,ee=v.verbose;v.setFootNote;var K=y(v,u);(0,t.useEffect)(function(){return ee&&console.log("Block: Mount/First Render",G),function(){ee&&console.log("Block: UnMount/Destroyed",G)}},[]);var ue,oe=!!J.match(/data-type="paragraph"/);if(oe&&(ue=t.default.createElement("div",h({contentEditable:q},K))),!oe){var de=(0,r.getTarget)({content:J});if(de&&!R.preview){var he={sequenceIds:[].concat(i(T),[de]),addSequenceId:N,htmlPerf:C,onHtmlPerf:B};ue=t.default.createElement(n.default,he)}ue||(ue=t.default.createElement("div",h({},K,{contentEditable:!1})))}return t.default.createElement(t.default.Fragment,null,ue)}return tl}var td={},Y7={},rd={},dE={};Object.defineProperty(dE,"__esModule",{value:!0});dE.default=fE;var Dg=ft,Tf=Qp,Gu=oY(Pu);function oY(e){return e&&e.__esModule?e:{default:e}}function Ri(e){"@babel/helpers - typeof";return Ri=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ri(e)}function hg(e,t){return lY(e)||cY(e,t)||iY(e,t)||aY()}function aY(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function iY(e,t){if(e){if(typeof e=="string")return mg(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return mg(e,t)}}function mg(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);ra[1].docSetId===t).map(a=>a[0]))this.deleteDocument(t,o,!1,!1);let r=this.docSetsBySelector;const n=this.selectors.slice(0,this.selectors.length-1);for(const o of n)r=r[this.docSets[t].selectors[o.name]];const u=this.selectors[this.selectors.length-1].name,s=this.docSets[t].selectors[u];if(!r[s])throw new Error(`Could not find docSetId '${t}' in docSetsBySelector in deleteDocSet`);return delete r[s],delete this.docSets[t],!0}deleteDocument(t,r,n,u){return n=n===void 0?!0:n,u=u===void 0?!0:u,!(t in this.docSets)||!(r in this.documents)?!1:(delete this.documents[r],this.docSets[t].docIds.length>1?(this.docSets[t].docIds=this.docSets[t].docIds.filter(s=>s!==r),u&&this.rehashDocSet(t)):n&&this.deleteDocSet(t),!0)}rehashDocSet(t){return t in this.docSets?this.docSets[t].rehash():!1}addDocument(t,r){this.documents[t.id]=t,this.docSets[r].docIds.push(t.id),this.docSets[r].buildEnumIndexes()}loadSuccinctDocSet(t,r){const n=t.id;if(n in this.docSets&&!r)throw new Error(`Attempting to succinct load docSet ${n} which is already loaded, without bookCodes argument`);const u=new nv(this,null,null,t),s=u.id;this.docSets[s]=u;let o=this.docSetsBySelector;const a=t.metadata.selectors;for(const l of this.selectors)l.name===this.selectors[this.selectors.length-1].name?a[l.name]in o||(o[a[l.name]]=u,this.docSets[u.id]=u):(a[l.name]in o||(o[a[l.name]]={}),o=o[a[l.name]]);u.buildPreEnums();const i=[],c=l=>!r||r.includes(t.docs[l].headers.bookCode);for(const l of Object.keys(t.docs).filter(c)){let p=this.newDocumentFromSuccinct(l,t);i.push(p)}return u.preEnums={},i}augmentSuccinctDocSet(t,r){if(!r||r.length===0)throw new Error("bookCodes argument must be present and contain at least one element in augmentSuccinctDocSet");const n=u=>{const s=t.docs[u];return r.includes(s.headers.bookCode)};if(!this.docSets[t.id])throw new Error(`docSet id '${t.id}' not found in Proskomma when using augmentSuccinctDocSet. Load it first with optional bookCodes argument`);for(const u of Object.keys(t.docs).filter(n))this.documents[u]||this.newDocumentFromSuccinct(u,t)}newDocumentFromSuccinct(t,r){const n=new ig(this,r.id);n.id=t;const u=r.docs[t];n.filterOptions={},n.customTags=[],n.emptyBlocks=[],n.tags=new Set(u.tags),n.headers=u.headers,n.mainId=u.mainId,n.sequences={};for(const[s,o]of Object.entries(u.sequences)){if(n.sequences[s]={id:s,type:o.type,tags:new Set(o.tags),blocks:[]},o.type==="main"){if(n.sequences[s].chapters={},!("chapters"in o))throw new Error("chapters not found in main sequence");for(const[a,i]of Object.entries(o.chapters)){const c=new ye.ByteArray;c.fromBase64(i),n.sequences[s].chapters[a]=c}if(n.sequences[s].chapterVerses={},!("chapterVerses"in o))throw new Error("chapterVerses not found in main sequence");for(const[a,i]of Object.entries(o.chapterVerses)){const c=new ye.ByteArray;c.fromBase64(i),n.sequences[s].chapterVerses[a]=c}if(!("tokensPresent"in o))throw new Error("tokensPresent not found in main sequence");n.sequences[s].tokensPresent=new h6(o.tokensPresent)}for(const a of o.blocks){const i={};for(const[c,l]of Object.entries(a)){const p=new ye.ByteArray(256);p.fromBase64(l),i[c]=p}n.sequences[s].blocks.push(i)}}return this.addDocument(n,r.id),n}findOrMakeDocSet(t){let r=this.docSetsBySelector,n;for(const u of this.selectors)u.name===this.selectors[this.selectors.length-1].name?t[u.name]in r?n=r[t[u.name]]:(n=new nv(this,t),r[t[u.name]]=n,this.docSets[n.id]=n):(t[u.name]in r||(r[t[u.name]]={}),r=r[t[u.name]]);return n.id}async gqlQuery(t,r){const n=await this.mutex.acquire();try{const u=await sk({schema:fg,source:t,rootValue:this,contextValue:{}});return r&&r(u),u}finally{n()}}gqlQuerySync(t,r){const n=ok({schema:fg,source:t,rootValue:this,contextValue:{}});return r&&r(n),n}serializeSuccinct(t){return this.docSets[t].serializeSuccinct()}checksum(){const t=Object.values(this.docSets).map(r=>r.checksum()).sort().join(" ");return D6.calculate(t)}}const RX=e=>{let t,r,n;try{const u=new xX;u.importDocument({lang:"xxx",abbr:"XXX"},"usfm",e);const s=u.gqlQuerySync("{documents {id docSetId perf} }").data.documents[0];t=JSON.parse(s.perf),n=s.id,r=s.docSetId}catch(u){console.log(u),t=null}return{perf:t,docSetId:r,id:n}},jX=({scrollToChapter:e,bookCode:t,setBookCode:r})=>{const[n,u]=ft.useState(null),[s,o]=ft.useState(null),[a,i]=ft.useState(null),[c,l]=ft.useState(null),[p,d]=ft.useState(1);return ft.useEffect(()=>{Hh.setMessageListeners(f=>{switch(f.data.type){case"update-usfm":{const{usfm:h,bookID:y,chapter:A,verse:m}=f.data.payload;console.log("useDocument",{bookCode:t,bookID:y,chapter:A,verse:m}),e(A,m),console.log("scrolling to chapter",A),console.log("received",{usfm:h,bookID:y,chapter:A,verse:m}),u(f.data.payload.usfm),d(f.data.payload.chapter);const{perf:v,id:C,docSetId:B}=RX(f.data.payload.usfm);console.log({perf:v,id:C,docSetId:B}),v&&v.metadata.document.bookCode&&r(v.metadata.document.bookCode),o(v),l(C),i(B);break}case"fileOpened":console.log(`received message from extension :${f.data.type}`);break}})},[]),{document:n,perf:s,bookCode:t,id:c,docSetId:a,chapter:p}};var lE={},el={},W7={exports:{}},MX="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",LX=MX,UX=LX;function J7(){}function z7(){}z7.resetWarningCache=J7;var GX=function(){function e(n,u,s,o,a,i){if(i!==UX){var c=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw c.name="Invariant Violation",c}}e.isRequired=e;function t(){return e}var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:z7,resetWarningCache:J7};return r.PropTypes=r,r};W7.exports=GX();var Pu=W7.exports;function sh(e,t){var r,n;if(e===t)return!0;if(e&&t&&(r=e.constructor)===t.constructor){if(r===Date)return e.getTime()===t.getTime();if(r===RegExp)return e.toString()===t.toString();if(r===Array&&(n=e.length)===t.length){for(;n--&&sh(e[n],t[n]););return n===-1}if(r===Object){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(n in e)if(!(n in t)||!sh(e[n],t[n]))return!1;return!0}}return e!==e&&t!==t}function pE(e){const t=Vi.useRef([]);return sh(e,t.current)||(t.current=e),t.current}function VX(e,t){return Vi.useCallback(e,pE(t))}function vp(e,t){Vi.useEffect(e,pE(t))}function K7(e,t){return Vi.useMemo(e,pE(t))}const HX=Object.freeze(Object.defineProperty({__proto__:null,useDeepCompareCallback:VX,useDeepCompareEffect:vp,useDeepCompareMemo:K7},Symbol.toStringTag,{value:"Module"})),Qp=G8(HX);var gp={exports:{}};gp.exports;(function(e,t){var r=200,n="__lodash_hash_undefined__",u=1,s=2,o=9007199254740991,a="[object Arguments]",i="[object Array]",c="[object AsyncFunction]",l="[object Boolean]",p="[object Date]",d="[object Error]",f="[object Function]",h="[object GeneratorFunction]",y="[object Map]",A="[object Number]",m="[object Null]",v="[object Object]",C="[object Promise]",B="[object Proxy]",T="[object RegExp]",N="[object Set]",R="[object String]",J="[object Symbol]",q="[object Undefined]",G="[object WeakMap]",ee="[object ArrayBuffer]",K="[object DataView]",ue="[object Float32Array]",oe="[object Float64Array]",de="[object Int8Array]",he="[object Int16Array]",fe="[object Int32Array]",ge="[object Uint8Array]",pe="[object Uint8ClampedArray]",z="[object Uint16Array]",O="[object Uint32Array]",E=/[\\^$.*+?()[\]{}|]/g,F=/^\[object .+?Constructor\]$/,D=/^(?:0|[1-9]\d*)$/,g={};g[ue]=g[oe]=g[de]=g[he]=g[fe]=g[ge]=g[pe]=g[z]=g[O]=!0,g[a]=g[i]=g[ee]=g[l]=g[K]=g[p]=g[d]=g[f]=g[y]=g[A]=g[v]=g[T]=g[N]=g[R]=g[G]=!1;var P=typeof Ce=="object"&&Ce&&Ce.Object===Object&&Ce,b=typeof self=="object"&&self&&self.Object===Object&&self,w=P||b||Function("return this")(),I=t&&!t.nodeType&&t,$=I&&!0&&e&&!e.nodeType&&e,M=$&&$.exports===I,L=M&&P.process,Y=function(){try{return L&&L.binding&&L.binding("util")}catch{}}(),be=Y&&Y.isTypedArray;function Ne(H,ne){for(var Ee=-1,_e=H==null?0:H.length,Ft=0,Ye=[];++Ee<_e;){var Mt=H[Ee];ne(Mt,Ee,H)&&(Ye[Ft++]=Mt)}return Ye}function Ve(H,ne){for(var Ee=-1,_e=ne.length,Ft=H.length;++Ee<_e;)H[Ft+Ee]=ne[Ee];return H}function Me(H,ne){for(var Ee=-1,_e=H==null?0:H.length;++Ee<_e;)if(ne(H[Ee],Ee,H))return!0;return!1}function Fe(H,ne){for(var Ee=-1,_e=Array(H);++Ee-1}function He(H,ne){var Ee=this.__data__,_e=cu(Ee,H);return _e<0?(++this.size,Ee.push([H,ne])):Ee[_e][1]=ne,this}ct.prototype.clear=$t,ct.prototype.delete=et,ct.prototype.get=Et,ct.prototype.has=Pt,ct.prototype.set=He;function ht(H){var ne=-1,Ee=H==null?0:H.length;for(this.clear();++neQt))return!1;var kt=Ye.get(H);if(kt&&Ye.get(ne))return kt==ne;var Lr=-1,dn=!0,mr=Ee&s?new ln:void 0;for(Ye.set(H,ne),Ye.set(ne,H);++Lr-1&&H%1==0&&H-1&&H%1==0&&H<=o}function Ey(H){var ne=typeof H;return H!=null&&(ne=="object"||ne=="function")}function La(H){return H!=null&&typeof H=="object"}var yy=be?qe(be):WB;function oT(H){return uT(H)?fo(H):JB(H)}function aT(){return[]}function iT(){return!1}e.exports=sT})(gp,gp.exports);var WX=gp.exports,Kn={};Object.defineProperty(Kn,"__esModule",{value:!0});Kn.removePreviewTextInGrafts=Kn.embedSequencesInMainGrafts=Kn.embedSequencesInGrafts=Kn.embedPreviewTextInGrafts=void 0;function dE(e){return XX(e)||KX(e)||zX(e)||JX()}function JX(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function zX(e,t){if(e){if(typeof e=="string")return oh(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return oh(e,t)}}function KX(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function XX(e){if(Array.isArray(e))return oh(e)}function oh(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function uY(e,t){if(e==null)return{};var r={},n=Object.keys(e),u,s;for(s=0;s=0)&&(r[u]=e[u]);return r}function sY(e){var t=e.type;e.content;var r=e.show,n=e.index,u=e.verbose,s=nY(e,tY);(0,Bf.useEffect)(function(){return u&&console.log("SectionHeading: Mount/First Render",n),function(){u&&console.log("SectionHeading: UnMount/Destroyed",n)}},[]);var o=n&&"Chapter ".concat(n);return o||(o=t==="main"?"Title & Introduction":t),Bf.default.createElement("div",ih({className:"sectionHeading"},s),Bf.default.createElement("span",{className:"expand"},r?"":"...",o,r?"":"..."))}var tl={},ed={};Object.defineProperty(ed,"__esModule",{value:!0});ed.getTarget=void 0;var oY=function(t){var r,n=t.content,u=document.createElement("div");u.innerHTML=n;var s=((r=u.firstChild)===null||r===void 0?void 0:r.dataset)||{},o=s.target;return o};ed.getTarget=oY;var Dg;function aY(){if(Dg)return tl;Dg=1;function e(v){"@babel/helpers - typeof";return e=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(C){return typeof C}:function(C){return C&&typeof Symbol=="function"&&C.constructor===Symbol&&C!==Symbol.prototype?"symbol":typeof C},e(v)}Object.defineProperty(tl,"__esModule",{value:!0}),tl.default=m;var t=a(ft),r=ed,n=s(d9()),u=["htmlPerf","onHtmlPerf","sequenceIds","addSequenceId","options","content","style","contentEditable","index","verbose","setFootNote"];function s(v){return v&&v.__esModule?v:{default:v}}function o(v){if(typeof WeakMap!="function")return null;var C=new WeakMap,B=new WeakMap;return(o=function(N){return N?B:C})(v)}function a(v,C){if(v&&v.__esModule)return v;if(v===null||e(v)!=="object"&&typeof v!="function")return{default:v};var B=o(C);if(B&&B.has(v))return B.get(v);var T={},N=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var R in v)if(R!=="default"&&Object.prototype.hasOwnProperty.call(v,R)){var J=N?Object.getOwnPropertyDescriptor(v,R):null;J&&(J.get||J.set)?Object.defineProperty(T,R,J):T[R]=v[R]}return T.default=v,B&&B.set(v,T),T}function i(v){return d(v)||p(v)||l(v)||c()}function c(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function l(v,C){if(v){if(typeof v=="string")return f(v,C);var B=Object.prototype.toString.call(v).slice(8,-1);if(B==="Object"&&v.constructor&&(B=v.constructor.name),B==="Map"||B==="Set")return Array.from(v);if(B==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(B))return f(v,C)}}function p(v){if(typeof Symbol<"u"&&v[Symbol.iterator]!=null||v["@@iterator"]!=null)return Array.from(v)}function d(v){if(Array.isArray(v))return f(v)}function f(v,C){(C==null||C>v.length)&&(C=v.length);for(var B=0,T=new Array(C);B=0)&&Object.prototype.propertyIsEnumerable.call(v,T)&&(B[T]=v[T])}return B}function A(v,C){if(v==null)return{};var B={},T=Object.keys(v),N,R;for(R=0;R=0)&&(B[N]=v[N]);return B}function m(v){var C=v.htmlPerf,B=v.onHtmlPerf,T=v.sequenceIds,N=v.addSequenceId,R=v.options,J=v.content;v.style;var q=v.contentEditable,G=v.index,ee=v.verbose;v.setFootNote;var K=y(v,u);(0,t.useEffect)(function(){return ee&&console.log("Block: Mount/First Render",G),function(){ee&&console.log("Block: UnMount/Destroyed",G)}},[]);var ue,oe=!!J.match(/data-type="paragraph"/);if(oe&&(ue=t.default.createElement("div",h({contentEditable:q},K))),!oe){var de=(0,r.getTarget)({content:J});if(de&&!R.preview){var he={sequenceIds:[].concat(i(T),[de]),addSequenceId:N,htmlPerf:C,onHtmlPerf:B};ue=t.default.createElement(n.default,he)}ue||(ue=t.default.createElement("div",h({},K,{contentEditable:!1})))}return t.default.createElement(t.default.Fragment,null,ue)}return tl}var td={},Q7={},rd={},fE={};Object.defineProperty(fE,"__esModule",{value:!0});fE.default=DE;var hg=ft,Tf=Qp,Gu=iY(Pu);function iY(e){return e&&e.__esModule?e:{default:e}}function Ri(e){"@babel/helpers - typeof";return Ri=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ri(e)}function mg(e,t){return dY(e)||pY(e,t)||lY(e,t)||cY()}function cY(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function lY(e,t){if(e){if(typeof e=="string")return Eg(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Eg(e,t)}}function Eg(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r/g,"​"]}:{embededHtml:[/0&&Object.keys(C).forEach(function(B){var T=hg(C[B],2),N=T[0],R=T[1];v=v.replace(N,R)}),v},[t,a,u,c]),y=(0,Tf.useDeepCompareCallback)(function(v){var C;if(a)C=v.innerHTML.replaceAll("​","");else{var B=document.createElement("div");B.innerHTML=v.innerHTML.replaceAll("e.length)&&(t=e.length);for(var r=0,n=new Array(t);r0&&(C=Fn.default.createElement(d,v,m)),Fn.default.createElement("div",{className:"contextMenuWrapper",onContextMenu:h,style:{}},n,C)}hE.propTypes={components:Va.default.shape({contextMenu:Va.default.func,contextMenuItem:Va.default.func}),save:Va.default.func.isRequired,children:Va.default.any.isRequired};hE.defaultProps=ph;Object.defineProperty(rd,"__esModule",{value:!0});rd.default=EE;var dh=$Y(ft),Ur=mE(Pu),t9=mE(dE);mE(DE);var _Y=["content","verbose","options"],BY=["content","onContent","decorators","style","onClick","components","options","index","verbose"],TY=["editIndex","save"];function mE(e){return e&&e.__esModule?e:{default:e}}function r9(e){if(typeof WeakMap!="function")return null;var t=new WeakMap,r=new WeakMap;return(r9=function(u){return u?r:t})(e)}function $Y(e,t){if(e&&e.__esModule)return e;if(e===null||ha(e)!=="object"&&typeof e!="function")return{default:e};var r=r9(t);if(r&&r.has(e))return r.get(e);var n={},u=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if(s!=="default"&&Object.prototype.hasOwnProperty.call(e,s)){var o=u?Object.getOwnPropertyDescriptor(e,s):null;o&&(o.get||o.set)?Object.defineProperty(n,s,o):n[s]=e[s]}return n.default=e,r&&r.set(e,n),n}function ha(e){"@babel/helpers - typeof";return ha=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ha(e)}function Ap(){return Ap=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function PY(e,t){if(e==null)return{};var r={},n=Object.keys(e),u,s;for(s=0;s=0)&&(r[u]=e[u]);return r}function vg(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable})),r.push.apply(r,n)}return r}function Xo(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function tZ(e,t){if(e==null)return{};var r={},n=Object.keys(e),u,s;for(s=0;s=0)&&(r[u]=e[u]);return r}var Il={content:"",onContent:function(t){console.warn(`EditableSection.onContent() not provided: +`,t)},options:{editable:!0},decorators:{}};function DE(e){var t=e.content,r=e.onContent,n=e.onInput,u=e.decorators,s=e.options,o=rl(rl({},e9.options),s),a=o.returnHtml,i=o.editable,c=o.preview,l=(0,hg.useState)(0),p=mg(l,2),d=p[0],f=p[1],h=(0,Tf.useDeepCompareMemo)(function(){var v=t,C=rl(a?{spanPadding:[/<\/span>/g,"​"]}:{embededHtml:[/0&&Object.keys(C).forEach(function(B){var T=mg(C[B],2),N=T[0],R=T[1];v=v.replace(N,R)}),v},[t,a,u,c]),y=(0,Tf.useDeepCompareCallback)(function(v){var C;if(a)C=v.innerHTML.replaceAll("​","");else{var B=document.createElement("div");B.innerHTML=v.innerHTML.replaceAll("e.length)&&(t=e.length);for(var r=0,n=new Array(t);r0&&(C=Fn.default.createElement(d,v,m)),Fn.default.createElement("div",{className:"contextMenuWrapper",onContextMenu:h,style:{}},n,C)}mE.propTypes={components:Va.default.shape({contextMenu:Va.default.func,contextMenuItem:Va.default.func}),save:Va.default.func.isRequired,children:Va.default.any.isRequired};mE.defaultProps=dh;Object.defineProperty(rd,"__esModule",{value:!0});rd.default=yE;var fh=kY(ft),Ur=EE(Pu),n9=EE(fE);EE(hE);var TY=["content","verbose","options"],$Y=["content","onContent","decorators","style","onClick","components","options","index","verbose"],PY=["editIndex","save"];function EE(e){return e&&e.__esModule?e:{default:e}}function u9(e){if(typeof WeakMap!="function")return null;var t=new WeakMap,r=new WeakMap;return(u9=function(u){return u?r:t})(e)}function kY(e,t){if(e&&e.__esModule)return e;if(e===null||ha(e)!=="object"&&typeof e!="function")return{default:e};var r=u9(t);if(r&&r.has(e))return r.get(e);var n={},u=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if(s!=="default"&&Object.prototype.hasOwnProperty.call(e,s)){var o=u?Object.getOwnPropertyDescriptor(e,s):null;o&&(o.get||o.set)?Object.defineProperty(n,s,o):n[s]=e[s]}return n.default=e,r&&r.set(e,n),n}function ha(e){"@babel/helpers - typeof";return ha=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ha(e)}function Ap(){return Ap=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function OY(e,t){if(e==null)return{};var r={},n=Object.keys(e),u,s;for(s=0;s=0)&&(r[u]=e[u]);return r}function gg(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable})),r.push.apply(r,n)}return r}function Xo(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function nZ(e,t){if(e==null)return{};var r={},n=Object.keys(e),u,s;for(s=0;s=0)&&(r[u]=e[u]);return r}var Il={content:"",onContent:function(t){console.warn(`EditableSection.onContent() not provided: -`,t)},options:{editable:!0},components:{section:function(t){t.show;var r=t.children,n=t.dir,u=Ol(t,UY);return Vn.default.createElement("div",oa({className:"section "+n,dir:n},u),r)},sectionHeading:function(t){t.show;var r=t.content,n=Ol(t,GY);return Vn.default.createElement("h2",oa({className:"sectionHeading"},n),r)},sectionBody:function(t){var r=t.children;t.show;var n=Ol(t,VY);return Vn.default.createElement("div",oa({className:"sectionBody"},n),r)}},handlers:{onBlockClick:function(t){t.content;var r=t.index;console.warn(`EditableSection.onBlockClick({content, index}) not provided. +`,t)},options:{editable:!0},components:{section:function(t){t.show;var r=t.children,n=t.dir,u=Ol(t,VY);return Vn.default.createElement("div",oa({className:"section "+n,dir:n},u),r)},sectionHeading:function(t){t.show;var r=t.content,n=Ol(t,HY);return Vn.default.createElement("h2",oa({className:"sectionHeading"},n),r)},sectionBody:function(t){var r=t.children;t.show;var n=Ol(t,WY);return Vn.default.createElement("div",oa({className:"sectionBody"},n),r)}},handlers:{onBlockClick:function(t){t.content;var r=t.index;console.warn(`EditableSection.onBlockClick({content, index}) not provided. `,r)}},joiners:{block:` -`},show:!0,onShow:function(){console.warn("EditableSection.onShow() not provided.")}},rZ={whiteSpace:"nowrap",overflow:"hidden",contentOverflow:"ellipsis"};function AE(e){var t=e.content,r=e.onContent,n=e.parsers,u=e.joiners,s=e.decorators,o=e.index,a=e.onShow,i=e.show,c=e.dir,l=e.verbose,p=l===void 0?!1:l,d=Ol(e,HY),f=To(To({},Il.components),d.components),h=f||{},y=h.section,A=h.sectionHeading,m=h.sectionBody,v=To(To({},Il.options),d.options),C=To(To({},Il.handlers),d.handlers),B=C.onBlockClick;(0,Vn.useEffect)(function(){p&&console.log("EditableSection First Render")},[]);var T=(0,MY.default)({content:t,parsers:n,options:v,show:i}),N=(0,Ag.useDeepCompareCallback)(function(J,q){var G=JY(T);G[q]=J;var ee=G.join(u.block);r(ee)},[T]),R=(0,Ag.useDeepCompareMemo)(function(){var J=Vn.default.createElement(Vn.default.Fragment,null);return i&&(J=T.map(function(q,G){var ee={content:q,components:f,options:v,onContent:function(ue){N(ue,G)},onInput:d==null?void 0:d.onInput,onClick:function(ue){B({content:q,index:G,element:ue.target})},decorators:s,index:G,verbose:p};return Vn.default.createElement(LY.default,oa({key:G+q},ee))})),J},[T,f,v,B,N,s]);return Vn.default.createElement(y,{dir:c,show:i,index:o},v.sectionable&&Vn.default.createElement(A,{show:i,dir:c,style:rZ,onClick:a,content:t,index:o,"data-test-id":"sectionHeading"}),Vn.default.createElement(m,{show:i,dir:c,index:o},R))}AE.propTypes={content:Ct.default.string.isRequired,onContent:Ct.default.func,onInput:Ct.default.func,options:Ct.default.shape({sectionable:Ct.default.bool,blockable:Ct.default.bool,editable:Ct.default.bool,returnHtml:Ct.default.bool}),components:Ct.default.shape({section:Ct.default.func,sectionHeading:Ct.default.func,sectionBody:Ct.default.func,block:Ct.default.func}),parsers:Ct.default.shape({block:Ct.default.func}),joiners:Ct.default.shape({block:Ct.default.string}),decorators:Ct.default.object,handlers:Ct.default.shape({onBlockClick:Ct.default.func}),index:Ct.default.number,verbose:Ct.default.bool,show:Ct.default.bool,onShow:Ct.default.func,dir:Ct.default.string};AE.defaultProps=Il;var FE={},s9={exports:{}};(function(e){function t(a,i,c,l){Object.defineProperty(a,i,{get:c,set:l,enumerable:!0,configurable:!0})}t(e.exports,"addArrowKeyNavigationToContenteditableElements",()=>n),t(e.exports,"getContenteditableElements",()=>u),t(e.exports,"addArrowKeyNavigationToElements",()=>s),t(e.exports,"addArrowKeyNavigationToElement",()=>o);function r({element:a}){let i=0;if(typeof window.getSelection<"u"&&window.getSelection().rangeCount!==0){const p=window.getSelection().getRangeAt(0),d=p.cloneRange();d.selectNodeContents(a),d.setEnd(p.endContainer,p.endOffset),i=d.toString().length}return i}function n(a){const{verbose:i}=a||{},c=u();s({elements:c,verbose:i})}function u(){return document.querySelectorAll("[contenteditable]")}function s({elements:a,verbose:i}){[...a].forEach(c=>{o({element:c,verbose:i})})}function o({element:a,verbose:i=!1}){a.addEventListener("keydown",c=>{var A,m;const{key:l,target:p}=c,d=r({element:p}),f=c.target.textContent,h=f.match(/^\s*/)[0].length,y=f.length-h;i&&console.log({key:l,position:d,whitespaceOffset:h,length:y,string:f}),l==="ArrowUp"&&d<=h&&((A=c.target.previousElementSibling)==null||A.focus()),l==="ArrowDown"&&d>=y&&((m=c.target.nextElementSibling)==null||m.focus())})}})(s9);var nZ=s9.exports,CE={};Object.defineProperty(CE,"__esModule",{value:!0});CE.default=bE;var uZ=ft,Wa=sZ(Pu);function sZ(e){return e&&e.__esModule?e:{default:e}}function Mi(e){"@babel/helpers - typeof";return Mi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Mi(e)}function Cg(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable})),r.push.apply(r,n)}return r}function ul(e){for(var t=1;tn),t(e.exports,"getContenteditableElements",()=>u),t(e.exports,"addArrowKeyNavigationToElements",()=>s),t(e.exports,"addArrowKeyNavigationToElement",()=>o);function r({element:a}){let i=0;if(typeof window.getSelection<"u"&&window.getSelection().rangeCount!==0){const p=window.getSelection().getRangeAt(0),d=p.cloneRange();d.selectNodeContents(a),d.setEnd(p.endContainer,p.endOffset),i=d.toString().length}return i}function n(a){const{verbose:i}=a||{},c=u();s({elements:c,verbose:i})}function u(){return document.querySelectorAll("[contenteditable]")}function s({elements:a,verbose:i}){[...a].forEach(c=>{o({element:c,verbose:i})})}function o({element:a,verbose:i=!1}){a.addEventListener("keydown",c=>{var A,m;const{key:l,target:p}=c,d=r({element:p}),f=c.target.textContent,h=f.match(/^\s*/)[0].length,y=f.length-h;i&&console.log({key:l,position:d,whitespaceOffset:h,length:y,string:f}),l==="ArrowUp"&&d<=h&&((A=c.target.previousElementSibling)==null||A.focus()),l==="ArrowDown"&&d>=y&&((m=c.target.nextElementSibling)==null||m.focus())})}})(a9);var sZ=a9.exports,bE={};Object.defineProperty(bE,"__esModule",{value:!0});bE.default=SE;var oZ=ft,Wa=aZ(Pu);function aZ(e){return e&&e.__esModule?e:{default:e}}function Mi(e){"@babel/helpers - typeof";return Mi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Mi(e)}function bg(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable})),r.push.apply(r,n)}return r}function ul(e){for(var t=1;t.3&&(r=!0)}return r};ud.isRtl=lZ;function Ea(e){"@babel/helpers - typeof";return Ea=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ea(e)}Object.defineProperty(FE,"__esModule",{value:!0});FE.default=wE;var li=EZ(ft),gt=SE(Pu),$f=Qp,pZ=nZ,dZ=SE(CE),fZ=ud,DZ=SE(nd),hZ=["children","content"],mZ=["content","onContent","components","parsers","joiners","decorators","sectionIndex","verbose"];function SE(e){return e&&e.__esModule?e:{default:e}}function o9(e){if(typeof WeakMap!="function")return null;var t=new WeakMap,r=new WeakMap;return(o9=function(u){return u?r:t})(e)}function EZ(e,t){if(e&&e.__esModule)return e;if(e===null||Ea(e)!=="object"&&typeof e!="function")return{default:e};var r=o9(t);if(r&&r.has(e))return r.get(e);var n={},u=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if(s!=="default"&&Object.prototype.hasOwnProperty.call(e,s)){var o=u?Object.getOwnPropertyDescriptor(e,s):null;o&&(o.get||o.set)?Object.defineProperty(n,s,o):n[s]=e[s]}return n.default=e,r&&r.set(e,n),n}function yZ(e){return FZ(e)||AZ(e)||gZ(e)||vZ()}function vZ(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function gZ(e,t){if(e){if(typeof e=="string")return Eh(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Eh(e,t)}}function AZ(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function FZ(e){if(Array.isArray(e))return Eh(e)}function Eh(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function wZ(e,t){if(e==null)return{};var r={},n=Object.keys(e),u,s;for(s=0;s=0)&&(r[u]=e[u]);return r}var Nl={content:"",onContent:function(t){console.warn(`EditableContent.onContent() not provided: +`)}}};function SE(e){var t=e.content,r=e.parsers,n=e.options,u=ul(ul({},Eh.options),n),s=u.sectionable,o=ul(ul({},Eh.parsers),r),a=o.section,i=(0,oZ.useMemo)(function(){var c=[];return c=s?a(t):[t],c},[t,s,a]);return i}SE.propTypes={content:Wa.default.string.isRequired,options:Wa.default.shape({sectionable:Wa.default.bool}),parsers:Wa.default.shape({section:Wa.default.func})};SE.defaultProps=Eh;var ud={};Object.defineProperty(ud,"__esModule",{value:!0});ud.isRtl=void 0;var pZ=/[\u0591-\u07FF\uFB1D-\uFDFF\uFE70-\uFEFC]/gm,dZ=function(t){var r=!1;if(t&&t.length){var n=t.match(pZ),u=n==null?void 0:n.length,s=t.length,o=u/s;o>.3&&(r=!0)}return r};ud.isRtl=dZ;function Ea(e){"@babel/helpers - typeof";return Ea=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ea(e)}Object.defineProperty(CE,"__esModule",{value:!0});CE.default=_E;var li=vZ(ft),gt=wE(Pu),$f=Qp,fZ=sZ,DZ=wE(bE),hZ=ud,mZ=wE(nd),EZ=["children","content"],yZ=["content","onContent","components","parsers","joiners","decorators","sectionIndex","verbose"];function wE(e){return e&&e.__esModule?e:{default:e}}function i9(e){if(typeof WeakMap!="function")return null;var t=new WeakMap,r=new WeakMap;return(i9=function(u){return u?r:t})(e)}function vZ(e,t){if(e&&e.__esModule)return e;if(e===null||Ea(e)!=="object"&&typeof e!="function")return{default:e};var r=i9(t);if(r&&r.has(e))return r.get(e);var n={},u=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if(s!=="default"&&Object.prototype.hasOwnProperty.call(e,s)){var o=u?Object.getOwnPropertyDescriptor(e,s):null;o&&(o.get||o.set)?Object.defineProperty(n,s,o):n[s]=e[s]}return n.default=e,r&&r.set(e,n),n}function gZ(e){return bZ(e)||CZ(e)||FZ(e)||AZ()}function AZ(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function FZ(e,t){if(e){if(typeof e=="string")return yh(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return yh(e,t)}}function CZ(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function bZ(e){if(Array.isArray(e))return yh(e)}function yh(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function BZ(e,t){if(e==null)return{};var r={},n=Object.keys(e),u,s;for(s=0;s=0)&&(r[u]=e[u]);return r}var Nl={content:"",onContent:function(t){console.warn(`EditableContent.onContent() not provided: -`,t)},options:{sectionable:!0,blockable:!0,editable:!0,preview:!1},components:{document:function(t){var r=t.children;t.content;var n=a9(t,hZ);return li.default.createElement("div",Li({className:"document"},n),r)}},parsers:{section:function(t){return t.split(` +`,t)},options:{sectionable:!0,blockable:!0,editable:!0,preview:!1},components:{document:function(t){var r=t.children;t.content;var n=c9(t,EZ);return li.default.createElement("div",Li({className:"document"},n),r)}},parsers:{section:function(t){return t.split(` `)},block:function(t){return t.split(` `)}},joiners:{section:` @@ -4785,55 +4785,55 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho `,r)},onBlockClick:function(t){t.content;var r=t.index;console.warn(`EditableContent.onBlockClick({content, index}) not provided. -`,r)}},sectionIndex:0};function wE(e){var t=e.content,r=e.onContent,n=e.components,u=e.parsers,s=e.joiners,o=e.decorators,a=e.sectionIndex,i=e.verbose,c=i===void 0?!1:i,l=a9(e,mZ),p=(0,li.useMemo)(function(){return Bs(Bs({},Nl.components),n)},[]),d=p.document,f=Bs(Bs({},Nl.options),l.options),h=Bs(Bs({},Nl.handlers),l.handlers);(0,li.useEffect)(function(){c&&console.log("EditableContent First Render")},[]),(0,$f.useDeepCompareEffect)(function(){(0,pZ.addArrowKeyNavigationToContenteditableElements)()},[f,t]);var y=(0,dZ.default)({content:t,parsers:u,options:f}),A=(0,$f.useDeepCompareCallback)(function(C,B){var T=yZ(y);T[B]=C;var N=T.join(s.section);r(N)},[y,r]),m=(0,$f.useDeepCompareMemo)(function(){var C,B=(0,fZ.isRtl)(t)?"rtl":"";return C=y.map(function(T,N){var R={content:T,onContent:function(q){A(q,N)},onInput:l==null?void 0:l.onInput,show:!f.sectionable||a===-1||N===a,onShow:function(){h.onSectionClick({content:T,index:N})},index:N,components:p,options:f,parsers:u,joiners:s,handlers:h,decorators:o,dir:B,verbose:c};return li.default.createElement(DZ.default,Li({key:N},R))}),C},[y,f,u,s,o,h,a]),v=Bs({content:t,className:f.preview?"preview":""},l);return li.default.createElement(d,Li({key:"1"},v),m)}wE.propTypes={content:gt.default.string.isRequired,onContent:gt.default.func,onInput:gt.default.func,options:gt.default.shape({sectionable:gt.default.bool,blockable:gt.default.bool,editable:gt.default.bool,preview:gt.default.bool}),components:gt.default.shape({document:gt.default.func,section:gt.default.func,sectionHeading:gt.default.func,sectionBody:gt.default.func,block:gt.default.func}),parsers:gt.default.shape({section:gt.default.func,block:gt.default.func}),joiners:gt.default.shape({section:gt.default.string,block:gt.default.string}),decorators:gt.default.object,handlers:gt.default.shape({onSectionClick:gt.default.func,onBlockClick:gt.default.func}),sectionIndex:gt.default.number,verbose:gt.default.bool};wE.defaultProps=Nl;var sd={};Object.defineProperty(sd,"__esModule",{value:!0});sd.segmenter=void 0;function _Z(e){return PZ(e)||$Z(e)||TZ(e)||BZ()}function BZ(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function TZ(e,t){if(e){if(typeof e=="string")return yh(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return yh(e,t)}}function $Z(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function PZ(e){if(Array.isArray(e))return yh(e)}function yh(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);re.length)&&(t=e.length);for(var r=0,n=new Array(t);r0){var d=n.pop(),f=d.dataset.type==="graft",h=Vu(d.classList).includes("title"),y=Vu(d.classList).includes("introduction");f&&!h&&!y?p=[].concat(Vu(p),[d]):(n=[].concat(Vu(n),[d]),l=!1)}else l=!1;r=[].concat(Vu(r),[n]),n=Vu(p.reverse())}}return n=[].concat(Vu(n),[u]),!0}),r=[].concat(Vu(r),[n]),n=[],r.map(function(u){return u.map(function(s){return s.outerHTML}).join(` -`)})}}var TE={};function gh(e){"@babel/helpers - typeof";return gh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},gh(e)}Object.defineProperty(TE,"__esModule",{value:!0});TE.default=GZ;var Sg=MZ(ft),jZ=["nodes","children","content","className","verbose"];function i9(e){if(typeof WeakMap!="function")return null;var t=new WeakMap,r=new WeakMap;return(i9=function(u){return u?r:t})(e)}function MZ(e,t){if(e&&e.__esModule)return e;if(e===null||gh(e)!=="object"&&typeof e!="function")return{default:e};var r=i9(t);if(r&&r.has(e))return r.get(e);var n={},u=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if(s!=="default"&&Object.prototype.hasOwnProperty.call(e,s)){var o=u?Object.getOwnPropertyDescriptor(e,s):null;o&&(o.get||o.set)?Object.defineProperty(n,s,o):n[s]=e[s]}return n.default=e,r&&r.set(e,n),n}function Ah(){return Ah=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function UZ(e,t){if(e==null)return{};var r={},n=Object.keys(e),u,s;for(s=0;s=0)&&(r[u]=e[u]);return r}function GZ(e){var t=e.nodes,r=t===void 0?{}:t,n=e.children;e.content;var u=e.className,s=e.verbose;LZ(e,jZ),(0,Sg.useEffect)(function(){return s&&console.log("Document: Mount/First Render"),function(){s&&console.log("Document: UnMount/Destroyed")}},[]);var o=r.sequence(),a=o.dataset,i=o.className;return Sg.default.createElement("section",Ah({id:"sequence",className:"".concat(i," ").concat(u)},a),n)}function Fh(e){"@babel/helpers - typeof";return Fh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Fh(e)}Object.defineProperty(td,"__esModule",{value:!0});td.default=$E;var Pf=XZ(ft),bt=ic(Pu),VZ=Y7,HZ=ic(_E),WZ=ic(BE),JZ=ic(TE),zZ=ic(ac),KZ=["htmlSequence","onHtmlSequence","options","components","parsers","joiners","decorators","handlers","sectionIndex","verbose"];function ic(e){return e&&e.__esModule?e:{default:e}}function c9(e){if(typeof WeakMap!="function")return null;var t=new WeakMap,r=new WeakMap;return(c9=function(u){return u?r:t})(e)}function XZ(e,t){if(e&&e.__esModule)return e;if(e===null||Fh(e)!=="object"&&typeof e!="function")return{default:e};var r=c9(t);if(r&&r.has(e))return r.get(e);var n={},u=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if(s!=="default"&&Object.prototype.hasOwnProperty.call(e,s)){var o=u?Object.getOwnPropertyDescriptor(e,s):null;o&&(o.get||o.set)?Object.defineProperty(n,s,o):n[s]=e[s]}return n.default=e,r&&r.set(e,n),n}function Ch(){return Ch=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function QZ(e,t){if(e==null)return{};var r={},n=Object.keys(e),u,s;for(s=0;s=0)&&(r[u]=e[u]);return r}var bh={decorators:{chapter:[/\\c\s+(\d*)/g,'$1'],verses:[/\\v\s+(\d*)/g,'$1']},joiners:{section:"",block:""}};function $E(e){var t=e.htmlSequence,r=e.onHtmlSequence,n=e.options,u=e.components,s=e.parsers,o=e.joiners,a=e.decorators,i=e.handlers,c=e.sectionIndex,l=e.verbose,p=l===void 0?!1:l,d=ZZ(e,KZ),f=pu(pu({},bh.decorators),a),h=pu(pu({},bh.joiners),o);(0,Pf.useEffect)(function(){return p&&console.log("PerfEditor First Render"),function(){p&&console.log("PerfEditor Unmount")}},[]);var y=new DOMParser,A=y.parseFromString(t,"text/html"),m={sequence:function(){return A.getElementsByTagName("section")[0]}},v=pu({returnHtml:!0},n),C=pu({section:(0,WZ.default)({nodes:m}),block:HZ.default},s),B=pu({document:function(J){return(0,JZ.default)(pu({nodes:m,verbose:p},J))},sectionHeading:zZ.default},u),T=function(J){m.sequence().innerHTML=J,r(m.sequence().outerHTML)},N=pu({content:m.sequence().innerHTML,onContent:T,options:v,components:B,parsers:C,joiners:h,decorators:f,handlers:i,sectionIndex:c,verbose:p},d);return Pf.default.createElement("div",{className:"perf",key:"1"},Pf.default.createElement(VZ.EditableContent,Ch({key:"1"},N)))}$E.propTypes={htmlSequence:bt.default.string.isRequired,onHtmlSequence:bt.default.func,options:bt.default.shape({sectionable:bt.default.bool,blockable:bt.default.bool,editable:bt.default.bool,preview:bt.default.bool}),components:bt.default.shape({document:bt.default.func,section:bt.default.func,sectionHeading:bt.default.func,sectionBody:bt.default.func,block:bt.default.func}),parsers:bt.default.shape({section:bt.default.func,block:bt.default.func}),joiners:bt.default.shape({section:bt.default.string,block:bt.default.string}),decorators:bt.default.object,handlers:bt.default.shape({onSectionClick:bt.default.func,onBlockClick:bt.default.func}),sectionIndex:bt.default.number,verbose:bt.default.bool};$E.defaultProps=bh;var _g;function l9(){if(_g)return el;_g=1;function e(G){"@babel/helpers - typeof";return e=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(ee){return typeof ee}:function(ee){return ee&&typeof Symbol=="function"&&ee.constructor===Symbol&&ee!==Symbol.prototype?"symbol":typeof ee},e(G)}Object.defineProperty(el,"__esModule",{value:!0}),el.default=q;var t=f(ft),r=p(Pu),n=Qp,u=p(VX),s=Kn,o=fa,a=p(ac),i=p(sY()),c=p(td),l=["htmlPerf","onHtmlPerf","sequenceIds","addSequenceId","options","components","handlers"];function p(G){return G&&G.__esModule?G:{default:G}}function d(G){if(typeof WeakMap!="function")return null;var ee=new WeakMap,K=new WeakMap;return(d=function(oe){return oe?K:ee})(G)}function f(G,ee){if(G&&G.__esModule)return G;if(G===null||e(G)!=="object"&&typeof G!="function")return{default:G};var K=d(ee);if(K&&K.has(G))return K.get(G);var ue={},oe=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var de in G)if(de!=="default"&&Object.prototype.hasOwnProperty.call(G,de)){var he=oe?Object.getOwnPropertyDescriptor(G,de):null;he&&(he.get||he.set)?Object.defineProperty(ue,de,he):ue[de]=G[de]}return ue.default=G,K&&K.set(G,ue),ue}function h(G,ee){var K=Object.keys(G);if(Object.getOwnPropertySymbols){var ue=Object.getOwnPropertySymbols(G);ee&&(ue=ue.filter(function(oe){return Object.getOwnPropertyDescriptor(G,oe).enumerable})),K.push.apply(K,ue)}return K}function y(G){for(var ee=1;eeG.length)&&(ee=G.length);for(var K=0,ue=new Array(ee);K=0)&&Object.prototype.propertyIsEnumerable.call(G,ue)&&(K[ue]=G[ue])}return K}function J(G,ee){if(G==null)return{};var K={},ue=Object.keys(G),oe,de;for(de=0;de=0)&&(K[oe]=G[oe]);return K}function q(G){var ee=G.htmlPerf,K=G.onHtmlPerf,ue=G.sequenceIds,oe=G.addSequenceId,de=G.options,he=G.components,fe=G.handlers,ge=R(G,l),pe=(0,t.useState)({}),z=m(pe,2),O=z[0],E=z[1],F=ue.at(-1),D=y({sectionHeading:a.default},he),g=(0,n.useDeepCompareMemo)(function(){return(0,s.embedPreviewTextInGrafts)({htmlPerf:ee,sequenceId:F})},[ee,F]),P=(0,t.useMemo)(function(){return(0,o.getTypeFromSequenceHtml)({htmlSequence:g})},[g]),b=(0,n.useDeepCompareMemo)(function(){return O[F]||0},[O,F]),w=(0,n.useDeepCompareCallback)(function(L){L.content;var Y=L.index,be=y({},O);be[F]=Y,E(be)},[E,O]),I=(0,t.useCallback)(function(L){var Y;L.content;var be=L.element,Ne=be==null||(Y=be.dataset)===null||Y===void 0?void 0:Y.target;Ne&&oe(Ne)},[oe]),$=(0,n.useDeepCompareCallback)(function(L){var Y=g!==L;if(Y){var be=structuredClone(ee);be.sequencesHtml[F]=L;var Ne=!(0,u.default)(ee,be);if(Ne){var Ve=(0,s.removePreviewTextInGrafts)({htmlPerf:be,sequenceId:F});K(Ve,{sequenceId:F,htmlSequence:L})}}},[ee,K,g,F]),M=y({htmlSequence:g,onHtmlSequence:$,components:y(y({},D),{},{sectionHeading:function(Y){return D.sectionHeading(y({type:P},Y))},block:function(Y){return(0,i.default)(y({htmlPerf:ee,onHtmlPerf:K,sequenceIds:ue,addSequenceId:oe},Y))}}),options:de,handlers:y({onSectionClick:w,onBlockClick:I},fe),decorators:{},sectionIndex:b},ge);return t.default.createElement(c.default,M)}return q.propTypes={htmlPerf:r.default.object.isRequired,onHtmlPerf:r.default.func,options:r.default.shape({sectionable:r.default.bool,blockable:r.default.bool,editable:r.default.bool,preview:r.default.bool}),components:r.default.shape({document:r.default.func,section:r.default.func,sectionHeading:r.default.func,sectionBody:r.default.func,block:r.default.func}),parsers:r.default.shape({section:r.default.func,block:r.default.func}),joiners:r.default.shape({section:r.default.string,block:r.default.string}),decorators:r.default.object,handlers:r.default.shape({onSectionClick:r.default.func,onBlockClick:r.default.func}),sectionIndex:r.default.number,verbose:r.default.bool},q.defaultProps={sequenceIds:[]},el}(function(e){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"HtmlPerfEditor",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"HtmlSequenceEditor",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(e,"SectionHeading",{enumerable:!0,get:function(){return n.default}});var t=u(l9()),r=u(td),n=u(ac);function u(s){return s&&s.__esModule?s:{default:s}}})(cE);const eQ=({content:e})=>{var n;const t=document.createElement("div");t.innerHTML=e;const{target:r}=((n=t.firstChild)==null?void 0:n.dataset)||{};return r};function tQ({htmlPerf:e,onHtmlPerf:t,sequenceIds:r,addSequenceId:n,options:u,content:s,contentEditable:o,...a}){let i;const c=!!s.match(/data-type="paragraph"/);if(c&&(i=It.jsx("div",{className:"editor-paragraph",contentEditable:o,...a})),!c){const l=eQ({content:s});if(l&&!u.preview){const p={sequenceIds:[...r,l],addSequenceId:n,htmlPerf:e,onHtmlPerf:t,options:u};i=It.jsx(cE.HtmlPerfEditor,{...p})}i||(i=It.jsx("div",{...a,contentEditable:!1}))}return It.jsx(It.Fragment,{children:i})}function rQ(){return It.jsx("div",{className:"h-full w-full items-center justify-center flex",children:It.jsxs("svg",{className:"animate-spin h-10 w-10",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[It.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),It.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})})}function nQ(e){const{sequenceIds:t,htmlPerf:r,sectionable:n,blockable:u,editable:s,preview:o,verbose:a,addSequenceId:i}=e,c=t.at(-1),l={onBlockClick:({element:f})=>{Vh.postMessage({type:U8.BLOCK_CLICK,payload:{action:"click"}});const{tagName:h}=f;h==="SPAN"&&console.log("onBlockClick",{element:f})}};function p(f){console.log({htmlPerf:f})}const d={htmlPerf:r,onHtmlPerf:p,sequenceIds:t,addSequenceId:i,components:{block:f=>tQ({htmlPerf:r,onHtmlPerf:p,sequenceIds:t,addSequenceId:i,...f})},options:{sectionable:n,blockable:u,editable:s,preview:o},decorators:{},verbose:a,handlers:l};return It.jsx("div",{style:{fontFamily:"roboto",fontSize:"1rem",direction:"ltr",textAlign:"left"},children:It.jsxs("div",{id:"bibleRefEditor",className:"bibleRefEditor",children:[!c&&It.jsx(rQ,{}),c&&It.jsx(cE.HtmlPerfEditor,{...d})]})})}const uQ=e=>({"*":{"*":{tagName:"span"},sequence:{tagName:"section"}},wrapper:{"*":{tagName:"wrapper"},sequence:{tagName:"section"}},paragraph:{"*":{tagName:"p"},"usfm:mt":{classList:["major-title","paragraph","mt","hidden"],tagName:"h2",attributes:{contenteditable:!1}},"usfm:ms":{classList:["major-section-heading","paragraph","ms"],tagName:"h3",attributes:{contenteditable:!1}}},mark:{"*":{tagName:"span"},chapter:({atts:t})=>t?(e.lastChapter=t.number,{classList:["mark","chapter",`chapter-${t.number}`],id:`ch-${t.number}`,tagName:"span"}):{tagName:"span"},verses:({atts:t})=>({classList:t?["mark","verse",`verse-${t.number}`]:void 0,id:t?`ch${e.lastChapter}v${t.number}`:void 0,tagName:"span",attributes:{contenteditable:!1}})},graft:{heading:{tagName:"div"},title:{tagName:"div"},introduction:{tagName:"div"}}}),sl=uQ({});var PE={},od={},Sh={exports:{}},p9={},$n={},ya={},cc={},st={},Ui={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.regexpCode=e.getEsmExportName=e.getProperty=e.safeStringify=e.stringify=e.strConcat=e.addCodeArg=e.str=e._=e.nil=e._Code=e.Name=e.IDENTIFIER=e._CodeOrName=void 0;class t{}e._CodeOrName=t,e.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class r extends t{constructor(v){if(super(),!e.IDENTIFIER.test(v))throw new Error("CodeGen: name must be a valid identifier");this.str=v}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}e.Name=r;class n extends t{constructor(v){super(),this._items=typeof v=="string"?[v]:v}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;const v=this._items[0];return v===""||v==='""'}get str(){var v;return(v=this._str)!==null&&v!==void 0?v:this._str=this._items.reduce((C,B)=>`${C}${B}`,"")}get names(){var v;return(v=this._names)!==null&&v!==void 0?v:this._names=this._items.reduce((C,B)=>(B instanceof r&&(C[B.str]=(C[B.str]||0)+1),C),{})}}e._Code=n,e.nil=new n("");function u(m,...v){const C=[m[0]];let B=0;for(;B{if(p.scopePath===void 0)throw new Error(`CodeGen: name "${p}" has no value`);return(0,t._)`${c}${p.scopePath}`})}scopeCode(c=this._values,l,p){return this._reduceValues(c,d=>{if(d.value===void 0)throw new Error(`CodeGen: name "${d}" has no value`);return d.value.code},l,p)}_reduceValues(c,l,p={},d){let f=t.nil;for(const h in c){const y=c[h];if(!y)continue;const A=p[h]=p[h]||new Map;y.forEach(m=>{if(A.has(m))return;A.set(m,n.Started);let v=l(m);if(v){const C=this.opts.es5?e.varKinds.var:e.varKinds.const;f=(0,t._)`${f}${C} ${m} = ${v};${this.opts._n}`}else if(v=d==null?void 0:d(m))f=(0,t._)`${f}${v}${this.opts._n}`;else throw new r(m);A.set(m,n.Completed)})}return f}}e.ValueScope=a})(wh);(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.or=e.and=e.not=e.CodeGen=e.operators=e.varKinds=e.ValueScopeName=e.ValueScope=e.Scope=e.Name=e.regexpCode=e.stringify=e.getProperty=e.nil=e.strConcat=e.str=e._=void 0;const t=Ui,r=wh;var n=Ui;Object.defineProperty(e,"_",{enumerable:!0,get:function(){return n._}}),Object.defineProperty(e,"str",{enumerable:!0,get:function(){return n.str}}),Object.defineProperty(e,"strConcat",{enumerable:!0,get:function(){return n.strConcat}}),Object.defineProperty(e,"nil",{enumerable:!0,get:function(){return n.nil}}),Object.defineProperty(e,"getProperty",{enumerable:!0,get:function(){return n.getProperty}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return n.stringify}}),Object.defineProperty(e,"regexpCode",{enumerable:!0,get:function(){return n.regexpCode}}),Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return n.Name}});var u=wh;Object.defineProperty(e,"Scope",{enumerable:!0,get:function(){return u.Scope}}),Object.defineProperty(e,"ValueScope",{enumerable:!0,get:function(){return u.ValueScope}}),Object.defineProperty(e,"ValueScopeName",{enumerable:!0,get:function(){return u.ValueScopeName}}),Object.defineProperty(e,"varKinds",{enumerable:!0,get:function(){return u.varKinds}}),e.operators={GT:new t._Code(">"),GTE:new t._Code(">="),LT:new t._Code("<"),LTE:new t._Code("<="),EQ:new t._Code("==="),NEQ:new t._Code("!=="),NOT:new t._Code("!"),OR:new t._Code("||"),AND:new t._Code("&&"),ADD:new t._Code("+")};class s{optimizeNodes(){return this}optimizeNames(D,g){return this}}class o extends s{constructor(D,g,P){super(),this.varKind=D,this.name=g,this.rhs=P}render({es5:D,_n:g}){const P=D?r.varKinds.var:this.varKind,b=this.rhs===void 0?"":` = ${this.rhs}`;return`${P} ${this.name}${b};`+g}optimizeNames(D,g){if(D[this.name.str])return this.rhs&&(this.rhs=oe(this.rhs,D,g)),this}get names(){return this.rhs instanceof t._CodeOrName?this.rhs.names:{}}}class a extends s{constructor(D,g,P){super(),this.lhs=D,this.rhs=g,this.sideEffects=P}render({_n:D}){return`${this.lhs} = ${this.rhs};`+D}optimizeNames(D,g){if(!(this.lhs instanceof t.Name&&!D[this.lhs.str]&&!this.sideEffects))return this.rhs=oe(this.rhs,D,g),this}get names(){const D=this.lhs instanceof t.Name?{}:{...this.lhs.names};return ue(D,this.rhs)}}class i extends a{constructor(D,g,P,b){super(D,P,b),this.op=g}render({_n:D}){return`${this.lhs} ${this.op}= ${this.rhs};`+D}}class c extends s{constructor(D){super(),this.label=D,this.names={}}render({_n:D}){return`${this.label}:`+D}}class l extends s{constructor(D){super(),this.label=D,this.names={}}render({_n:D}){return`break${this.label?` ${this.label}`:""};`+D}}class p extends s{constructor(D){super(),this.error=D}render({_n:D}){return`throw ${this.error};`+D}get names(){return this.error.names}}class d extends s{constructor(D){super(),this.code=D}render({_n:D}){return`${this.code};`+D}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(D,g){return this.code=oe(this.code,D,g),this}get names(){return this.code instanceof t._CodeOrName?this.code.names:{}}}class f extends s{constructor(D=[]){super(),this.nodes=D}render(D){return this.nodes.reduce((g,P)=>g+P.render(D),"")}optimizeNodes(){const{nodes:D}=this;let g=D.length;for(;g--;){const P=D[g].optimizeNodes();Array.isArray(P)?D.splice(g,1,...P):P?D[g]=P:D.splice(g,1)}return D.length>0?this:void 0}optimizeNames(D,g){const{nodes:P}=this;let b=P.length;for(;b--;){const w=P[b];w.optimizeNames(D,g)||(de(D,w.names),P.splice(b,1))}return P.length>0?this:void 0}get names(){return this.nodes.reduce((D,g)=>K(D,g.names),{})}}class h extends f{render(D){return"{"+D._n+super.render(D)+"}"+D._n}}class y extends f{}class A extends h{}A.kind="else";class m extends h{constructor(D,g){super(g),this.condition=D}render(D){let g=`if(${this.condition})`+super.render(D);return this.else&&(g+="else "+this.else.render(D)),g}optimizeNodes(){super.optimizeNodes();const D=this.condition;if(D===!0)return this.nodes;let g=this.else;if(g){const P=g.optimizeNodes();g=this.else=Array.isArray(P)?new A(P):P}if(g)return D===!1?g instanceof m?g:g.nodes:this.nodes.length?this:new m(he(D),g instanceof m?[g]:g.nodes);if(!(D===!1||!this.nodes.length))return this}optimizeNames(D,g){var P;if(this.else=(P=this.else)===null||P===void 0?void 0:P.optimizeNames(D,g),!!(super.optimizeNames(D,g)||this.else))return this.condition=oe(this.condition,D,g),this}get names(){const D=super.names;return ue(D,this.condition),this.else&&K(D,this.else.names),D}}m.kind="if";class v extends h{}v.kind="for";class C extends v{constructor(D){super(),this.iteration=D}render(D){return`for(${this.iteration})`+super.render(D)}optimizeNames(D,g){if(super.optimizeNames(D,g))return this.iteration=oe(this.iteration,D,g),this}get names(){return K(super.names,this.iteration.names)}}class B extends v{constructor(D,g,P,b){super(),this.varKind=D,this.name=g,this.from=P,this.to=b}render(D){const g=D.es5?r.varKinds.var:this.varKind,{name:P,from:b,to:w}=this;return`for(${g} ${P}=${b}; ${P}<${w}; ${P}++)`+super.render(D)}get names(){const D=ue(super.names,this.from);return ue(D,this.to)}}class T extends v{constructor(D,g,P,b){super(),this.loop=D,this.varKind=g,this.name=P,this.iterable=b}render(D){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(D)}optimizeNames(D,g){if(super.optimizeNames(D,g))return this.iterable=oe(this.iterable,D,g),this}get names(){return K(super.names,this.iterable.names)}}class N extends h{constructor(D,g,P){super(),this.name=D,this.args=g,this.async=P}render(D){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(D)}}N.kind="func";class R extends f{render(D){return"return "+super.render(D)}}R.kind="return";class J extends h{render(D){let g="try"+super.render(D);return this.catch&&(g+=this.catch.render(D)),this.finally&&(g+=this.finally.render(D)),g}optimizeNodes(){var D,g;return super.optimizeNodes(),(D=this.catch)===null||D===void 0||D.optimizeNodes(),(g=this.finally)===null||g===void 0||g.optimizeNodes(),this}optimizeNames(D,g){var P,b;return super.optimizeNames(D,g),(P=this.catch)===null||P===void 0||P.optimizeNames(D,g),(b=this.finally)===null||b===void 0||b.optimizeNames(D,g),this}get names(){const D=super.names;return this.catch&&K(D,this.catch.names),this.finally&&K(D,this.finally.names),D}}class q extends h{constructor(D){super(),this.error=D}render(D){return`catch(${this.error})`+super.render(D)}}q.kind="catch";class G extends h{render(D){return"finally"+super.render(D)}}G.kind="finally";class ee{constructor(D,g={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...g,_n:g.lines?` -`:""},this._extScope=D,this._scope=new r.Scope({parent:D}),this._nodes=[new y]}toString(){return this._root.render(this.opts)}name(D){return this._scope.name(D)}scopeName(D){return this._extScope.name(D)}scopeValue(D,g){const P=this._extScope.value(D,g);return(this._values[P.prefix]||(this._values[P.prefix]=new Set)).add(P),P}getScopeValue(D,g){return this._extScope.getValue(D,g)}scopeRefs(D){return this._extScope.scopeRefs(D,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(D,g,P,b){const w=this._scope.toName(g);return P!==void 0&&b&&(this._constants[w.str]=P),this._leafNode(new o(D,w,P)),w}const(D,g,P){return this._def(r.varKinds.const,D,g,P)}let(D,g,P){return this._def(r.varKinds.let,D,g,P)}var(D,g,P){return this._def(r.varKinds.var,D,g,P)}assign(D,g,P){return this._leafNode(new a(D,g,P))}add(D,g){return this._leafNode(new i(D,e.operators.ADD,g))}code(D){return typeof D=="function"?D():D!==t.nil&&this._leafNode(new d(D)),this}object(...D){const g=["{"];for(const[P,b]of D)g.length>1&&g.push(","),g.push(P),(P!==b||this.opts.es5)&&(g.push(":"),(0,t.addCodeArg)(g,b));return g.push("}"),new t._Code(g)}if(D,g,P){if(this._blockNode(new m(D)),g&&P)this.code(g).else().code(P).endIf();else if(g)this.code(g).endIf();else if(P)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(D){return this._elseNode(new m(D))}else(){return this._elseNode(new A)}endIf(){return this._endBlockNode(m,A)}_for(D,g){return this._blockNode(D),g&&this.code(g).endFor(),this}for(D,g){return this._for(new C(D),g)}forRange(D,g,P,b,w=this.opts.es5?r.varKinds.var:r.varKinds.let){const I=this._scope.toName(D);return this._for(new B(w,I,g,P),()=>b(I))}forOf(D,g,P,b=r.varKinds.const){const w=this._scope.toName(D);if(this.opts.es5){const I=g instanceof t.Name?g:this.var("_arr",g);return this.forRange("_i",0,(0,t._)`${I}.length`,$=>{this.var(w,(0,t._)`${I}[${$}]`),P(w)})}return this._for(new T("of",b,w,g),()=>P(w))}forIn(D,g,P,b=this.opts.es5?r.varKinds.var:r.varKinds.const){if(this.opts.ownProperties)return this.forOf(D,(0,t._)`Object.keys(${g})`,P);const w=this._scope.toName(D);return this._for(new T("in",b,w,g),()=>P(w))}endFor(){return this._endBlockNode(v)}label(D){return this._leafNode(new c(D))}break(D){return this._leafNode(new l(D))}return(D){const g=new R;if(this._blockNode(g),this.code(D),g.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(R)}try(D,g,P){if(!g&&!P)throw new Error('CodeGen: "try" without "catch" and "finally"');const b=new J;if(this._blockNode(b),this.code(D),g){const w=this.name("e");this._currNode=b.catch=new q(w),g(w)}return P&&(this._currNode=b.finally=new G,this.code(P)),this._endBlockNode(q,G)}throw(D){return this._leafNode(new p(D))}block(D,g){return this._blockStarts.push(this._nodes.length),D&&this.code(D).endBlock(g),this}endBlock(D){const g=this._blockStarts.pop();if(g===void 0)throw new Error("CodeGen: not in self-balancing block");const P=this._nodes.length-g;if(P<0||D!==void 0&&P!==D)throw new Error(`CodeGen: wrong number of nodes: ${P} vs ${D} expected`);return this._nodes.length=g,this}func(D,g=t.nil,P,b){return this._blockNode(new N(D,g,P)),b&&this.code(b).endFunc(),this}endFunc(){return this._endBlockNode(N)}optimize(D=1){for(;D-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(D){return this._currNode.nodes.push(D),this}_blockNode(D){this._currNode.nodes.push(D),this._nodes.push(D)}_endBlockNode(D,g){const P=this._currNode;if(P instanceof D||g&&P instanceof g)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${g?`${D.kind}/${g.kind}`:D.kind}"`)}_elseNode(D){const g=this._currNode;if(!(g instanceof m))throw new Error('CodeGen: "else" without "if"');return this._currNode=g.else=D,this}get _root(){return this._nodes[0]}get _currNode(){const D=this._nodes;return D[D.length-1]}set _currNode(D){const g=this._nodes;g[g.length-1]=D}}e.CodeGen=ee;function K(F,D){for(const g in D)F[g]=(F[g]||0)+(D[g]||0);return F}function ue(F,D){return D instanceof t._CodeOrName?K(F,D.names):F}function oe(F,D,g){if(F instanceof t.Name)return P(F);if(!b(F))return F;return new t._Code(F._items.reduce((w,I)=>(I instanceof t.Name&&(I=P(I)),I instanceof t._Code?w.push(...I._items):w.push(I),w),[]));function P(w){const I=g[w.str];return I===void 0||D[w.str]!==1?w:(delete D[w.str],I)}function b(w){return w instanceof t._Code&&w._items.some(I=>I instanceof t.Name&&D[I.str]===1&&g[I.str]!==void 0)}}function de(F,D){for(const g in D)F[g]=(F[g]||0)-(D[g]||0)}function he(F){return typeof F=="boolean"||typeof F=="number"||F===null?!F:(0,t._)`!${E(F)}`}e.not=he;const fe=O(e.operators.AND);function ge(...F){return F.reduce(fe)}e.and=ge;const pe=O(e.operators.OR);function z(...F){return F.reduce(pe)}e.or=z;function O(F){return(D,g)=>D===t.nil?g:g===t.nil?D:(0,t._)`${E(D)} ${F} ${E(g)}`}function E(F){return F instanceof t.Name?F:(0,t._)`(${F})`}})(st);var we={};Object.defineProperty(we,"__esModule",{value:!0});we.checkStrictMode=we.getErrorPath=we.Type=we.useFunc=we.setEvaluated=we.evaluatedPropsToName=we.mergeEvaluated=we.eachItem=we.unescapeJsonPointer=we.escapeJsonPointer=we.escapeFragment=we.unescapeFragment=we.schemaRefOrVal=we.schemaHasRulesButRef=we.schemaHasRules=we.checkUnknownRules=we.alwaysValidSchema=we.toHash=void 0;const yt=st,sQ=Ui;function oQ(e){const t={};for(const r of e)t[r]=!0;return t}we.toHash=oQ;function aQ(e,t){return typeof t=="boolean"?t:Object.keys(t).length===0?!0:(d9(e,t),!f9(t,e.self.RULES.all))}we.alwaysValidSchema=aQ;function d9(e,t=e.schema){const{opts:r,self:n}=e;if(!r.strictSchema||typeof t=="boolean")return;const u=n.RULES.keywords;for(const s in t)u[s]||m9(e,`unknown keyword: "${s}"`)}we.checkUnknownRules=d9;function f9(e,t){if(typeof e=="boolean")return!e;for(const r in e)if(t[r])return!0;return!1}we.schemaHasRules=f9;function iQ(e,t){if(typeof e=="boolean")return!e;for(const r in e)if(r!=="$ref"&&t.all[r])return!0;return!1}we.schemaHasRulesButRef=iQ;function cQ({topSchemaRef:e,schemaPath:t},r,n,u){if(!u){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,yt._)`${r}`}return(0,yt._)`${e}${t}${(0,yt.getProperty)(n)}`}we.schemaRefOrVal=cQ;function lQ(e){return D9(decodeURIComponent(e))}we.unescapeFragment=lQ;function pQ(e){return encodeURIComponent(kE(e))}we.escapeFragment=pQ;function kE(e){return typeof e=="number"?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}we.escapeJsonPointer=kE;function D9(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}we.unescapeJsonPointer=D9;function dQ(e,t){if(Array.isArray(e))for(const r of e)t(r);else t(e)}we.eachItem=dQ;function Bg({mergeNames:e,mergeToName:t,mergeValues:r,resultToName:n}){return(u,s,o,a)=>{const i=o===void 0?s:o instanceof yt.Name?(s instanceof yt.Name?e(u,s,o):t(u,s,o),o):s instanceof yt.Name?(t(u,o,s),s):r(s,o);return a===yt.Name&&!(i instanceof yt.Name)?n(u,i):i}}we.mergeEvaluated={props:Bg({mergeNames:(e,t,r)=>e.if((0,yt._)`${r} !== true && ${t} !== undefined`,()=>{e.if((0,yt._)`${t} === true`,()=>e.assign(r,!0),()=>e.assign(r,(0,yt._)`${r} || {}`).code((0,yt._)`Object.assign(${r}, ${t})`))}),mergeToName:(e,t,r)=>e.if((0,yt._)`${r} !== true`,()=>{t===!0?e.assign(r,!0):(e.assign(r,(0,yt._)`${r} || {}`),OE(e,r,t))}),mergeValues:(e,t)=>e===!0?!0:{...e,...t},resultToName:h9}),items:Bg({mergeNames:(e,t,r)=>e.if((0,yt._)`${r} !== true && ${t} !== undefined`,()=>e.assign(r,(0,yt._)`${t} === true ? true : ${r} > ${t} ? ${r} : ${t}`)),mergeToName:(e,t,r)=>e.if((0,yt._)`${r} !== true`,()=>e.assign(r,t===!0?!0:(0,yt._)`${r} > ${t} ? ${r} : ${t}`)),mergeValues:(e,t)=>e===!0?!0:Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})};function h9(e,t){if(t===!0)return e.var("props",!0);const r=e.var("props",(0,yt._)`{}`);return t!==void 0&&OE(e,r,t),r}we.evaluatedPropsToName=h9;function OE(e,t,r){Object.keys(r).forEach(n=>e.assign((0,yt._)`${t}${(0,yt.getProperty)(n)}`,!0))}we.setEvaluated=OE;const Tg={};function fQ(e,t){return e.scopeValue("func",{ref:t,code:Tg[t.code]||(Tg[t.code]=new sQ._Code(t.code))})}we.useFunc=fQ;var _h;(function(e){e[e.Num=0]="Num",e[e.Str=1]="Str"})(_h||(we.Type=_h={}));function DQ(e,t,r){if(e instanceof yt.Name){const n=t===_h.Num;return r?n?(0,yt._)`"[" + ${e} + "]"`:(0,yt._)`"['" + ${e} + "']"`:n?(0,yt._)`"/" + ${e}`:(0,yt._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,yt.getProperty)(e).toString():"/"+kE(e)}we.getErrorPath=DQ;function m9(e,t,r=e.opts.strictSchema){if(r){if(t=`strict mode: ${t}`,r===!0)throw new Error(t);e.self.logger.warn(t)}}we.checkStrictMode=m9;var nu={};Object.defineProperty(nu,"__esModule",{value:!0});const yr=st,hQ={data:new yr.Name("data"),valCxt:new yr.Name("valCxt"),instancePath:new yr.Name("instancePath"),parentData:new yr.Name("parentData"),parentDataProperty:new yr.Name("parentDataProperty"),rootData:new yr.Name("rootData"),dynamicAnchors:new yr.Name("dynamicAnchors"),vErrors:new yr.Name("vErrors"),errors:new yr.Name("errors"),this:new yr.Name("this"),self:new yr.Name("self"),scope:new yr.Name("scope"),json:new yr.Name("json"),jsonPos:new yr.Name("jsonPos"),jsonLen:new yr.Name("jsonLen"),jsonPart:new yr.Name("jsonPart")};nu.default=hQ;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.extendErrors=e.resetErrorsCount=e.reportExtraError=e.reportError=e.keyword$DataError=e.keywordError=void 0;const t=st,r=we,n=nu;e.keywordError={message:({keyword:A})=>(0,t.str)`must pass "${A}" keyword validation`},e.keyword$DataError={message:({keyword:A,schemaType:m})=>m?(0,t.str)`"${A}" keyword must be ${m} ($data)`:(0,t.str)`"${A}" keyword is invalid ($data)`};function u(A,m=e.keywordError,v,C){const{it:B}=A,{gen:T,compositeRule:N,allErrors:R}=B,J=p(A,m,v);C??(N||R)?i(T,J):c(B,(0,t._)`[${J}]`)}e.reportError=u;function s(A,m=e.keywordError,v){const{it:C}=A,{gen:B,compositeRule:T,allErrors:N}=C,R=p(A,m,v);i(B,R),T||N||c(C,n.default.vErrors)}e.reportExtraError=s;function o(A,m){A.assign(n.default.errors,m),A.if((0,t._)`${n.default.vErrors} !== null`,()=>A.if(m,()=>A.assign((0,t._)`${n.default.vErrors}.length`,m),()=>A.assign(n.default.vErrors,null)))}e.resetErrorsCount=o;function a({gen:A,keyword:m,schemaValue:v,data:C,errsCount:B,it:T}){if(B===void 0)throw new Error("ajv implementation error");const N=A.name("err");A.forRange("i",B,n.default.errors,R=>{A.const(N,(0,t._)`${n.default.vErrors}[${R}]`),A.if((0,t._)`${N}.instancePath === undefined`,()=>A.assign((0,t._)`${N}.instancePath`,(0,t.strConcat)(n.default.instancePath,T.errorPath))),A.assign((0,t._)`${N}.schemaPath`,(0,t.str)`${T.errSchemaPath}/${m}`),T.opts.verbose&&(A.assign((0,t._)`${N}.schema`,v),A.assign((0,t._)`${N}.data`,C))})}e.extendErrors=a;function i(A,m){const v=A.const("err",m);A.if((0,t._)`${n.default.vErrors} === null`,()=>A.assign(n.default.vErrors,(0,t._)`[${v}]`),(0,t._)`${n.default.vErrors}.push(${v})`),A.code((0,t._)`${n.default.errors}++`)}function c(A,m){const{gen:v,validateName:C,schemaEnv:B}=A;B.$async?v.throw((0,t._)`new ${A.ValidationError}(${m})`):(v.assign((0,t._)`${C}.errors`,m),v.return(!1))}const l={keyword:new t.Name("keyword"),schemaPath:new t.Name("schemaPath"),params:new t.Name("params"),propertyName:new t.Name("propertyName"),message:new t.Name("message"),schema:new t.Name("schema"),parentSchema:new t.Name("parentSchema")};function p(A,m,v){const{createErrors:C}=A.it;return C===!1?(0,t._)`{}`:d(A,m,v)}function d(A,m,v={}){const{gen:C,it:B}=A,T=[f(B,v),h(A,v)];return y(A,m,T),C.object(...T)}function f({errorPath:A},{instancePath:m}){const v=m?(0,t.str)`${A}${(0,r.getErrorPath)(m,r.Type.Str)}`:A;return[n.default.instancePath,(0,t.strConcat)(n.default.instancePath,v)]}function h({keyword:A,it:{errSchemaPath:m}},{schemaPath:v,parentSchema:C}){let B=C?m:(0,t.str)`${m}/${A}`;return v&&(B=(0,t.str)`${B}${(0,r.getErrorPath)(v,r.Type.Str)}`),[l.schemaPath,B]}function y(A,{params:m,message:v},C){const{keyword:B,data:T,schemaValue:N,it:R}=A,{opts:J,propertyName:q,topSchemaRef:G,schemaPath:ee}=R;C.push([l.keyword,B],[l.params,typeof m=="function"?m(A):m||(0,t._)`{}`]),J.messages&&C.push([l.message,typeof v=="function"?v(A):v]),J.verbose&&C.push([l.schema,N],[l.parentSchema,(0,t._)`${G}${ee}`],[n.default.data,T]),q&&C.push([l.propertyName,q])}})(cc);Object.defineProperty(ya,"__esModule",{value:!0});ya.boolOrEmptySchema=ya.topBoolOrEmptySchema=void 0;const mQ=cc,EQ=st,yQ=nu,vQ={message:"boolean schema is false"};function gQ(e){const{gen:t,schema:r,validateName:n}=e;r===!1?E9(e,!1):typeof r=="object"&&r.$async===!0?t.return(yQ.default.data):(t.assign((0,EQ._)`${n}.errors`,null),t.return(!0))}ya.topBoolOrEmptySchema=gQ;function AQ(e,t){const{gen:r,schema:n}=e;n===!1?(r.var(t,!1),E9(e)):r.var(t,!0)}ya.boolOrEmptySchema=AQ;function E9(e,t){const{gen:r,data:n}=e,u={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,mQ.reportError)(u,vQ,void 0,t)}var Yt={},Qs={};Object.defineProperty(Qs,"__esModule",{value:!0});Qs.getRules=Qs.isJSONType=void 0;const FQ=["string","number","integer","boolean","null","object","array"],CQ=new Set(FQ);function bQ(e){return typeof e=="string"&&CQ.has(e)}Qs.isJSONType=bQ;function SQ(){const e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}Qs.getRules=SQ;var Cu={};Object.defineProperty(Cu,"__esModule",{value:!0});Cu.shouldUseRule=Cu.shouldUseGroup=Cu.schemaHasRulesForType=void 0;function wQ({schema:e,self:t},r){const n=t.RULES.types[r];return n&&n!==!0&&y9(e,n)}Cu.schemaHasRulesForType=wQ;function y9(e,t){return t.rules.some(r=>v9(e,r))}Cu.shouldUseGroup=y9;function v9(e,t){var r;return e[t.keyword]!==void 0||((r=t.definition.implements)===null||r===void 0?void 0:r.some(n=>e[n]!==void 0))}Cu.shouldUseRule=v9;Object.defineProperty(Yt,"__esModule",{value:!0});Yt.reportTypeError=Yt.checkDataTypes=Yt.checkDataType=Yt.coerceAndCheckDataType=Yt.getJSONTypes=Yt.getSchemaTypes=Yt.DataType=void 0;const _Q=Qs,BQ=Cu,TQ=cc,Ze=st,g9=we;var aa;(function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong"})(aa||(Yt.DataType=aa={}));function $Q(e){const t=A9(e.type);if(t.includes("null")){if(e.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!t.length&&e.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');e.nullable===!0&&t.push("null")}return t}Yt.getSchemaTypes=$Q;function A9(e){const t=Array.isArray(e)?e:e?[e]:[];if(t.every(_Q.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}Yt.getJSONTypes=A9;function PQ(e,t){const{gen:r,data:n,opts:u}=e,s=kQ(t,u.coerceTypes),o=t.length>0&&!(s.length===0&&t.length===1&&(0,BQ.schemaHasRulesForType)(e,t[0]));if(o){const a=IE(t,n,u.strictNumbers,aa.Wrong);r.if(a,()=>{s.length?OQ(e,t,s):NE(e)})}return o}Yt.coerceAndCheckDataType=PQ;const F9=new Set(["string","number","integer","boolean","null"]);function kQ(e,t){return t?e.filter(r=>F9.has(r)||t==="array"&&r==="array"):[]}function OQ(e,t,r){const{gen:n,data:u,opts:s}=e,o=n.let("dataType",(0,Ze._)`typeof ${u}`),a=n.let("coerced",(0,Ze._)`undefined`);s.coerceTypes==="array"&&n.if((0,Ze._)`${o} == 'object' && Array.isArray(${u}) && ${u}.length == 1`,()=>n.assign(u,(0,Ze._)`${u}[0]`).assign(o,(0,Ze._)`typeof ${u}`).if(IE(t,u,s.strictNumbers),()=>n.assign(a,u))),n.if((0,Ze._)`${a} !== undefined`);for(const c of r)(F9.has(c)||c==="array"&&s.coerceTypes==="array")&&i(c);n.else(),NE(e),n.endIf(),n.if((0,Ze._)`${a} !== undefined`,()=>{n.assign(u,a),IQ(e,a)});function i(c){switch(c){case"string":n.elseIf((0,Ze._)`${o} == "number" || ${o} == "boolean"`).assign(a,(0,Ze._)`"" + ${u}`).elseIf((0,Ze._)`${u} === null`).assign(a,(0,Ze._)`""`);return;case"number":n.elseIf((0,Ze._)`${o} == "boolean" || ${u} === null +`,r)}},sectionIndex:0};function _E(e){var t=e.content,r=e.onContent,n=e.components,u=e.parsers,s=e.joiners,o=e.decorators,a=e.sectionIndex,i=e.verbose,c=i===void 0?!1:i,l=c9(e,yZ),p=(0,li.useMemo)(function(){return Bs(Bs({},Nl.components),n)},[]),d=p.document,f=Bs(Bs({},Nl.options),l.options),h=Bs(Bs({},Nl.handlers),l.handlers);(0,li.useEffect)(function(){c&&console.log("EditableContent First Render")},[]),(0,$f.useDeepCompareEffect)(function(){(0,fZ.addArrowKeyNavigationToContenteditableElements)()},[f,t]);var y=(0,DZ.default)({content:t,parsers:u,options:f}),A=(0,$f.useDeepCompareCallback)(function(C,B){var T=gZ(y);T[B]=C;var N=T.join(s.section);r(N)},[y,r]),m=(0,$f.useDeepCompareMemo)(function(){var C,B=(0,hZ.isRtl)(t)?"rtl":"";return C=y.map(function(T,N){var R={content:T,onContent:function(q){A(q,N)},onInput:l==null?void 0:l.onInput,show:!f.sectionable||a===-1||N===a,onShow:function(){h.onSectionClick({content:T,index:N})},index:N,components:p,options:f,parsers:u,joiners:s,handlers:h,decorators:o,dir:B,verbose:c};return li.default.createElement(mZ.default,Li({key:N},R))}),C},[y,f,u,s,o,h,a]),v=Bs({content:t,className:f.preview?"preview":""},l);return li.default.createElement(d,Li({key:"1"},v),m)}_E.propTypes={content:gt.default.string.isRequired,onContent:gt.default.func,onInput:gt.default.func,options:gt.default.shape({sectionable:gt.default.bool,blockable:gt.default.bool,editable:gt.default.bool,preview:gt.default.bool}),components:gt.default.shape({document:gt.default.func,section:gt.default.func,sectionHeading:gt.default.func,sectionBody:gt.default.func,block:gt.default.func}),parsers:gt.default.shape({section:gt.default.func,block:gt.default.func}),joiners:gt.default.shape({section:gt.default.string,block:gt.default.string}),decorators:gt.default.object,handlers:gt.default.shape({onSectionClick:gt.default.func,onBlockClick:gt.default.func}),sectionIndex:gt.default.number,verbose:gt.default.bool};_E.defaultProps=Nl;var sd={};Object.defineProperty(sd,"__esModule",{value:!0});sd.segmenter=void 0;function TZ(e){return OZ(e)||kZ(e)||PZ(e)||$Z()}function $Z(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function PZ(e,t){if(e){if(typeof e=="string")return vh(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return vh(e,t)}}function kZ(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function OZ(e){if(Array.isArray(e))return vh(e)}function vh(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);re.length)&&(t=e.length);for(var r=0,n=new Array(t);r0){var d=n.pop(),f=d.dataset.type==="graft",h=Vu(d.classList).includes("title"),y=Vu(d.classList).includes("introduction");f&&!h&&!y?p=[].concat(Vu(p),[d]):(n=[].concat(Vu(n),[d]),l=!1)}else l=!1;r=[].concat(Vu(r),[n]),n=Vu(p.reverse())}}return n=[].concat(Vu(n),[u]),!0}),r=[].concat(Vu(r),[n]),n=[],r.map(function(u){return u.map(function(s){return s.outerHTML}).join(` +`)})}}var $E={};function Ah(e){"@babel/helpers - typeof";return Ah=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ah(e)}Object.defineProperty($E,"__esModule",{value:!0});$E.default=HZ;var wg=UZ(ft),LZ=["nodes","children","content","className","verbose"];function l9(e){if(typeof WeakMap!="function")return null;var t=new WeakMap,r=new WeakMap;return(l9=function(u){return u?r:t})(e)}function UZ(e,t){if(e&&e.__esModule)return e;if(e===null||Ah(e)!=="object"&&typeof e!="function")return{default:e};var r=l9(t);if(r&&r.has(e))return r.get(e);var n={},u=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if(s!=="default"&&Object.prototype.hasOwnProperty.call(e,s)){var o=u?Object.getOwnPropertyDescriptor(e,s):null;o&&(o.get||o.set)?Object.defineProperty(n,s,o):n[s]=e[s]}return n.default=e,r&&r.set(e,n),n}function Fh(){return Fh=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function VZ(e,t){if(e==null)return{};var r={},n=Object.keys(e),u,s;for(s=0;s=0)&&(r[u]=e[u]);return r}function HZ(e){var t=e.nodes,r=t===void 0?{}:t,n=e.children;e.content;var u=e.className,s=e.verbose;GZ(e,LZ),(0,wg.useEffect)(function(){return s&&console.log("Document: Mount/First Render"),function(){s&&console.log("Document: UnMount/Destroyed")}},[]);var o=r.sequence(),a=o.dataset,i=o.className;return wg.default.createElement("section",Fh({id:"sequence",className:"".concat(i," ").concat(u)},a),n)}function Ch(e){"@babel/helpers - typeof";return Ch=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ch(e)}Object.defineProperty(td,"__esModule",{value:!0});td.default=PE;var Pf=ZZ(ft),bt=ic(Pu),WZ=Q7,JZ=ic(BE),zZ=ic(TE),KZ=ic($E),XZ=ic(ac),YZ=["htmlSequence","onHtmlSequence","options","components","parsers","joiners","decorators","handlers","sectionIndex","verbose"];function ic(e){return e&&e.__esModule?e:{default:e}}function p9(e){if(typeof WeakMap!="function")return null;var t=new WeakMap,r=new WeakMap;return(p9=function(u){return u?r:t})(e)}function ZZ(e,t){if(e&&e.__esModule)return e;if(e===null||Ch(e)!=="object"&&typeof e!="function")return{default:e};var r=p9(t);if(r&&r.has(e))return r.get(e);var n={},u=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if(s!=="default"&&Object.prototype.hasOwnProperty.call(e,s)){var o=u?Object.getOwnPropertyDescriptor(e,s):null;o&&(o.get||o.set)?Object.defineProperty(n,s,o):n[s]=e[s]}return n.default=e,r&&r.set(e,n),n}function bh(){return bh=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function tQ(e,t){if(e==null)return{};var r={},n=Object.keys(e),u,s;for(s=0;s=0)&&(r[u]=e[u]);return r}var Sh={decorators:{chapter:[/\\c\s+(\d*)/g,'$1'],verses:[/\\v\s+(\d*)/g,'$1']},joiners:{section:"",block:""}};function PE(e){var t=e.htmlSequence,r=e.onHtmlSequence,n=e.options,u=e.components,s=e.parsers,o=e.joiners,a=e.decorators,i=e.handlers,c=e.sectionIndex,l=e.verbose,p=l===void 0?!1:l,d=eQ(e,YZ),f=pu(pu({},Sh.decorators),a),h=pu(pu({},Sh.joiners),o);(0,Pf.useEffect)(function(){return p&&console.log("PerfEditor First Render"),function(){p&&console.log("PerfEditor Unmount")}},[]);var y=new DOMParser,A=y.parseFromString(t,"text/html"),m={sequence:function(){return A.getElementsByTagName("section")[0]}},v=pu({returnHtml:!0},n),C=pu({section:(0,zZ.default)({nodes:m}),block:JZ.default},s),B=pu({document:function(J){return(0,KZ.default)(pu({nodes:m,verbose:p},J))},sectionHeading:XZ.default},u),T=function(J){m.sequence().innerHTML=J,r(m.sequence().outerHTML)},N=pu({content:m.sequence().innerHTML,onContent:T,options:v,components:B,parsers:C,joiners:h,decorators:f,handlers:i,sectionIndex:c,verbose:p},d);return Pf.default.createElement("div",{className:"perf",key:"1"},Pf.default.createElement(WZ.EditableContent,bh({key:"1"},N)))}PE.propTypes={htmlSequence:bt.default.string.isRequired,onHtmlSequence:bt.default.func,options:bt.default.shape({sectionable:bt.default.bool,blockable:bt.default.bool,editable:bt.default.bool,preview:bt.default.bool}),components:bt.default.shape({document:bt.default.func,section:bt.default.func,sectionHeading:bt.default.func,sectionBody:bt.default.func,block:bt.default.func}),parsers:bt.default.shape({section:bt.default.func,block:bt.default.func}),joiners:bt.default.shape({section:bt.default.string,block:bt.default.string}),decorators:bt.default.object,handlers:bt.default.shape({onSectionClick:bt.default.func,onBlockClick:bt.default.func}),sectionIndex:bt.default.number,verbose:bt.default.bool};PE.defaultProps=Sh;var Bg;function d9(){if(Bg)return el;Bg=1;function e(G){"@babel/helpers - typeof";return e=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(ee){return typeof ee}:function(ee){return ee&&typeof Symbol=="function"&&ee.constructor===Symbol&&ee!==Symbol.prototype?"symbol":typeof ee},e(G)}Object.defineProperty(el,"__esModule",{value:!0}),el.default=q;var t=f(ft),r=p(Pu),n=Qp,u=p(WX),s=Kn,o=fa,a=p(ac),i=p(aY()),c=p(td),l=["htmlPerf","onHtmlPerf","sequenceIds","addSequenceId","options","components","handlers"];function p(G){return G&&G.__esModule?G:{default:G}}function d(G){if(typeof WeakMap!="function")return null;var ee=new WeakMap,K=new WeakMap;return(d=function(oe){return oe?K:ee})(G)}function f(G,ee){if(G&&G.__esModule)return G;if(G===null||e(G)!=="object"&&typeof G!="function")return{default:G};var K=d(ee);if(K&&K.has(G))return K.get(G);var ue={},oe=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var de in G)if(de!=="default"&&Object.prototype.hasOwnProperty.call(G,de)){var he=oe?Object.getOwnPropertyDescriptor(G,de):null;he&&(he.get||he.set)?Object.defineProperty(ue,de,he):ue[de]=G[de]}return ue.default=G,K&&K.set(G,ue),ue}function h(G,ee){var K=Object.keys(G);if(Object.getOwnPropertySymbols){var ue=Object.getOwnPropertySymbols(G);ee&&(ue=ue.filter(function(oe){return Object.getOwnPropertyDescriptor(G,oe).enumerable})),K.push.apply(K,ue)}return K}function y(G){for(var ee=1;eeG.length)&&(ee=G.length);for(var K=0,ue=new Array(ee);K=0)&&Object.prototype.propertyIsEnumerable.call(G,ue)&&(K[ue]=G[ue])}return K}function J(G,ee){if(G==null)return{};var K={},ue=Object.keys(G),oe,de;for(de=0;de=0)&&(K[oe]=G[oe]);return K}function q(G){var ee=G.htmlPerf,K=G.onHtmlPerf,ue=G.sequenceIds,oe=G.addSequenceId,de=G.options,he=G.components,fe=G.handlers,ge=R(G,l),pe=(0,t.useState)({}),z=m(pe,2),O=z[0],E=z[1],F=ue.at(-1),D=y({sectionHeading:a.default},he),g=(0,n.useDeepCompareMemo)(function(){return(0,s.embedPreviewTextInGrafts)({htmlPerf:ee,sequenceId:F})},[ee,F]),P=(0,t.useMemo)(function(){return(0,o.getTypeFromSequenceHtml)({htmlSequence:g})},[g]),b=(0,n.useDeepCompareMemo)(function(){return O[F]||0},[O,F]),w=(0,n.useDeepCompareCallback)(function(L){L.content;var Y=L.index,be=y({},O);be[F]=Y,E(be)},[E,O]),I=(0,t.useCallback)(function(L){var Y;L.content;var be=L.element,Ne=be==null||(Y=be.dataset)===null||Y===void 0?void 0:Y.target;Ne&&oe(Ne)},[oe]),$=(0,n.useDeepCompareCallback)(function(L){var Y=g!==L;if(Y){var be=structuredClone(ee);be.sequencesHtml[F]=L;var Ne=!(0,u.default)(ee,be);if(Ne){var Ve=(0,s.removePreviewTextInGrafts)({htmlPerf:be,sequenceId:F});K(Ve,{sequenceId:F,htmlSequence:L})}}},[ee,K,g,F]),M=y({htmlSequence:g,onHtmlSequence:$,components:y(y({},D),{},{sectionHeading:function(Y){return D.sectionHeading(y({type:P},Y))},block:function(Y){return(0,i.default)(y({htmlPerf:ee,onHtmlPerf:K,sequenceIds:ue,addSequenceId:oe},Y))}}),options:de,handlers:y({onSectionClick:w,onBlockClick:I},fe),decorators:{},sectionIndex:b},ge);return t.default.createElement(c.default,M)}return q.propTypes={htmlPerf:r.default.object.isRequired,onHtmlPerf:r.default.func,options:r.default.shape({sectionable:r.default.bool,blockable:r.default.bool,editable:r.default.bool,preview:r.default.bool}),components:r.default.shape({document:r.default.func,section:r.default.func,sectionHeading:r.default.func,sectionBody:r.default.func,block:r.default.func}),parsers:r.default.shape({section:r.default.func,block:r.default.func}),joiners:r.default.shape({section:r.default.string,block:r.default.string}),decorators:r.default.object,handlers:r.default.shape({onSectionClick:r.default.func,onBlockClick:r.default.func}),sectionIndex:r.default.number,verbose:r.default.bool},q.defaultProps={sequenceIds:[]},el}(function(e){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"HtmlPerfEditor",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"HtmlSequenceEditor",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(e,"SectionHeading",{enumerable:!0,get:function(){return n.default}});var t=u(d9()),r=u(td),n=u(ac);function u(s){return s&&s.__esModule?s:{default:s}}})(lE);const rQ=({content:e})=>{var n;const t=document.createElement("div");t.innerHTML=e;const{target:r}=((n=t.firstChild)==null?void 0:n.dataset)||{};return r};function nQ({htmlPerf:e,onHtmlPerf:t,sequenceIds:r,addSequenceId:n,options:u,content:s,contentEditable:o,...a}){let i;const c=!!s.match(/data-type="paragraph"/);if(c&&(i=It.jsx("div",{className:"editor-paragraph",contentEditable:o,...a})),!c){const l=rQ({content:s});if(l&&!u.preview){const p={sequenceIds:[...r,l],addSequenceId:n,htmlPerf:e,onHtmlPerf:t,options:u};i=It.jsx(lE.HtmlPerfEditor,{...p})}i||(i=It.jsx("div",{...a,contentEditable:!1}))}return It.jsx(It.Fragment,{children:i})}function uQ(){return It.jsx("div",{className:"h-full w-full items-center justify-center flex",children:It.jsxs("svg",{className:"animate-spin h-10 w-10",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[It.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),It.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})})}function sQ(e){const{sequenceIds:t,htmlPerf:r,sectionable:n,blockable:u,editable:s,preview:o,verbose:a,addSequenceId:i}=e,c=t.at(-1),l={onBlockClick:({element:f})=>{Hh.postMessage({type:V8.BLOCK_CLICK,payload:{action:"click"}});const{tagName:h}=f;h==="SPAN"&&console.log("onBlockClick",{element:f})}};function p(f){console.log({htmlPerf:f})}const d={htmlPerf:r,onHtmlPerf:p,sequenceIds:t,addSequenceId:i,components:{block:f=>nQ({htmlPerf:r,onHtmlPerf:p,sequenceIds:t,addSequenceId:i,...f})},options:{sectionable:n,blockable:u,editable:s,preview:o},decorators:{},verbose:a,handlers:l};return It.jsx("div",{style:{fontFamily:"roboto",fontSize:"1rem",direction:"ltr",textAlign:"left"},children:It.jsxs("div",{id:"bibleRefEditor",className:"bibleRefEditor",children:[!c&&It.jsx(uQ,{}),c&&It.jsx(lE.HtmlPerfEditor,{...d})]})})}const oQ=e=>({"*":{"*":{tagName:"span"},sequence:{tagName:"section"}},wrapper:{"*":{tagName:"wrapper"},sequence:{tagName:"section"}},paragraph:{"*":{tagName:"p"},"usfm:mt":{classList:["major-title","paragraph","mt","hidden"],tagName:"h2",attributes:{contenteditable:!1}},"usfm:ms":{classList:["major-section-heading","paragraph","ms"],tagName:"h3",attributes:{contenteditable:!1}}},mark:{"*":{tagName:"span"},chapter:({atts:t})=>t?(e.lastChapter=t.number,{classList:["mark","chapter",`chapter-${t.number}`],id:`ch-${t.number}`,tagName:"span"}):{tagName:"span"},verses:({atts:t})=>({classList:t?["mark","verse",`verse-${t.number}`]:void 0,id:t?`ch${e.lastChapter}v${t.number}`:void 0,tagName:"span",attributes:{contenteditable:!1}})},graft:{heading:{tagName:"div"},title:{tagName:"div"},introduction:{tagName:"div"}}}),sl=oQ({});var kE={},od={},wh={exports:{}},f9={},$n={},ya={},cc={},st={},Ui={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.regexpCode=e.getEsmExportName=e.getProperty=e.safeStringify=e.stringify=e.strConcat=e.addCodeArg=e.str=e._=e.nil=e._Code=e.Name=e.IDENTIFIER=e._CodeOrName=void 0;class t{}e._CodeOrName=t,e.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class r extends t{constructor(v){if(super(),!e.IDENTIFIER.test(v))throw new Error("CodeGen: name must be a valid identifier");this.str=v}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}e.Name=r;class n extends t{constructor(v){super(),this._items=typeof v=="string"?[v]:v}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;const v=this._items[0];return v===""||v==='""'}get str(){var v;return(v=this._str)!==null&&v!==void 0?v:this._str=this._items.reduce((C,B)=>`${C}${B}`,"")}get names(){var v;return(v=this._names)!==null&&v!==void 0?v:this._names=this._items.reduce((C,B)=>(B instanceof r&&(C[B.str]=(C[B.str]||0)+1),C),{})}}e._Code=n,e.nil=new n("");function u(m,...v){const C=[m[0]];let B=0;for(;B{if(p.scopePath===void 0)throw new Error(`CodeGen: name "${p}" has no value`);return(0,t._)`${c}${p.scopePath}`})}scopeCode(c=this._values,l,p){return this._reduceValues(c,d=>{if(d.value===void 0)throw new Error(`CodeGen: name "${d}" has no value`);return d.value.code},l,p)}_reduceValues(c,l,p={},d){let f=t.nil;for(const h in c){const y=c[h];if(!y)continue;const A=p[h]=p[h]||new Map;y.forEach(m=>{if(A.has(m))return;A.set(m,n.Started);let v=l(m);if(v){const C=this.opts.es5?e.varKinds.var:e.varKinds.const;f=(0,t._)`${f}${C} ${m} = ${v};${this.opts._n}`}else if(v=d==null?void 0:d(m))f=(0,t._)`${f}${v}${this.opts._n}`;else throw new r(m);A.set(m,n.Completed)})}return f}}e.ValueScope=a})(_h);(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.or=e.and=e.not=e.CodeGen=e.operators=e.varKinds=e.ValueScopeName=e.ValueScope=e.Scope=e.Name=e.regexpCode=e.stringify=e.getProperty=e.nil=e.strConcat=e.str=e._=void 0;const t=Ui,r=_h;var n=Ui;Object.defineProperty(e,"_",{enumerable:!0,get:function(){return n._}}),Object.defineProperty(e,"str",{enumerable:!0,get:function(){return n.str}}),Object.defineProperty(e,"strConcat",{enumerable:!0,get:function(){return n.strConcat}}),Object.defineProperty(e,"nil",{enumerable:!0,get:function(){return n.nil}}),Object.defineProperty(e,"getProperty",{enumerable:!0,get:function(){return n.getProperty}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return n.stringify}}),Object.defineProperty(e,"regexpCode",{enumerable:!0,get:function(){return n.regexpCode}}),Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return n.Name}});var u=_h;Object.defineProperty(e,"Scope",{enumerable:!0,get:function(){return u.Scope}}),Object.defineProperty(e,"ValueScope",{enumerable:!0,get:function(){return u.ValueScope}}),Object.defineProperty(e,"ValueScopeName",{enumerable:!0,get:function(){return u.ValueScopeName}}),Object.defineProperty(e,"varKinds",{enumerable:!0,get:function(){return u.varKinds}}),e.operators={GT:new t._Code(">"),GTE:new t._Code(">="),LT:new t._Code("<"),LTE:new t._Code("<="),EQ:new t._Code("==="),NEQ:new t._Code("!=="),NOT:new t._Code("!"),OR:new t._Code("||"),AND:new t._Code("&&"),ADD:new t._Code("+")};class s{optimizeNodes(){return this}optimizeNames(D,g){return this}}class o extends s{constructor(D,g,P){super(),this.varKind=D,this.name=g,this.rhs=P}render({es5:D,_n:g}){const P=D?r.varKinds.var:this.varKind,b=this.rhs===void 0?"":` = ${this.rhs}`;return`${P} ${this.name}${b};`+g}optimizeNames(D,g){if(D[this.name.str])return this.rhs&&(this.rhs=oe(this.rhs,D,g)),this}get names(){return this.rhs instanceof t._CodeOrName?this.rhs.names:{}}}class a extends s{constructor(D,g,P){super(),this.lhs=D,this.rhs=g,this.sideEffects=P}render({_n:D}){return`${this.lhs} = ${this.rhs};`+D}optimizeNames(D,g){if(!(this.lhs instanceof t.Name&&!D[this.lhs.str]&&!this.sideEffects))return this.rhs=oe(this.rhs,D,g),this}get names(){const D=this.lhs instanceof t.Name?{}:{...this.lhs.names};return ue(D,this.rhs)}}class i extends a{constructor(D,g,P,b){super(D,P,b),this.op=g}render({_n:D}){return`${this.lhs} ${this.op}= ${this.rhs};`+D}}class c extends s{constructor(D){super(),this.label=D,this.names={}}render({_n:D}){return`${this.label}:`+D}}class l extends s{constructor(D){super(),this.label=D,this.names={}}render({_n:D}){return`break${this.label?` ${this.label}`:""};`+D}}class p extends s{constructor(D){super(),this.error=D}render({_n:D}){return`throw ${this.error};`+D}get names(){return this.error.names}}class d extends s{constructor(D){super(),this.code=D}render({_n:D}){return`${this.code};`+D}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(D,g){return this.code=oe(this.code,D,g),this}get names(){return this.code instanceof t._CodeOrName?this.code.names:{}}}class f extends s{constructor(D=[]){super(),this.nodes=D}render(D){return this.nodes.reduce((g,P)=>g+P.render(D),"")}optimizeNodes(){const{nodes:D}=this;let g=D.length;for(;g--;){const P=D[g].optimizeNodes();Array.isArray(P)?D.splice(g,1,...P):P?D[g]=P:D.splice(g,1)}return D.length>0?this:void 0}optimizeNames(D,g){const{nodes:P}=this;let b=P.length;for(;b--;){const w=P[b];w.optimizeNames(D,g)||(de(D,w.names),P.splice(b,1))}return P.length>0?this:void 0}get names(){return this.nodes.reduce((D,g)=>K(D,g.names),{})}}class h extends f{render(D){return"{"+D._n+super.render(D)+"}"+D._n}}class y extends f{}class A extends h{}A.kind="else";class m extends h{constructor(D,g){super(g),this.condition=D}render(D){let g=`if(${this.condition})`+super.render(D);return this.else&&(g+="else "+this.else.render(D)),g}optimizeNodes(){super.optimizeNodes();const D=this.condition;if(D===!0)return this.nodes;let g=this.else;if(g){const P=g.optimizeNodes();g=this.else=Array.isArray(P)?new A(P):P}if(g)return D===!1?g instanceof m?g:g.nodes:this.nodes.length?this:new m(he(D),g instanceof m?[g]:g.nodes);if(!(D===!1||!this.nodes.length))return this}optimizeNames(D,g){var P;if(this.else=(P=this.else)===null||P===void 0?void 0:P.optimizeNames(D,g),!!(super.optimizeNames(D,g)||this.else))return this.condition=oe(this.condition,D,g),this}get names(){const D=super.names;return ue(D,this.condition),this.else&&K(D,this.else.names),D}}m.kind="if";class v extends h{}v.kind="for";class C extends v{constructor(D){super(),this.iteration=D}render(D){return`for(${this.iteration})`+super.render(D)}optimizeNames(D,g){if(super.optimizeNames(D,g))return this.iteration=oe(this.iteration,D,g),this}get names(){return K(super.names,this.iteration.names)}}class B extends v{constructor(D,g,P,b){super(),this.varKind=D,this.name=g,this.from=P,this.to=b}render(D){const g=D.es5?r.varKinds.var:this.varKind,{name:P,from:b,to:w}=this;return`for(${g} ${P}=${b}; ${P}<${w}; ${P}++)`+super.render(D)}get names(){const D=ue(super.names,this.from);return ue(D,this.to)}}class T extends v{constructor(D,g,P,b){super(),this.loop=D,this.varKind=g,this.name=P,this.iterable=b}render(D){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(D)}optimizeNames(D,g){if(super.optimizeNames(D,g))return this.iterable=oe(this.iterable,D,g),this}get names(){return K(super.names,this.iterable.names)}}class N extends h{constructor(D,g,P){super(),this.name=D,this.args=g,this.async=P}render(D){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(D)}}N.kind="func";class R extends f{render(D){return"return "+super.render(D)}}R.kind="return";class J extends h{render(D){let g="try"+super.render(D);return this.catch&&(g+=this.catch.render(D)),this.finally&&(g+=this.finally.render(D)),g}optimizeNodes(){var D,g;return super.optimizeNodes(),(D=this.catch)===null||D===void 0||D.optimizeNodes(),(g=this.finally)===null||g===void 0||g.optimizeNodes(),this}optimizeNames(D,g){var P,b;return super.optimizeNames(D,g),(P=this.catch)===null||P===void 0||P.optimizeNames(D,g),(b=this.finally)===null||b===void 0||b.optimizeNames(D,g),this}get names(){const D=super.names;return this.catch&&K(D,this.catch.names),this.finally&&K(D,this.finally.names),D}}class q extends h{constructor(D){super(),this.error=D}render(D){return`catch(${this.error})`+super.render(D)}}q.kind="catch";class G extends h{render(D){return"finally"+super.render(D)}}G.kind="finally";class ee{constructor(D,g={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...g,_n:g.lines?` +`:""},this._extScope=D,this._scope=new r.Scope({parent:D}),this._nodes=[new y]}toString(){return this._root.render(this.opts)}name(D){return this._scope.name(D)}scopeName(D){return this._extScope.name(D)}scopeValue(D,g){const P=this._extScope.value(D,g);return(this._values[P.prefix]||(this._values[P.prefix]=new Set)).add(P),P}getScopeValue(D,g){return this._extScope.getValue(D,g)}scopeRefs(D){return this._extScope.scopeRefs(D,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(D,g,P,b){const w=this._scope.toName(g);return P!==void 0&&b&&(this._constants[w.str]=P),this._leafNode(new o(D,w,P)),w}const(D,g,P){return this._def(r.varKinds.const,D,g,P)}let(D,g,P){return this._def(r.varKinds.let,D,g,P)}var(D,g,P){return this._def(r.varKinds.var,D,g,P)}assign(D,g,P){return this._leafNode(new a(D,g,P))}add(D,g){return this._leafNode(new i(D,e.operators.ADD,g))}code(D){return typeof D=="function"?D():D!==t.nil&&this._leafNode(new d(D)),this}object(...D){const g=["{"];for(const[P,b]of D)g.length>1&&g.push(","),g.push(P),(P!==b||this.opts.es5)&&(g.push(":"),(0,t.addCodeArg)(g,b));return g.push("}"),new t._Code(g)}if(D,g,P){if(this._blockNode(new m(D)),g&&P)this.code(g).else().code(P).endIf();else if(g)this.code(g).endIf();else if(P)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(D){return this._elseNode(new m(D))}else(){return this._elseNode(new A)}endIf(){return this._endBlockNode(m,A)}_for(D,g){return this._blockNode(D),g&&this.code(g).endFor(),this}for(D,g){return this._for(new C(D),g)}forRange(D,g,P,b,w=this.opts.es5?r.varKinds.var:r.varKinds.let){const I=this._scope.toName(D);return this._for(new B(w,I,g,P),()=>b(I))}forOf(D,g,P,b=r.varKinds.const){const w=this._scope.toName(D);if(this.opts.es5){const I=g instanceof t.Name?g:this.var("_arr",g);return this.forRange("_i",0,(0,t._)`${I}.length`,$=>{this.var(w,(0,t._)`${I}[${$}]`),P(w)})}return this._for(new T("of",b,w,g),()=>P(w))}forIn(D,g,P,b=this.opts.es5?r.varKinds.var:r.varKinds.const){if(this.opts.ownProperties)return this.forOf(D,(0,t._)`Object.keys(${g})`,P);const w=this._scope.toName(D);return this._for(new T("in",b,w,g),()=>P(w))}endFor(){return this._endBlockNode(v)}label(D){return this._leafNode(new c(D))}break(D){return this._leafNode(new l(D))}return(D){const g=new R;if(this._blockNode(g),this.code(D),g.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(R)}try(D,g,P){if(!g&&!P)throw new Error('CodeGen: "try" without "catch" and "finally"');const b=new J;if(this._blockNode(b),this.code(D),g){const w=this.name("e");this._currNode=b.catch=new q(w),g(w)}return P&&(this._currNode=b.finally=new G,this.code(P)),this._endBlockNode(q,G)}throw(D){return this._leafNode(new p(D))}block(D,g){return this._blockStarts.push(this._nodes.length),D&&this.code(D).endBlock(g),this}endBlock(D){const g=this._blockStarts.pop();if(g===void 0)throw new Error("CodeGen: not in self-balancing block");const P=this._nodes.length-g;if(P<0||D!==void 0&&P!==D)throw new Error(`CodeGen: wrong number of nodes: ${P} vs ${D} expected`);return this._nodes.length=g,this}func(D,g=t.nil,P,b){return this._blockNode(new N(D,g,P)),b&&this.code(b).endFunc(),this}endFunc(){return this._endBlockNode(N)}optimize(D=1){for(;D-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(D){return this._currNode.nodes.push(D),this}_blockNode(D){this._currNode.nodes.push(D),this._nodes.push(D)}_endBlockNode(D,g){const P=this._currNode;if(P instanceof D||g&&P instanceof g)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${g?`${D.kind}/${g.kind}`:D.kind}"`)}_elseNode(D){const g=this._currNode;if(!(g instanceof m))throw new Error('CodeGen: "else" without "if"');return this._currNode=g.else=D,this}get _root(){return this._nodes[0]}get _currNode(){const D=this._nodes;return D[D.length-1]}set _currNode(D){const g=this._nodes;g[g.length-1]=D}}e.CodeGen=ee;function K(F,D){for(const g in D)F[g]=(F[g]||0)+(D[g]||0);return F}function ue(F,D){return D instanceof t._CodeOrName?K(F,D.names):F}function oe(F,D,g){if(F instanceof t.Name)return P(F);if(!b(F))return F;return new t._Code(F._items.reduce((w,I)=>(I instanceof t.Name&&(I=P(I)),I instanceof t._Code?w.push(...I._items):w.push(I),w),[]));function P(w){const I=g[w.str];return I===void 0||D[w.str]!==1?w:(delete D[w.str],I)}function b(w){return w instanceof t._Code&&w._items.some(I=>I instanceof t.Name&&D[I.str]===1&&g[I.str]!==void 0)}}function de(F,D){for(const g in D)F[g]=(F[g]||0)-(D[g]||0)}function he(F){return typeof F=="boolean"||typeof F=="number"||F===null?!F:(0,t._)`!${E(F)}`}e.not=he;const fe=O(e.operators.AND);function ge(...F){return F.reduce(fe)}e.and=ge;const pe=O(e.operators.OR);function z(...F){return F.reduce(pe)}e.or=z;function O(F){return(D,g)=>D===t.nil?g:g===t.nil?D:(0,t._)`${E(D)} ${F} ${E(g)}`}function E(F){return F instanceof t.Name?F:(0,t._)`(${F})`}})(st);var we={};Object.defineProperty(we,"__esModule",{value:!0});we.checkStrictMode=we.getErrorPath=we.Type=we.useFunc=we.setEvaluated=we.evaluatedPropsToName=we.mergeEvaluated=we.eachItem=we.unescapeJsonPointer=we.escapeJsonPointer=we.escapeFragment=we.unescapeFragment=we.schemaRefOrVal=we.schemaHasRulesButRef=we.schemaHasRules=we.checkUnknownRules=we.alwaysValidSchema=we.toHash=void 0;const yt=st,aQ=Ui;function iQ(e){const t={};for(const r of e)t[r]=!0;return t}we.toHash=iQ;function cQ(e,t){return typeof t=="boolean"?t:Object.keys(t).length===0?!0:(D9(e,t),!h9(t,e.self.RULES.all))}we.alwaysValidSchema=cQ;function D9(e,t=e.schema){const{opts:r,self:n}=e;if(!r.strictSchema||typeof t=="boolean")return;const u=n.RULES.keywords;for(const s in t)u[s]||y9(e,`unknown keyword: "${s}"`)}we.checkUnknownRules=D9;function h9(e,t){if(typeof e=="boolean")return!e;for(const r in e)if(t[r])return!0;return!1}we.schemaHasRules=h9;function lQ(e,t){if(typeof e=="boolean")return!e;for(const r in e)if(r!=="$ref"&&t.all[r])return!0;return!1}we.schemaHasRulesButRef=lQ;function pQ({topSchemaRef:e,schemaPath:t},r,n,u){if(!u){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,yt._)`${r}`}return(0,yt._)`${e}${t}${(0,yt.getProperty)(n)}`}we.schemaRefOrVal=pQ;function dQ(e){return m9(decodeURIComponent(e))}we.unescapeFragment=dQ;function fQ(e){return encodeURIComponent(OE(e))}we.escapeFragment=fQ;function OE(e){return typeof e=="number"?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}we.escapeJsonPointer=OE;function m9(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}we.unescapeJsonPointer=m9;function DQ(e,t){if(Array.isArray(e))for(const r of e)t(r);else t(e)}we.eachItem=DQ;function Tg({mergeNames:e,mergeToName:t,mergeValues:r,resultToName:n}){return(u,s,o,a)=>{const i=o===void 0?s:o instanceof yt.Name?(s instanceof yt.Name?e(u,s,o):t(u,s,o),o):s instanceof yt.Name?(t(u,o,s),s):r(s,o);return a===yt.Name&&!(i instanceof yt.Name)?n(u,i):i}}we.mergeEvaluated={props:Tg({mergeNames:(e,t,r)=>e.if((0,yt._)`${r} !== true && ${t} !== undefined`,()=>{e.if((0,yt._)`${t} === true`,()=>e.assign(r,!0),()=>e.assign(r,(0,yt._)`${r} || {}`).code((0,yt._)`Object.assign(${r}, ${t})`))}),mergeToName:(e,t,r)=>e.if((0,yt._)`${r} !== true`,()=>{t===!0?e.assign(r,!0):(e.assign(r,(0,yt._)`${r} || {}`),IE(e,r,t))}),mergeValues:(e,t)=>e===!0?!0:{...e,...t},resultToName:E9}),items:Tg({mergeNames:(e,t,r)=>e.if((0,yt._)`${r} !== true && ${t} !== undefined`,()=>e.assign(r,(0,yt._)`${t} === true ? true : ${r} > ${t} ? ${r} : ${t}`)),mergeToName:(e,t,r)=>e.if((0,yt._)`${r} !== true`,()=>e.assign(r,t===!0?!0:(0,yt._)`${r} > ${t} ? ${r} : ${t}`)),mergeValues:(e,t)=>e===!0?!0:Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})};function E9(e,t){if(t===!0)return e.var("props",!0);const r=e.var("props",(0,yt._)`{}`);return t!==void 0&&IE(e,r,t),r}we.evaluatedPropsToName=E9;function IE(e,t,r){Object.keys(r).forEach(n=>e.assign((0,yt._)`${t}${(0,yt.getProperty)(n)}`,!0))}we.setEvaluated=IE;const $g={};function hQ(e,t){return e.scopeValue("func",{ref:t,code:$g[t.code]||($g[t.code]=new aQ._Code(t.code))})}we.useFunc=hQ;var Bh;(function(e){e[e.Num=0]="Num",e[e.Str=1]="Str"})(Bh||(we.Type=Bh={}));function mQ(e,t,r){if(e instanceof yt.Name){const n=t===Bh.Num;return r?n?(0,yt._)`"[" + ${e} + "]"`:(0,yt._)`"['" + ${e} + "']"`:n?(0,yt._)`"/" + ${e}`:(0,yt._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,yt.getProperty)(e).toString():"/"+OE(e)}we.getErrorPath=mQ;function y9(e,t,r=e.opts.strictSchema){if(r){if(t=`strict mode: ${t}`,r===!0)throw new Error(t);e.self.logger.warn(t)}}we.checkStrictMode=y9;var nu={};Object.defineProperty(nu,"__esModule",{value:!0});const yr=st,EQ={data:new yr.Name("data"),valCxt:new yr.Name("valCxt"),instancePath:new yr.Name("instancePath"),parentData:new yr.Name("parentData"),parentDataProperty:new yr.Name("parentDataProperty"),rootData:new yr.Name("rootData"),dynamicAnchors:new yr.Name("dynamicAnchors"),vErrors:new yr.Name("vErrors"),errors:new yr.Name("errors"),this:new yr.Name("this"),self:new yr.Name("self"),scope:new yr.Name("scope"),json:new yr.Name("json"),jsonPos:new yr.Name("jsonPos"),jsonLen:new yr.Name("jsonLen"),jsonPart:new yr.Name("jsonPart")};nu.default=EQ;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.extendErrors=e.resetErrorsCount=e.reportExtraError=e.reportError=e.keyword$DataError=e.keywordError=void 0;const t=st,r=we,n=nu;e.keywordError={message:({keyword:A})=>(0,t.str)`must pass "${A}" keyword validation`},e.keyword$DataError={message:({keyword:A,schemaType:m})=>m?(0,t.str)`"${A}" keyword must be ${m} ($data)`:(0,t.str)`"${A}" keyword is invalid ($data)`};function u(A,m=e.keywordError,v,C){const{it:B}=A,{gen:T,compositeRule:N,allErrors:R}=B,J=p(A,m,v);C??(N||R)?i(T,J):c(B,(0,t._)`[${J}]`)}e.reportError=u;function s(A,m=e.keywordError,v){const{it:C}=A,{gen:B,compositeRule:T,allErrors:N}=C,R=p(A,m,v);i(B,R),T||N||c(C,n.default.vErrors)}e.reportExtraError=s;function o(A,m){A.assign(n.default.errors,m),A.if((0,t._)`${n.default.vErrors} !== null`,()=>A.if(m,()=>A.assign((0,t._)`${n.default.vErrors}.length`,m),()=>A.assign(n.default.vErrors,null)))}e.resetErrorsCount=o;function a({gen:A,keyword:m,schemaValue:v,data:C,errsCount:B,it:T}){if(B===void 0)throw new Error("ajv implementation error");const N=A.name("err");A.forRange("i",B,n.default.errors,R=>{A.const(N,(0,t._)`${n.default.vErrors}[${R}]`),A.if((0,t._)`${N}.instancePath === undefined`,()=>A.assign((0,t._)`${N}.instancePath`,(0,t.strConcat)(n.default.instancePath,T.errorPath))),A.assign((0,t._)`${N}.schemaPath`,(0,t.str)`${T.errSchemaPath}/${m}`),T.opts.verbose&&(A.assign((0,t._)`${N}.schema`,v),A.assign((0,t._)`${N}.data`,C))})}e.extendErrors=a;function i(A,m){const v=A.const("err",m);A.if((0,t._)`${n.default.vErrors} === null`,()=>A.assign(n.default.vErrors,(0,t._)`[${v}]`),(0,t._)`${n.default.vErrors}.push(${v})`),A.code((0,t._)`${n.default.errors}++`)}function c(A,m){const{gen:v,validateName:C,schemaEnv:B}=A;B.$async?v.throw((0,t._)`new ${A.ValidationError}(${m})`):(v.assign((0,t._)`${C}.errors`,m),v.return(!1))}const l={keyword:new t.Name("keyword"),schemaPath:new t.Name("schemaPath"),params:new t.Name("params"),propertyName:new t.Name("propertyName"),message:new t.Name("message"),schema:new t.Name("schema"),parentSchema:new t.Name("parentSchema")};function p(A,m,v){const{createErrors:C}=A.it;return C===!1?(0,t._)`{}`:d(A,m,v)}function d(A,m,v={}){const{gen:C,it:B}=A,T=[f(B,v),h(A,v)];return y(A,m,T),C.object(...T)}function f({errorPath:A},{instancePath:m}){const v=m?(0,t.str)`${A}${(0,r.getErrorPath)(m,r.Type.Str)}`:A;return[n.default.instancePath,(0,t.strConcat)(n.default.instancePath,v)]}function h({keyword:A,it:{errSchemaPath:m}},{schemaPath:v,parentSchema:C}){let B=C?m:(0,t.str)`${m}/${A}`;return v&&(B=(0,t.str)`${B}${(0,r.getErrorPath)(v,r.Type.Str)}`),[l.schemaPath,B]}function y(A,{params:m,message:v},C){const{keyword:B,data:T,schemaValue:N,it:R}=A,{opts:J,propertyName:q,topSchemaRef:G,schemaPath:ee}=R;C.push([l.keyword,B],[l.params,typeof m=="function"?m(A):m||(0,t._)`{}`]),J.messages&&C.push([l.message,typeof v=="function"?v(A):v]),J.verbose&&C.push([l.schema,N],[l.parentSchema,(0,t._)`${G}${ee}`],[n.default.data,T]),q&&C.push([l.propertyName,q])}})(cc);Object.defineProperty(ya,"__esModule",{value:!0});ya.boolOrEmptySchema=ya.topBoolOrEmptySchema=void 0;const yQ=cc,vQ=st,gQ=nu,AQ={message:"boolean schema is false"};function FQ(e){const{gen:t,schema:r,validateName:n}=e;r===!1?v9(e,!1):typeof r=="object"&&r.$async===!0?t.return(gQ.default.data):(t.assign((0,vQ._)`${n}.errors`,null),t.return(!0))}ya.topBoolOrEmptySchema=FQ;function CQ(e,t){const{gen:r,schema:n}=e;n===!1?(r.var(t,!1),v9(e)):r.var(t,!0)}ya.boolOrEmptySchema=CQ;function v9(e,t){const{gen:r,data:n}=e,u={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,yQ.reportError)(u,AQ,void 0,t)}var Yt={},Qs={};Object.defineProperty(Qs,"__esModule",{value:!0});Qs.getRules=Qs.isJSONType=void 0;const bQ=["string","number","integer","boolean","null","object","array"],SQ=new Set(bQ);function wQ(e){return typeof e=="string"&&SQ.has(e)}Qs.isJSONType=wQ;function _Q(){const e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}Qs.getRules=_Q;var Cu={};Object.defineProperty(Cu,"__esModule",{value:!0});Cu.shouldUseRule=Cu.shouldUseGroup=Cu.schemaHasRulesForType=void 0;function BQ({schema:e,self:t},r){const n=t.RULES.types[r];return n&&n!==!0&&g9(e,n)}Cu.schemaHasRulesForType=BQ;function g9(e,t){return t.rules.some(r=>A9(e,r))}Cu.shouldUseGroup=g9;function A9(e,t){var r;return e[t.keyword]!==void 0||((r=t.definition.implements)===null||r===void 0?void 0:r.some(n=>e[n]!==void 0))}Cu.shouldUseRule=A9;Object.defineProperty(Yt,"__esModule",{value:!0});Yt.reportTypeError=Yt.checkDataTypes=Yt.checkDataType=Yt.coerceAndCheckDataType=Yt.getJSONTypes=Yt.getSchemaTypes=Yt.DataType=void 0;const TQ=Qs,$Q=Cu,PQ=cc,Ze=st,F9=we;var aa;(function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong"})(aa||(Yt.DataType=aa={}));function kQ(e){const t=C9(e.type);if(t.includes("null")){if(e.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!t.length&&e.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');e.nullable===!0&&t.push("null")}return t}Yt.getSchemaTypes=kQ;function C9(e){const t=Array.isArray(e)?e:e?[e]:[];if(t.every(TQ.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}Yt.getJSONTypes=C9;function OQ(e,t){const{gen:r,data:n,opts:u}=e,s=IQ(t,u.coerceTypes),o=t.length>0&&!(s.length===0&&t.length===1&&(0,$Q.schemaHasRulesForType)(e,t[0]));if(o){const a=NE(t,n,u.strictNumbers,aa.Wrong);r.if(a,()=>{s.length?NQ(e,t,s):qE(e)})}return o}Yt.coerceAndCheckDataType=OQ;const b9=new Set(["string","number","integer","boolean","null"]);function IQ(e,t){return t?e.filter(r=>b9.has(r)||t==="array"&&r==="array"):[]}function NQ(e,t,r){const{gen:n,data:u,opts:s}=e,o=n.let("dataType",(0,Ze._)`typeof ${u}`),a=n.let("coerced",(0,Ze._)`undefined`);s.coerceTypes==="array"&&n.if((0,Ze._)`${o} == 'object' && Array.isArray(${u}) && ${u}.length == 1`,()=>n.assign(u,(0,Ze._)`${u}[0]`).assign(o,(0,Ze._)`typeof ${u}`).if(NE(t,u,s.strictNumbers),()=>n.assign(a,u))),n.if((0,Ze._)`${a} !== undefined`);for(const c of r)(b9.has(c)||c==="array"&&s.coerceTypes==="array")&&i(c);n.else(),qE(e),n.endIf(),n.if((0,Ze._)`${a} !== undefined`,()=>{n.assign(u,a),qQ(e,a)});function i(c){switch(c){case"string":n.elseIf((0,Ze._)`${o} == "number" || ${o} == "boolean"`).assign(a,(0,Ze._)`"" + ${u}`).elseIf((0,Ze._)`${u} === null`).assign(a,(0,Ze._)`""`);return;case"number":n.elseIf((0,Ze._)`${o} == "boolean" || ${u} === null || (${o} == "string" && ${u} && ${u} == +${u})`).assign(a,(0,Ze._)`+${u}`);return;case"integer":n.elseIf((0,Ze._)`${o} === "boolean" || ${u} === null || (${o} === "string" && ${u} && ${u} == +${u} && !(${u} % 1))`).assign(a,(0,Ze._)`+${u}`);return;case"boolean":n.elseIf((0,Ze._)`${u} === "false" || ${u} === 0 || ${u} === null`).assign(a,!1).elseIf((0,Ze._)`${u} === "true" || ${u} === 1`).assign(a,!0);return;case"null":n.elseIf((0,Ze._)`${u} === "" || ${u} === 0 || ${u} === false`),n.assign(a,null);return;case"array":n.elseIf((0,Ze._)`${o} === "string" || ${o} === "number" - || ${o} === "boolean" || ${u} === null`).assign(a,(0,Ze._)`[${u}]`)}}}function IQ({gen:e,parentData:t,parentDataProperty:r},n){e.if((0,Ze._)`${t} !== undefined`,()=>e.assign((0,Ze._)`${t}[${r}]`,n))}function Bh(e,t,r,n=aa.Correct){const u=n===aa.Correct?Ze.operators.EQ:Ze.operators.NEQ;let s;switch(e){case"null":return(0,Ze._)`${t} ${u} null`;case"array":s=(0,Ze._)`Array.isArray(${t})`;break;case"object":s=(0,Ze._)`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":s=o((0,Ze._)`!(${t} % 1) && !isNaN(${t})`);break;case"number":s=o();break;default:return(0,Ze._)`typeof ${t} ${u} ${e}`}return n===aa.Correct?s:(0,Ze.not)(s);function o(a=Ze.nil){return(0,Ze.and)((0,Ze._)`typeof ${t} == "number"`,a,r?(0,Ze._)`isFinite(${t})`:Ze.nil)}}Yt.checkDataType=Bh;function IE(e,t,r,n){if(e.length===1)return Bh(e[0],t,r,n);let u;const s=(0,g9.toHash)(e);if(s.array&&s.object){const o=(0,Ze._)`typeof ${t} != "object"`;u=s.null?o:(0,Ze._)`!${t} || ${o}`,delete s.null,delete s.array,delete s.object}else u=Ze.nil;s.number&&delete s.integer;for(const o in s)u=(0,Ze.and)(u,Bh(o,t,r,n));return u}Yt.checkDataTypes=IE;const NQ={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0,Ze._)`{type: ${e}}`:(0,Ze._)`{type: ${t}}`};function NE(e){const t=qQ(e);(0,TQ.reportError)(t,NQ)}Yt.reportTypeError=NE;function qQ(e){const{gen:t,data:r,schema:n}=e,u=(0,g9.schemaRefOrVal)(e,n,"type");return{gen:t,keyword:"type",data:r,schema:n.type,schemaCode:u,schemaValue:u,parentSchema:n,params:{},it:e}}var ad={};Object.defineProperty(ad,"__esModule",{value:!0});ad.assignDefaults=void 0;const $o=st,xQ=we;function RQ(e,t){const{properties:r,items:n}=e.schema;if(t==="object"&&r)for(const u in r)$g(e,u,r[u].default);else t==="array"&&Array.isArray(n)&&n.forEach((u,s)=>$g(e,s,u.default))}ad.assignDefaults=RQ;function $g(e,t,r){const{gen:n,compositeRule:u,data:s,opts:o}=e;if(r===void 0)return;const a=(0,$o._)`${s}${(0,$o.getProperty)(t)}`;if(u){(0,xQ.checkStrictMode)(e,`default is ignored for: ${a}`);return}let i=(0,$o._)`${a} === undefined`;o.useDefaults==="empty"&&(i=(0,$o._)`${i} || ${a} === null || ${a} === ""`),n.if(i,(0,$o._)`${a} = ${(0,$o.stringify)(r)}`)}var Xn={},rt={};Object.defineProperty(rt,"__esModule",{value:!0});rt.validateUnion=rt.validateArray=rt.usePattern=rt.callValidateCode=rt.schemaProperties=rt.allSchemaProperties=rt.noPropertyInData=rt.propertyInData=rt.isOwnProperty=rt.hasPropFunc=rt.reportMissingProp=rt.checkMissingProp=rt.checkReportMissingProp=void 0;const wt=st,qE=we,Hu=nu,jQ=we;function MQ(e,t){const{gen:r,data:n,it:u}=e;r.if(RE(r,n,t,u.opts.ownProperties),()=>{e.setParams({missingProperty:(0,wt._)`${t}`},!0),e.error()})}rt.checkReportMissingProp=MQ;function LQ({gen:e,data:t,it:{opts:r}},n,u){return(0,wt.or)(...n.map(s=>(0,wt.and)(RE(e,t,s,r.ownProperties),(0,wt._)`${u} = ${s}`)))}rt.checkMissingProp=LQ;function UQ(e,t){e.setParams({missingProperty:t},!0),e.error()}rt.reportMissingProp=UQ;function C9(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,wt._)`Object.prototype.hasOwnProperty`})}rt.hasPropFunc=C9;function xE(e,t,r){return(0,wt._)`${C9(e)}.call(${t}, ${r})`}rt.isOwnProperty=xE;function GQ(e,t,r,n){const u=(0,wt._)`${t}${(0,wt.getProperty)(r)} !== undefined`;return n?(0,wt._)`${u} && ${xE(e,t,r)}`:u}rt.propertyInData=GQ;function RE(e,t,r,n){const u=(0,wt._)`${t}${(0,wt.getProperty)(r)} === undefined`;return n?(0,wt.or)(u,(0,wt.not)(xE(e,t,r))):u}rt.noPropertyInData=RE;function b9(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}rt.allSchemaProperties=b9;function VQ(e,t){return b9(t).filter(r=>!(0,qE.alwaysValidSchema)(e,t[r]))}rt.schemaProperties=VQ;function HQ({schemaCode:e,data:t,it:{gen:r,topSchemaRef:n,schemaPath:u,errorPath:s},it:o},a,i,c){const l=c?(0,wt._)`${e}, ${t}, ${n}${u}`:t,p=[[Hu.default.instancePath,(0,wt.strConcat)(Hu.default.instancePath,s)],[Hu.default.parentData,o.parentData],[Hu.default.parentDataProperty,o.parentDataProperty],[Hu.default.rootData,Hu.default.rootData]];o.opts.dynamicRef&&p.push([Hu.default.dynamicAnchors,Hu.default.dynamicAnchors]);const d=(0,wt._)`${l}, ${r.object(...p)}`;return i!==wt.nil?(0,wt._)`${a}.call(${i}, ${d})`:(0,wt._)`${a}(${d})`}rt.callValidateCode=HQ;const WQ=(0,wt._)`new RegExp`;function JQ({gen:e,it:{opts:t}},r){const n=t.unicodeRegExp?"u":"",{regExp:u}=t.code,s=u(r,n);return e.scopeValue("pattern",{key:s.toString(),ref:s,code:(0,wt._)`${u.code==="new RegExp"?WQ:(0,jQ.useFunc)(e,u)}(${r}, ${n})`})}rt.usePattern=JQ;function zQ(e){const{gen:t,data:r,keyword:n,it:u}=e,s=t.name("valid");if(u.allErrors){const a=t.let("valid",!0);return o(()=>t.assign(a,!1)),a}return t.var(s,!0),o(()=>t.break()),s;function o(a){const i=t.const("len",(0,wt._)`${r}.length`);t.forRange("i",0,i,c=>{e.subschema({keyword:n,dataProp:c,dataPropType:qE.Type.Num},s),t.if((0,wt.not)(s),a)})}}rt.validateArray=zQ;function KQ(e){const{gen:t,schema:r,keyword:n,it:u}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(i=>(0,qE.alwaysValidSchema)(u,i))&&!u.opts.unevaluated)return;const o=t.let("valid",!1),a=t.name("_valid");t.block(()=>r.forEach((i,c)=>{const l=e.subschema({keyword:n,schemaProp:c,compositeRule:!0},a);t.assign(o,(0,wt._)`${o} || ${a}`),e.mergeValidEvaluated(l,a)||t.if((0,wt.not)(o))})),e.result(o,()=>e.reset(),()=>e.error(!0))}rt.validateUnion=KQ;Object.defineProperty(Xn,"__esModule",{value:!0});Xn.validateKeywordUsage=Xn.validSchemaType=Xn.funcKeywordCode=Xn.macroKeywordCode=void 0;const Ar=st,qs=nu,XQ=rt,YQ=cc;function ZQ(e,t){const{gen:r,keyword:n,schema:u,parentSchema:s,it:o}=e,a=t.macro.call(o.self,u,s,o),i=S9(r,n,a);o.opts.validateSchema!==!1&&o.self.validateSchema(a,!0);const c=r.name("valid");e.subschema({schema:a,schemaPath:Ar.nil,errSchemaPath:`${o.errSchemaPath}/${n}`,topSchemaRef:i,compositeRule:!0},c),e.pass(c,()=>e.error(!0))}Xn.macroKeywordCode=ZQ;function QQ(e,t){var r;const{gen:n,keyword:u,schema:s,parentSchema:o,$data:a,it:i}=e;tee(i,t);const c=!a&&t.compile?t.compile.call(i.self,s,o,i):t.validate,l=S9(n,u,c),p=n.let("valid");e.block$data(p,d),e.ok((r=t.valid)!==null&&r!==void 0?r:p);function d(){if(t.errors===!1)y(),t.modifying&&Pg(e),A(()=>e.error());else{const m=t.async?f():h();t.modifying&&Pg(e),A(()=>eee(e,m))}}function f(){const m=n.let("ruleErrs",null);return n.try(()=>y((0,Ar._)`await `),v=>n.assign(p,!1).if((0,Ar._)`${v} instanceof ${i.ValidationError}`,()=>n.assign(m,(0,Ar._)`${v}.errors`),()=>n.throw(v))),m}function h(){const m=(0,Ar._)`${l}.errors`;return n.assign(m,null),y(Ar.nil),m}function y(m=t.async?(0,Ar._)`await `:Ar.nil){const v=i.opts.passContext?qs.default.this:qs.default.self,C=!("compile"in t&&!a||t.schema===!1);n.assign(p,(0,Ar._)`${m}${(0,XQ.callValidateCode)(e,l,v,C)}`,t.modifying)}function A(m){var v;n.if((0,Ar.not)((v=t.valid)!==null&&v!==void 0?v:p),m)}}Xn.funcKeywordCode=QQ;function Pg(e){const{gen:t,data:r,it:n}=e;t.if(n.parentData,()=>t.assign(r,(0,Ar._)`${n.parentData}[${n.parentDataProperty}]`))}function eee(e,t){const{gen:r}=e;r.if((0,Ar._)`Array.isArray(${t})`,()=>{r.assign(qs.default.vErrors,(0,Ar._)`${qs.default.vErrors} === null ? ${t} : ${qs.default.vErrors}.concat(${t})`).assign(qs.default.errors,(0,Ar._)`${qs.default.vErrors}.length`),(0,YQ.extendErrors)(e)},()=>e.error())}function tee({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function S9(e,t,r){if(r===void 0)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,Ar.stringify)(r)})}function ree(e,t,r=!1){return!t.length||t.some(n=>n==="array"?Array.isArray(e):n==="object"?e&&typeof e=="object"&&!Array.isArray(e):typeof e==n||r&&typeof e>"u")}Xn.validSchemaType=ree;function nee({schema:e,opts:t,self:r,errSchemaPath:n},u,s){if(Array.isArray(u.keyword)?!u.keyword.includes(s):u.keyword!==s)throw new Error("ajv implementation error");const o=u.dependencies;if(o!=null&&o.some(a=>!Object.prototype.hasOwnProperty.call(e,a)))throw new Error(`parent schema must have dependencies of ${s}: ${o.join(",")}`);if(u.validateSchema&&!u.validateSchema(e[s])){const i=`keyword "${s}" value is invalid at path "${n}": `+r.errorsText(u.validateSchema.errors);if(t.validateSchema==="log")r.logger.error(i);else throw new Error(i)}}Xn.validateKeywordUsage=nee;var us={};Object.defineProperty(us,"__esModule",{value:!0});us.extendSubschemaMode=us.extendSubschemaData=us.getSubschema=void 0;const Jn=st,w9=we;function uee(e,{keyword:t,schemaProp:r,schema:n,schemaPath:u,errSchemaPath:s,topSchemaRef:o}){if(t!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(t!==void 0){const a=e.schema[t];return r===void 0?{schema:a,schemaPath:(0,Jn._)`${e.schemaPath}${(0,Jn.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:a[r],schemaPath:(0,Jn._)`${e.schemaPath}${(0,Jn.getProperty)(t)}${(0,Jn.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,w9.escapeFragment)(r)}`}}if(n!==void 0){if(u===void 0||s===void 0||o===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:u,topSchemaRef:o,errSchemaPath:s}}throw new Error('either "keyword" or "schema" must be passed')}us.getSubschema=uee;function see(e,t,{dataProp:r,dataPropType:n,data:u,dataTypes:s,propertyName:o}){if(u!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');const{gen:a}=t;if(r!==void 0){const{errorPath:c,dataPathArr:l,opts:p}=t,d=a.let("data",(0,Jn._)`${t.data}${(0,Jn.getProperty)(r)}`,!0);i(d),e.errorPath=(0,Jn.str)`${c}${(0,w9.getErrorPath)(r,n,p.jsPropertySyntax)}`,e.parentDataProperty=(0,Jn._)`${r}`,e.dataPathArr=[...l,e.parentDataProperty]}if(u!==void 0){const c=u instanceof Jn.Name?u:a.let("data",u,!0);i(c),o!==void 0&&(e.propertyName=o)}s&&(e.dataTypes=s);function i(c){e.data=c,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,c]}}us.extendSubschemaData=see;function oee(e,{jtdDiscriminator:t,jtdMetadata:r,compositeRule:n,createErrors:u,allErrors:s}){n!==void 0&&(e.compositeRule=n),u!==void 0&&(e.createErrors=u),s!==void 0&&(e.allErrors=s),e.jtdDiscriminator=t,e.jtdMetadata=r}us.extendSubschemaMode=oee;var fr={},_9=function e(t,r){if(t===r)return!0;if(t&&r&&typeof t=="object"&&typeof r=="object"){if(t.constructor!==r.constructor)return!1;var n,u,s;if(Array.isArray(t)){if(n=t.length,n!=r.length)return!1;for(u=n;u--!==0;)if(!e(t[u],r[u]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if(s=Object.keys(t),n=s.length,n!==Object.keys(r).length)return!1;for(u=n;u--!==0;)if(!Object.prototype.hasOwnProperty.call(r,s[u]))return!1;for(u=n;u--!==0;){var o=s[u];if(!e(t[o],r[o]))return!1}return!0}return t!==t&&r!==r},B9={exports:{}},Qu=B9.exports=function(e,t,r){typeof t=="function"&&(r=t,t={}),r=t.cb||r;var n=typeof r=="function"?r:r.pre||function(){},u=r.post||function(){};ql(t,n,u,e,"",e)};Qu.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Qu.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Qu.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Qu.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function ql(e,t,r,n,u,s,o,a,i,c){if(n&&typeof n=="object"&&!Array.isArray(n)){t(n,u,s,o,a,i,c);for(var l in n){var p=n[l];if(Array.isArray(p)){if(l in Qu.arrayKeywords)for(var d=0;dt+=T9(n)),t===1/0))return 1/0}return t}function $9(e,t="",r){r!==!1&&(t=ia(t));const n=e.parse(t);return P9(e,n)}fr.getFullPath=$9;function P9(e,t){return e.serialize(t).split("#")[0]+"#"}fr._getFullPath=P9;const hee=/#\/?$/;function ia(e){return e?e.replace(hee,""):""}fr.normalizeId=ia;function mee(e,t,r){return r=ia(r),e.resolve(t,r)}fr.resolveUrl=mee;const Eee=/^[a-z_][-a-z0-9._]*$/i;function yee(e,t){if(typeof e=="boolean")return{};const{schemaId:r,uriResolver:n}=this.opts,u=ia(e[r]||t),s={"":u},o=$9(n,u,!1),a={},i=new Set;return pee(e,{allKeys:!0},(p,d,f,h)=>{if(h===void 0)return;const y=o+d;let A=s[h];typeof p[r]=="string"&&(A=m.call(this,p[r])),v.call(this,p.$anchor),v.call(this,p.$dynamicAnchor),s[d]=A;function m(C){const B=this.opts.uriResolver.resolve;if(C=ia(A?B(A,C):C),i.has(C))throw l(C);i.add(C);let T=this.refs[C];return typeof T=="string"&&(T=this.refs[T]),typeof T=="object"?c(p,T.schema,C):C!==ia(y)&&(C[0]==="#"?(c(p,a[C],C),a[C]=p):this.refs[C]=y),C}function v(C){if(typeof C=="string"){if(!Eee.test(C))throw new Error(`invalid anchor "${C}"`);m.call(this,`#${C}`)}}}),a;function c(p,d,f){if(d!==void 0&&!lee(p,d))throw l(f)}function l(p){return new Error(`reference "${p}" resolves to more than one schema`)}}fr.getSchemaRefs=yee;Object.defineProperty($n,"__esModule",{value:!0});$n.getData=$n.KeywordCxt=$n.validateFunctionCode=void 0;const k9=ya,kg=Yt,jE=Cu,Fp=Yt,vee=ad,Fi=Xn,kf=us,je=st,Je=nu,gee=fr,bu=we,Ja=cc;function Aee(e){if(N9(e)&&(q9(e),I9(e))){bee(e);return}O9(e,()=>(0,k9.topBoolOrEmptySchema)(e))}$n.validateFunctionCode=Aee;function O9({gen:e,validateName:t,schema:r,schemaEnv:n,opts:u},s){u.code.es5?e.func(t,(0,je._)`${Je.default.data}, ${Je.default.valCxt}`,n.$async,()=>{e.code((0,je._)`"use strict"; ${Og(r,u)}`),Cee(e,u),e.code(s)}):e.func(t,(0,je._)`${Je.default.data}, ${Fee(u)}`,n.$async,()=>e.code(Og(r,u)).code(s))}function Fee(e){return(0,je._)`{${Je.default.instancePath}="", ${Je.default.parentData}, ${Je.default.parentDataProperty}, ${Je.default.rootData}=${Je.default.data}${e.dynamicRef?(0,je._)`, ${Je.default.dynamicAnchors}={}`:je.nil}}={}`}function Cee(e,t){e.if(Je.default.valCxt,()=>{e.var(Je.default.instancePath,(0,je._)`${Je.default.valCxt}.${Je.default.instancePath}`),e.var(Je.default.parentData,(0,je._)`${Je.default.valCxt}.${Je.default.parentData}`),e.var(Je.default.parentDataProperty,(0,je._)`${Je.default.valCxt}.${Je.default.parentDataProperty}`),e.var(Je.default.rootData,(0,je._)`${Je.default.valCxt}.${Je.default.rootData}`),t.dynamicRef&&e.var(Je.default.dynamicAnchors,(0,je._)`${Je.default.valCxt}.${Je.default.dynamicAnchors}`)},()=>{e.var(Je.default.instancePath,(0,je._)`""`),e.var(Je.default.parentData,(0,je._)`undefined`),e.var(Je.default.parentDataProperty,(0,je._)`undefined`),e.var(Je.default.rootData,Je.default.data),t.dynamicRef&&e.var(Je.default.dynamicAnchors,(0,je._)`{}`)})}function bee(e){const{schema:t,opts:r,gen:n}=e;O9(e,()=>{r.$comment&&t.$comment&&R9(e),Tee(e),n.let(Je.default.vErrors,null),n.let(Je.default.errors,0),r.unevaluated&&See(e),x9(e),kee(e)})}function See(e){const{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",(0,je._)`${r}.evaluated`),t.if((0,je._)`${e.evaluated}.dynamicProps`,()=>t.assign((0,je._)`${e.evaluated}.props`,(0,je._)`undefined`)),t.if((0,je._)`${e.evaluated}.dynamicItems`,()=>t.assign((0,je._)`${e.evaluated}.items`,(0,je._)`undefined`))}function Og(e,t){const r=typeof e=="object"&&e[t.schemaId];return r&&(t.code.source||t.code.process)?(0,je._)`/*# sourceURL=${r} */`:je.nil}function wee(e,t){if(N9(e)&&(q9(e),I9(e))){_ee(e,t);return}(0,k9.boolOrEmptySchema)(e,t)}function I9({schema:e,self:t}){if(typeof e=="boolean")return!e;for(const r in e)if(t.RULES.all[r])return!0;return!1}function N9(e){return typeof e.schema!="boolean"}function _ee(e,t){const{schema:r,gen:n,opts:u}=e;u.$comment&&r.$comment&&R9(e),$ee(e),Pee(e);const s=n.const("_errs",Je.default.errors);x9(e,s),n.var(t,(0,je._)`${s} === ${Je.default.errors}`)}function q9(e){(0,bu.checkUnknownRules)(e),Bee(e)}function x9(e,t){if(e.opts.jtd)return Ig(e,[],!1,t);const r=(0,kg.getSchemaTypes)(e.schema),n=(0,kg.coerceAndCheckDataType)(e,r);Ig(e,r,!n,t)}function Bee(e){const{schema:t,errSchemaPath:r,opts:n,self:u}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,bu.schemaHasRulesButRef)(t,u.RULES)&&u.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function Tee(e){const{schema:t,opts:r}=e;t.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,bu.checkStrictMode)(e,"default is ignored in the schema root")}function $ee(e){const t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,gee.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function Pee(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function R9({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:u}){const s=r.$comment;if(u.$comment===!0)e.code((0,je._)`${Je.default.self}.logger.log(${s})`);else if(typeof u.$comment=="function"){const o=(0,je.str)`${n}/$comment`,a=e.scopeValue("root",{ref:t.root});e.code((0,je._)`${Je.default.self}.opts.$comment(${s}, ${o}, ${a}.schema)`)}}function kee(e){const{gen:t,schemaEnv:r,validateName:n,ValidationError:u,opts:s}=e;r.$async?t.if((0,je._)`${Je.default.errors} === 0`,()=>t.return(Je.default.data),()=>t.throw((0,je._)`new ${u}(${Je.default.vErrors})`)):(t.assign((0,je._)`${n}.errors`,Je.default.vErrors),s.unevaluated&&Oee(e),t.return((0,je._)`${Je.default.errors} === 0`))}function Oee({gen:e,evaluated:t,props:r,items:n}){r instanceof je.Name&&e.assign((0,je._)`${t}.props`,r),n instanceof je.Name&&e.assign((0,je._)`${t}.items`,n)}function Ig(e,t,r,n){const{gen:u,schema:s,data:o,allErrors:a,opts:i,self:c}=e,{RULES:l}=c;if(s.$ref&&(i.ignoreKeywordsWithRef||!(0,bu.schemaHasRulesButRef)(s,l))){u.block(()=>L9(e,"$ref",l.all.$ref.definition));return}i.jtd||Iee(e,t),u.block(()=>{for(const d of l.rules)p(d);p(l.post)});function p(d){(0,jE.shouldUseGroup)(s,d)&&(d.type?(u.if((0,Fp.checkDataType)(d.type,o,i.strictNumbers)),Ng(e,d),t.length===1&&t[0]===d.type&&r&&(u.else(),(0,Fp.reportTypeError)(e)),u.endIf()):Ng(e,d),a||u.if((0,je._)`${Je.default.errors} === ${n||0}`))}}function Ng(e,t){const{gen:r,schema:n,opts:{useDefaults:u}}=e;u&&(0,vee.assignDefaults)(e,t.type),r.block(()=>{for(const s of t.rules)(0,jE.shouldUseRule)(n,s)&&L9(e,s.keyword,s.definition,t.type)})}function Iee(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(Nee(e,t),e.opts.allowUnionTypes||qee(e,t),xee(e,e.dataTypes))}function Nee(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(r=>{j9(e.dataTypes,r)||ME(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`)}),jee(e,t)}}function qee(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&ME(e,"use allowUnionTypes to allow union type keyword")}function xee(e,t){const r=e.self.RULES.all;for(const n in r){const u=r[n];if(typeof u=="object"&&(0,jE.shouldUseRule)(e.schema,u)){const{type:s}=u.definition;s.length&&!s.some(o=>Ree(t,o))&&ME(e,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function Ree(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function j9(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function jee(e,t){const r=[];for(const n of e.dataTypes)j9(t,n)?r.push(n):t.includes("integer")&&n==="number"&&r.push("integer");e.dataTypes=r}function ME(e,t){const r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,(0,bu.checkStrictMode)(e,t,e.opts.strictTypes)}class M9{constructor(t,r,n){if((0,Fi.validateKeywordUsage)(t,r,n),this.gen=t.gen,this.allErrors=t.allErrors,this.keyword=n,this.data=t.data,this.schema=t.schema[n],this.$data=r.$data&&t.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,bu.schemaRefOrVal)(t,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=t.schema,this.params={},this.it=t,this.def=r,this.$data)this.schemaCode=t.gen.const("vSchema",U9(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0,Fi.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=t.gen.const("_errs",Je.default.errors))}result(t,r,n){this.failResult((0,je.not)(t),r,n)}failResult(t,r,n){this.gen.if(t),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(t,r){this.failResult((0,je.not)(t),void 0,r)}fail(t){if(t===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(t),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(t){if(!this.$data)return this.fail(t);const{schemaCode:r}=this;this.fail((0,je._)`${r} !== undefined && (${(0,je.or)(this.invalid$data(),t)})`)}error(t,r,n){if(r){this.setParams(r),this._error(t,n),this.setParams({});return}this._error(t,n)}_error(t,r){(t?Ja.reportExtraError:Ja.reportError)(this,this.def.error,r)}$dataError(){(0,Ja.reportError)(this,this.def.$dataError||Ja.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Ja.resetErrorsCount)(this.gen,this.errsCount)}ok(t){this.allErrors||this.gen.if(t)}setParams(t,r){r?Object.assign(this.params,t):this.params=t}block$data(t,r,n=je.nil){this.gen.block(()=>{this.check$data(t,n),r()})}check$data(t=je.nil,r=je.nil){if(!this.$data)return;const{gen:n,schemaCode:u,schemaType:s,def:o}=this;n.if((0,je.or)((0,je._)`${u} === undefined`,r)),t!==je.nil&&n.assign(t,!0),(s.length||o.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),t!==je.nil&&n.assign(t,!1)),n.else()}invalid$data(){const{gen:t,schemaCode:r,schemaType:n,def:u,it:s}=this;return(0,je.or)(o(),a());function o(){if(n.length){if(!(r instanceof je.Name))throw new Error("ajv implementation error");const i=Array.isArray(n)?n:[n];return(0,je._)`${(0,Fp.checkDataTypes)(i,r,s.opts.strictNumbers,Fp.DataType.Wrong)}`}return je.nil}function a(){if(u.validateSchema){const i=t.scopeValue("validate$data",{ref:u.validateSchema});return(0,je._)`!${i}(${r})`}return je.nil}}subschema(t,r){const n=(0,kf.getSubschema)(this.it,t);(0,kf.extendSubschemaData)(n,this.it,t),(0,kf.extendSubschemaMode)(n,t);const u={...this.it,...n,items:void 0,props:void 0};return wee(u,r),u}mergeEvaluated(t,r){const{it:n,gen:u}=this;n.opts.unevaluated&&(n.props!==!0&&t.props!==void 0&&(n.props=bu.mergeEvaluated.props(u,t.props,n.props,r)),n.items!==!0&&t.items!==void 0&&(n.items=bu.mergeEvaluated.items(u,t.items,n.items,r)))}mergeValidEvaluated(t,r){const{it:n,gen:u}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return u.if(r,()=>this.mergeEvaluated(t,je.Name)),!0}}$n.KeywordCxt=M9;function L9(e,t,r,n){const u=new M9(e,r,t);"code"in r?r.code(u,n):u.$data&&r.validate?(0,Fi.funcKeywordCode)(u,r):"macro"in r?(0,Fi.macroKeywordCode)(u,r):(r.compile||r.validate)&&(0,Fi.funcKeywordCode)(u,r)}const Mee=/^\/(?:[^~]|~0|~1)*$/,Lee=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function U9(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let u,s;if(e==="")return Je.default.rootData;if(e[0]==="/"){if(!Mee.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);u=e,s=Je.default.rootData}else{const c=Lee.exec(e);if(!c)throw new Error(`Invalid JSON-pointer: ${e}`);const l=+c[1];if(u=c[2],u==="#"){if(l>=t)throw new Error(i("property/index",l));return n[t-l]}if(l>t)throw new Error(i("data",l));if(s=r[t-l],!u)return s}let o=s;const a=u.split("/");for(const c of a)c&&(s=(0,je._)`${s}${(0,je.getProperty)((0,bu.unescapeJsonPointer)(c))}`,o=(0,je._)`${o} && ${s}`);return o;function i(c,l){return`Cannot access ${c} ${l} levels up, current level is ${t}`}}$n.getData=U9;var lc={};Object.defineProperty(lc,"__esModule",{value:!0});class Uee extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=!0}}lc.default=Uee;var Ba={};Object.defineProperty(Ba,"__esModule",{value:!0});const Of=fr;class Gee extends Error{constructor(t,r,n,u){super(u||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,Of.resolveUrl)(t,r,n),this.missingSchema=(0,Of.normalizeId)((0,Of.getFullPath)(t,this.missingRef))}}Ba.default=Gee;var qr={};Object.defineProperty(qr,"__esModule",{value:!0});qr.resolveSchema=qr.getCompilingSchema=qr.resolveRef=qr.compileSchema=qr.SchemaEnv=void 0;const mn=st,Vee=lc,Ts=nu,_n=fr,qg=we,Hee=$n;class id{constructor(t){var r;this.refs={},this.dynamicAnchors={};let n;typeof t.schema=="object"&&(n=t.schema),this.schema=t.schema,this.schemaId=t.schemaId,this.root=t.root||this,this.baseId=(r=t.baseId)!==null&&r!==void 0?r:(0,_n.normalizeId)(n==null?void 0:n[t.schemaId||"$id"]),this.schemaPath=t.schemaPath,this.localRefs=t.localRefs,this.meta=t.meta,this.$async=n==null?void 0:n.$async,this.refs={}}}qr.SchemaEnv=id;function LE(e){const t=G9.call(this,e);if(t)return t;const r=(0,_n.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:n,lines:u}=this.opts.code,{ownProperties:s}=this.opts,o=new mn.CodeGen(this.scope,{es5:n,lines:u,ownProperties:s});let a;e.$async&&(a=o.scopeValue("Error",{ref:Vee.default,code:(0,mn._)`require("ajv/dist/runtime/validation_error").default`}));const i=o.scopeName("validate");e.validateName=i;const c={gen:o,allErrors:this.opts.allErrors,data:Ts.default.data,parentData:Ts.default.parentData,parentDataProperty:Ts.default.parentDataProperty,dataNames:[Ts.default.data],dataPathArr:[mn.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:o.scopeValue("schema",this.opts.code.source===!0?{ref:e.schema,code:(0,mn.stringify)(e.schema)}:{ref:e.schema}),validateName:i,ValidationError:a,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:mn.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,mn._)`""`,opts:this.opts,self:this};let l;try{this._compilations.add(e),(0,Hee.validateFunctionCode)(c),o.optimize(this.opts.code.optimize);const p=o.toString();l=`${o.scopeRefs(Ts.default.scope)}return ${p}`,this.opts.code.process&&(l=this.opts.code.process(l,e));const f=new Function(`${Ts.default.self}`,`${Ts.default.scope}`,l)(this,this.scope.get());if(this.scope.value(i,{ref:f}),f.errors=null,f.schema=e.schema,f.schemaEnv=e,e.$async&&(f.$async=!0),this.opts.code.source===!0&&(f.source={validateName:i,validateCode:p,scopeValues:o._values}),this.opts.unevaluated){const{props:h,items:y}=c;f.evaluated={props:h instanceof mn.Name?void 0:h,items:y instanceof mn.Name?void 0:y,dynamicProps:h instanceof mn.Name,dynamicItems:y instanceof mn.Name},f.source&&(f.source.evaluated=(0,mn.stringify)(f.evaluated))}return e.validate=f,e}catch(p){throw delete e.validate,delete e.validateName,l&&this.logger.error("Error compiling schema, function code:",l),p}finally{this._compilations.delete(e)}}qr.compileSchema=LE;function Wee(e,t,r){var n;r=(0,_n.resolveUrl)(this.opts.uriResolver,t,r);const u=e.refs[r];if(u)return u;let s=Kee.call(this,e,r);if(s===void 0){const o=(n=e.localRefs)===null||n===void 0?void 0:n[r],{schemaId:a}=this.opts;o&&(s=new id({schema:o,schemaId:a,root:e,baseId:t}))}if(s!==void 0)return e.refs[r]=Jee.call(this,s)}qr.resolveRef=Wee;function Jee(e){return(0,_n.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:LE.call(this,e)}function G9(e){for(const t of this._compilations)if(zee(t,e))return t}qr.getCompilingSchema=G9;function zee(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function Kee(e,t){let r;for(;typeof(r=this.refs[t])=="string";)t=r;return r||this.schemas[t]||cd.call(this,e,t)}function cd(e,t){const r=this.opts.uriResolver.parse(t),n=(0,_n._getFullPath)(this.opts.uriResolver,r);let u=(0,_n.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===u)return If.call(this,r,e);const s=(0,_n.normalizeId)(n),o=this.refs[s]||this.schemas[s];if(typeof o=="string"){const a=cd.call(this,e,o);return typeof(a==null?void 0:a.schema)!="object"?void 0:If.call(this,r,a)}if(typeof(o==null?void 0:o.schema)=="object"){if(o.validate||LE.call(this,o),s===(0,_n.normalizeId)(t)){const{schema:a}=o,{schemaId:i}=this.opts,c=a[i];return c&&(u=(0,_n.resolveUrl)(this.opts.uriResolver,u,c)),new id({schema:a,schemaId:i,root:e,baseId:u})}return If.call(this,r,o)}}qr.resolveSchema=cd;const Xee=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function If(e,{baseId:t,schema:r,root:n}){var u;if(((u=e.fragment)===null||u===void 0?void 0:u[0])!=="/")return;for(const a of e.fragment.slice(1).split("/")){if(typeof r=="boolean")return;const i=r[(0,qg.unescapeFragment)(a)];if(i===void 0)return;r=i;const c=typeof r=="object"&&r[this.opts.schemaId];!Xee.has(a)&&c&&(t=(0,_n.resolveUrl)(this.opts.uriResolver,t,c))}let s;if(typeof r!="boolean"&&r.$ref&&!(0,qg.schemaHasRulesButRef)(r,this.RULES)){const a=(0,_n.resolveUrl)(this.opts.uriResolver,t,r.$ref);s=cd.call(this,n,a)}const{schemaId:o}=this.opts;if(s=s||new id({schema:r,schemaId:o,root:n,baseId:t}),s.schema!==s.root.schema)return s}const Yee="https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",Zee="Meta-schema for $data reference (JSON AnySchema extension proposal)",Qee="object",ete=["$data"],tte={$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},rte=!1,nte={$id:Yee,description:Zee,type:Qee,required:ete,properties:tte,additionalProperties:rte};var UE={},ld={exports:{}};const ute={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};var ste={HEX:ute};const{HEX:ote}=ste;function V9(e){if(W9(e,".")<3)return{host:e,isIPV4:!1};const t=e.match(/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/u)||[],[r]=t;return r?{host:ite(r,"."),isIPV4:!0}:{host:e,isIPV4:!1}}function $h(e,t=!1){let r="",n=!0;for(const u of e){if(ote[u]===void 0)return;u!=="0"&&n===!0&&(n=!1),n||(r+=u)}return t&&r.length===0&&(r="0"),r}function ate(e){let t=0;const r={error:!1,address:"",zone:""},n=[],u=[];let s=!1,o=!1,a=!1;function i(){if(u.length){if(s===!1){const c=$h(u);if(c!==void 0)n.push(c);else return r.error=!0,!1}u.length=0}return!0}for(let c=0;c7){r.error=!0;break}c-1>=0&&e[c-1]===":"&&(o=!0);continue}else if(l==="%"){if(!i())break;s=!0}else{u.push(l);continue}}return u.length&&(s?r.zone=u.join(""):a?n.push(u.join("")):n.push($h(u))),r.address=n.join(""),r}function H9(e,t={}){if(W9(e,":")<2)return{host:e,isIPV6:!1};const r=ate(e);if(r.error)return{host:e,isIPV6:!1};{let n=r.address,u=r.address;return r.zone&&(n+="%"+r.zone,u+="%25"+r.zone),{host:n,escapedHost:u,isIPV6:!0}}}function ite(e,t){let r="",n=!0;const u=e.length;for(let s=0;s/[^!"$&'()*+,\-.;=_`a-z{}~]/u.test(String.fromCharCode(t)));function Ite(e){let t=0;for(let r=0,n=e.length;r126||Ote[t])return!0;return!1}const Nte=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function Bu(e,t){const r=Object.assign({},t),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},u=e.indexOf("%")!==-1;let s=!1;r.reference==="suffix"&&(e=(r.scheme?r.scheme+":":"")+"//"+e);const o=e.match(Nte);if(o){if(n.scheme=o[1],n.userinfo=o[3],n.host=o[4],n.port=parseInt(o[5],10),n.path=o[6]||"",n.query=o[7],n.fragment=o[8],isNaN(n.port)&&(n.port=o[5]),n.host){const i=Bte(n.host);if(i.isIPV4===!1){const c=_te(i.host,{isIPV4:!1});n.host=c.host.toLowerCase(),s=c.isIPV6}else n.host=i.host,s=!0}n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&!n.path&&n.query===void 0?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");const a=VE[(r.scheme||n.scheme||"").toLowerCase()];if(!r.unicodeSupport&&(!a||!a.unicodeSupport)&&n.host&&(r.domainHost||a&&a.domainHost)&&s===!1&&Ite(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(i){n.error=n.error||"Host's domain name can not be converted to ASCII: "+i}(!a||a&&!a.skipNormalize)&&(u&&n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),u&&n.userinfo!==void 0&&(n.userinfo=unescape(n.userinfo)),u&&n.host!==void 0&&(n.host=unescape(n.host)),n.path!==void 0&&n.path.length&&(n.path=escape(unescape(n.path))),n.fragment!==void 0&&n.fragment.length&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),a&&a.parse&&a.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}const HE={SCHEMES:VE,normalize:$te,resolve:Pte,resolveComponents:Y9,equal:kte,serialize:Yn,parse:Bu};ld.exports=HE;ld.exports.default=HE;ld.exports.fastUri=HE;var qte=ld.exports;Object.defineProperty(UE,"__esModule",{value:!0});const Z9=qte;Z9.code='require("ajv/dist/runtime/uri").default';UE.default=Z9;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.CodeGen=e.Name=e.nil=e.stringify=e.str=e._=e.KeywordCxt=void 0;var t=$n;Object.defineProperty(e,"KeywordCxt",{enumerable:!0,get:function(){return t.KeywordCxt}});var r=st;Object.defineProperty(e,"_",{enumerable:!0,get:function(){return r._}}),Object.defineProperty(e,"str",{enumerable:!0,get:function(){return r.str}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return r.stringify}}),Object.defineProperty(e,"nil",{enumerable:!0,get:function(){return r.nil}}),Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return r.Name}}),Object.defineProperty(e,"CodeGen",{enumerable:!0,get:function(){return r.CodeGen}});const n=lc,u=Ba,s=Qs,o=qr,a=st,i=fr,c=Yt,l=we,p=nte,d=UE,f=(z,O)=>new RegExp(z,O);f.code="new RegExp";const h=["removeAdditional","useDefaults","coerceTypes"],y=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),A={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},m={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},v=200;function C(z){var O,E,F,D,g,P,b,w,I,$,M,L,Y,be,Ne,Ve,Me,Fe,qe,Pe,Be,le,Te,W,se;const ce=z.strict,k=(O=z.code)===null||O===void 0?void 0:O.optimize,S=k===!0||k===void 0?1:k||0,_=(F=(E=z.code)===null||E===void 0?void 0:E.regExp)!==null&&F!==void 0?F:f,x=(D=z.uriResolver)!==null&&D!==void 0?D:d.default;return{strictSchema:(P=(g=z.strictSchema)!==null&&g!==void 0?g:ce)!==null&&P!==void 0?P:!0,strictNumbers:(w=(b=z.strictNumbers)!==null&&b!==void 0?b:ce)!==null&&w!==void 0?w:!0,strictTypes:($=(I=z.strictTypes)!==null&&I!==void 0?I:ce)!==null&&$!==void 0?$:"log",strictTuples:(L=(M=z.strictTuples)!==null&&M!==void 0?M:ce)!==null&&L!==void 0?L:"log",strictRequired:(be=(Y=z.strictRequired)!==null&&Y!==void 0?Y:ce)!==null&&be!==void 0?be:!1,code:z.code?{...z.code,optimize:S,regExp:_}:{optimize:S,regExp:_},loopRequired:(Ne=z.loopRequired)!==null&&Ne!==void 0?Ne:v,loopEnum:(Ve=z.loopEnum)!==null&&Ve!==void 0?Ve:v,meta:(Me=z.meta)!==null&&Me!==void 0?Me:!0,messages:(Fe=z.messages)!==null&&Fe!==void 0?Fe:!0,inlineRefs:(qe=z.inlineRefs)!==null&&qe!==void 0?qe:!0,schemaId:(Pe=z.schemaId)!==null&&Pe!==void 0?Pe:"$id",addUsedSchema:(Be=z.addUsedSchema)!==null&&Be!==void 0?Be:!0,validateSchema:(le=z.validateSchema)!==null&&le!==void 0?le:!0,validateFormats:(Te=z.validateFormats)!==null&&Te!==void 0?Te:!0,unicodeRegExp:(W=z.unicodeRegExp)!==null&&W!==void 0?W:!0,int32range:(se=z.int32range)!==null&&se!==void 0?se:!0,uriResolver:x}}class B{constructor(O={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,O=this.opts={...O,...C(O)};const{es5:E,lines:F}=this.opts.code;this.scope=new a.ValueScope({scope:{},prefixes:y,es5:E,lines:F}),this.logger=K(O.logger);const D=O.validateFormats;O.validateFormats=!1,this.RULES=(0,s.getRules)(),T.call(this,A,O,"NOT SUPPORTED"),T.call(this,m,O,"DEPRECATED","warn"),this._metaOpts=G.call(this),O.formats&&J.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),O.keywords&&q.call(this,O.keywords),typeof O.meta=="object"&&this.addMetaSchema(O.meta),R.call(this),O.validateFormats=D}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){const{$data:O,meta:E,schemaId:F}=this.opts;let D=p;F==="id"&&(D={...p},D.id=D.$id,delete D.$id),E&&O&&this.addMetaSchema(D,D[F],!1)}defaultMeta(){const{meta:O,schemaId:E}=this.opts;return this.opts.defaultMeta=typeof O=="object"?O[E]||O:void 0}validate(O,E){let F;if(typeof O=="string"){if(F=this.getSchema(O),!F)throw new Error(`no schema with key or ref "${O}"`)}else F=this.compile(O);const D=F(E);return"$async"in F||(this.errors=F.errors),D}compile(O,E){const F=this._addSchema(O,E);return F.validate||this._compileSchemaEnv(F)}compileAsync(O,E){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");const{loadSchema:F}=this.opts;return D.call(this,O,E);async function D($,M){await g.call(this,$.$schema);const L=this._addSchema($,M);return L.validate||P.call(this,L)}async function g($){$&&!this.getSchema($)&&await D.call(this,{$ref:$},!0)}async function P($){try{return this._compileSchemaEnv($)}catch(M){if(!(M instanceof u.default))throw M;return b.call(this,M),await w.call(this,M.missingSchema),P.call(this,$)}}function b({missingSchema:$,missingRef:M}){if(this.refs[$])throw new Error(`AnySchema ${$} is loaded but ${M} cannot be resolved`)}async function w($){const M=await I.call(this,$);this.refs[$]||await g.call(this,M.$schema),this.refs[$]||this.addSchema(M,$,E)}async function I($){const M=this._loading[$];if(M)return M;try{return await(this._loading[$]=F($))}finally{delete this._loading[$]}}}addSchema(O,E,F,D=this.opts.validateSchema){if(Array.isArray(O)){for(const P of O)this.addSchema(P,void 0,F,D);return this}let g;if(typeof O=="object"){const{schemaId:P}=this.opts;if(g=O[P],g!==void 0&&typeof g!="string")throw new Error(`schema ${P} must be string`)}return E=(0,i.normalizeId)(E||g),this._checkUnique(E),this.schemas[E]=this._addSchema(O,F,E,D,!0),this}addMetaSchema(O,E,F=this.opts.validateSchema){return this.addSchema(O,E,!0,F),this}validateSchema(O,E){if(typeof O=="boolean")return!0;let F;if(F=O.$schema,F!==void 0&&typeof F!="string")throw new Error("$schema must be a string");if(F=F||this.opts.defaultMeta||this.defaultMeta(),!F)return this.logger.warn("meta-schema not available"),this.errors=null,!0;const D=this.validate(F,O);if(!D&&E){const g="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(g);else throw new Error(g)}return D}getSchema(O){let E;for(;typeof(E=N.call(this,O))=="string";)O=E;if(E===void 0){const{schemaId:F}=this.opts,D=new o.SchemaEnv({schema:{},schemaId:F});if(E=o.resolveSchema.call(this,D,O),!E)return;this.refs[O]=E}return E.validate||this._compileSchemaEnv(E)}removeSchema(O){if(O instanceof RegExp)return this._removeAllSchemas(this.schemas,O),this._removeAllSchemas(this.refs,O),this;switch(typeof O){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{const E=N.call(this,O);return typeof E=="object"&&this._cache.delete(E.schema),delete this.schemas[O],delete this.refs[O],this}case"object":{const E=O;this._cache.delete(E);let F=O[this.opts.schemaId];return F&&(F=(0,i.normalizeId)(F),delete this.schemas[F],delete this.refs[F]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(O){for(const E of O)this.addKeyword(E);return this}addKeyword(O,E){let F;if(typeof O=="string")F=O,typeof E=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),E.keyword=F);else if(typeof O=="object"&&E===void 0){if(E=O,F=E.keyword,Array.isArray(F)&&!F.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(oe.call(this,F,E),!E)return(0,l.eachItem)(F,g=>de.call(this,g)),this;fe.call(this,E);const D={...E,type:(0,c.getJSONTypes)(E.type),schemaType:(0,c.getJSONTypes)(E.schemaType)};return(0,l.eachItem)(F,D.type.length===0?g=>de.call(this,g,D):g=>D.type.forEach(P=>de.call(this,g,D,P))),this}getKeyword(O){const E=this.RULES.all[O];return typeof E=="object"?E.definition:!!E}removeKeyword(O){const{RULES:E}=this;delete E.keywords[O],delete E.all[O];for(const F of E.rules){const D=F.rules.findIndex(g=>g.keyword===O);D>=0&&F.rules.splice(D,1)}return this}addFormat(O,E){return typeof E=="string"&&(E=new RegExp(E)),this.formats[O]=E,this}errorsText(O=this.errors,{separator:E=", ",dataVar:F="data"}={}){return!O||O.length===0?"No errors":O.map(D=>`${F}${D.instancePath} ${D.message}`).reduce((D,g)=>D+E+g)}$dataMetaSchema(O,E){const F=this.RULES.all;O=JSON.parse(JSON.stringify(O));for(const D of E){const g=D.split("/").slice(1);let P=O;for(const b of g)P=P[b];for(const b in F){const w=F[b];if(typeof w!="object")continue;const{$data:I}=w.definition,$=P[b];I&&$&&(P[b]=pe($))}}return O}_removeAllSchemas(O,E){for(const F in O){const D=O[F];(!E||E.test(F))&&(typeof D=="string"?delete O[F]:D&&!D.meta&&(this._cache.delete(D.schema),delete O[F]))}}_addSchema(O,E,F,D=this.opts.validateSchema,g=this.opts.addUsedSchema){let P;const{schemaId:b}=this.opts;if(typeof O=="object")P=O[b];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof O!="boolean")throw new Error("schema must be object or boolean")}let w=this._cache.get(O);if(w!==void 0)return w;F=(0,i.normalizeId)(P||F);const I=i.getSchemaRefs.call(this,O,F);return w=new o.SchemaEnv({schema:O,schemaId:b,meta:E,baseId:F,localRefs:I}),this._cache.set(w.schema,w),g&&!F.startsWith("#")&&(F&&this._checkUnique(F),this.refs[F]=w),D&&this.validateSchema(O,!0),w}_checkUnique(O){if(this.schemas[O]||this.refs[O])throw new Error(`schema with key or id "${O}" already exists`)}_compileSchemaEnv(O){if(O.meta?this._compileMetaSchema(O):o.compileSchema.call(this,O),!O.validate)throw new Error("ajv implementation error");return O.validate}_compileMetaSchema(O){const E=this.opts;this.opts=this._metaOpts;try{o.compileSchema.call(this,O)}finally{this.opts=E}}}B.ValidationError=n.default,B.MissingRefError=u.default,e.default=B;function T(z,O,E,F="error"){for(const D in z){const g=D;g in O&&this.logger[F](`${E}: option ${D}. ${z[g]}`)}}function N(z){return z=(0,i.normalizeId)(z),this.schemas[z]||this.refs[z]}function R(){const z=this.opts.schemas;if(z)if(Array.isArray(z))this.addSchema(z);else for(const O in z)this.addSchema(z[O],O)}function J(){for(const z in this.opts.formats){const O=this.opts.formats[z];O&&this.addFormat(z,O)}}function q(z){if(Array.isArray(z)){this.addVocabulary(z);return}this.logger.warn("keywords option as map is deprecated, pass array");for(const O in z){const E=z[O];E.keyword||(E.keyword=O),this.addKeyword(E)}}function G(){const z={...this.opts};for(const O of h)delete z[O];return z}const ee={log(){},warn(){},error(){}};function K(z){if(z===!1)return ee;if(z===void 0)return console;if(z.log&&z.warn&&z.error)return z;throw new Error("logger must implement log, warn and error methods")}const ue=/^[a-z_$][a-z0-9_$:-]*$/i;function oe(z,O){const{RULES:E}=this;if((0,l.eachItem)(z,F=>{if(E.keywords[F])throw new Error(`Keyword ${F} is already defined`);if(!ue.test(F))throw new Error(`Keyword ${F} has invalid name`)}),!!O&&O.$data&&!("code"in O||"validate"in O))throw new Error('$data keyword must have "code" or "validate" function')}function de(z,O,E){var F;const D=O==null?void 0:O.post;if(E&&D)throw new Error('keyword with "post" flag cannot have "type"');const{RULES:g}=this;let P=D?g.post:g.rules.find(({type:w})=>w===E);if(P||(P={type:E,rules:[]},g.rules.push(P)),g.keywords[z]=!0,!O)return;const b={keyword:z,definition:{...O,type:(0,c.getJSONTypes)(O.type),schemaType:(0,c.getJSONTypes)(O.schemaType)}};O.before?he.call(this,P,b,O.before):P.rules.push(b),g.all[z]=b,(F=O.implements)===null||F===void 0||F.forEach(w=>this.addKeyword(w))}function he(z,O,E){const F=z.rules.findIndex(D=>D.keyword===E);F>=0?z.rules.splice(F,0,O):(z.rules.push(O),this.logger.warn(`rule ${E} is not defined`))}function fe(z){let{metaSchema:O}=z;O!==void 0&&(z.$data&&this.opts.$data&&(O=pe(O)),z.validateSchema=this.compile(O,!0))}const ge={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function pe(z){return{anyOf:[z,ge]}}})(p9);var WE={},JE={},zE={};Object.defineProperty(zE,"__esModule",{value:!0});const xte={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};zE.default=xte;var eo={};Object.defineProperty(eo,"__esModule",{value:!0});eo.callRef=eo.getValidate=void 0;const Rte=Ba,Mg=rt,$r=st,Po=nu,Lg=qr,al=we,jte={keyword:"$ref",schemaType:"string",code(e){const{gen:t,schema:r,it:n}=e,{baseId:u,schemaEnv:s,validateName:o,opts:a,self:i}=n,{root:c}=s;if((r==="#"||r==="#/")&&u===c.baseId)return p();const l=Lg.resolveRef.call(i,c,u,r);if(l===void 0)throw new Rte.default(n.opts.uriResolver,u,r);if(l instanceof Lg.SchemaEnv)return d(l);return f(l);function p(){if(s===c)return Rl(e,o,s,s.$async);const h=t.scopeValue("root",{ref:c});return Rl(e,(0,$r._)`${h}.validate`,c,c.$async)}function d(h){const y=Q9(e,h);Rl(e,y,h,h.$async)}function f(h){const y=t.scopeValue("schema",a.code.source===!0?{ref:h,code:(0,$r.stringify)(h)}:{ref:h}),A=t.name("valid"),m=e.subschema({schema:h,dataTypes:[],schemaPath:$r.nil,topSchemaRef:y,errSchemaPath:r},A);e.mergeEvaluated(m),e.ok(A)}}};function Q9(e,t){const{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0,$r._)`${r.scopeValue("wrapper",{ref:t})}.validate`}eo.getValidate=Q9;function Rl(e,t,r,n){const{gen:u,it:s}=e,{allErrors:o,schemaEnv:a,opts:i}=s,c=i.passContext?Po.default.this:$r.nil;n?l():p();function l(){if(!a.$async)throw new Error("async schema referenced by sync schema");const h=u.let("valid");u.try(()=>{u.code((0,$r._)`await ${(0,Mg.callValidateCode)(e,t,c)}`),f(t),o||u.assign(h,!0)},y=>{u.if((0,$r._)`!(${y} instanceof ${s.ValidationError})`,()=>u.throw(y)),d(y),o||u.assign(h,!1)}),e.ok(h)}function p(){e.result((0,Mg.callValidateCode)(e,t,c),()=>f(t),()=>d(t))}function d(h){const y=(0,$r._)`${h}.errors`;u.assign(Po.default.vErrors,(0,$r._)`${Po.default.vErrors} === null ? ${y} : ${Po.default.vErrors}.concat(${y})`),u.assign(Po.default.errors,(0,$r._)`${Po.default.vErrors}.length`)}function f(h){var y;if(!s.opts.unevaluated)return;const A=(y=r==null?void 0:r.validate)===null||y===void 0?void 0:y.evaluated;if(s.props!==!0)if(A&&!A.dynamicProps)A.props!==void 0&&(s.props=al.mergeEvaluated.props(u,A.props,s.props));else{const m=u.var("props",(0,$r._)`${h}.evaluated.props`);s.props=al.mergeEvaluated.props(u,m,s.props,$r.Name)}if(s.items!==!0)if(A&&!A.dynamicItems)A.items!==void 0&&(s.items=al.mergeEvaluated.items(u,A.items,s.items));else{const m=u.var("items",(0,$r._)`${h}.evaluated.items`);s.items=al.mergeEvaluated.items(u,m,s.items,$r.Name)}}}eo.callRef=Rl;eo.default=jte;Object.defineProperty(JE,"__esModule",{value:!0});const Mte=zE,Lte=eo,Ute=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",Mte.default,Lte.default];JE.default=Ute;var KE={},XE={};Object.defineProperty(XE,"__esModule",{value:!0});const Cp=st,Wu=Cp.operators,bp={maximum:{okStr:"<=",ok:Wu.LTE,fail:Wu.GT},minimum:{okStr:">=",ok:Wu.GTE,fail:Wu.LT},exclusiveMaximum:{okStr:"<",ok:Wu.LT,fail:Wu.GTE},exclusiveMinimum:{okStr:">",ok:Wu.GT,fail:Wu.LTE}},Gte={message:({keyword:e,schemaCode:t})=>(0,Cp.str)`must be ${bp[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,Cp._)`{comparison: ${bp[e].okStr}, limit: ${t}}`},Vte={keyword:Object.keys(bp),type:"number",schemaType:"number",$data:!0,error:Gte,code(e){const{keyword:t,data:r,schemaCode:n}=e;e.fail$data((0,Cp._)`${r} ${bp[t].fail} ${n} || isNaN(${r})`)}};XE.default=Vte;var YE={};Object.defineProperty(YE,"__esModule",{value:!0});const Ci=st,Hte={message:({schemaCode:e})=>(0,Ci.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0,Ci._)`{multipleOf: ${e}}`},Wte={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:Hte,code(e){const{gen:t,data:r,schemaCode:n,it:u}=e,s=u.opts.multipleOfPrecision,o=t.let("res"),a=s?(0,Ci._)`Math.abs(Math.round(${o}) - ${o}) > 1e-${s}`:(0,Ci._)`${o} !== parseInt(${o})`;e.fail$data((0,Ci._)`(${n} === 0 || (${o} = ${r}/${n}, ${a}))`)}};YE.default=Wte;var ZE={},QE={};Object.defineProperty(QE,"__esModule",{value:!0});function ew(e){const t=e.length;let r=0,n=0,u;for(;n=55296&&u<=56319&&n(0,xs._)`{limit: ${e}}`},Xte={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:Kte,code(e){const{keyword:t,data:r,schemaCode:n,it:u}=e,s=t==="maxLength"?xs.operators.GT:xs.operators.LT,o=u.opts.unicode===!1?(0,xs._)`${r}.length`:(0,xs._)`${(0,Jte.useFunc)(e.gen,zte.default)}(${r})`;e.fail$data((0,xs._)`${o} ${s} ${n}`)}};ZE.default=Xte;var e3={};Object.defineProperty(e3,"__esModule",{value:!0});const Yte=rt,Sp=st,Zte={message:({schemaCode:e})=>(0,Sp.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0,Sp._)`{pattern: ${e}}`},Qte={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:Zte,code(e){const{data:t,$data:r,schema:n,schemaCode:u,it:s}=e,o=s.opts.unicodeRegExp?"u":"",a=r?(0,Sp._)`(new RegExp(${u}, ${o}))`:(0,Yte.usePattern)(e,n);e.fail$data((0,Sp._)`!${a}.test(${t})`)}};e3.default=Qte;var t3={};Object.defineProperty(t3,"__esModule",{value:!0});const bi=st,ere={message({keyword:e,schemaCode:t}){const r=e==="maxProperties"?"more":"fewer";return(0,bi.str)`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>(0,bi._)`{limit: ${e}}`},tre={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:ere,code(e){const{keyword:t,data:r,schemaCode:n}=e,u=t==="maxProperties"?bi.operators.GT:bi.operators.LT;e.fail$data((0,bi._)`Object.keys(${r}).length ${u} ${n}`)}};t3.default=tre;var r3={};Object.defineProperty(r3,"__esModule",{value:!0});const za=rt,Si=st,rre=we,nre={message:({params:{missingProperty:e}})=>(0,Si.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0,Si._)`{missingProperty: ${e}}`},ure={keyword:"required",type:"object",schemaType:"array",$data:!0,error:nre,code(e){const{gen:t,schema:r,schemaCode:n,data:u,$data:s,it:o}=e,{opts:a}=o;if(!s&&r.length===0)return;const i=r.length>=a.loopRequired;if(o.allErrors?c():l(),a.strictRequired){const f=e.parentSchema.properties,{definedProperties:h}=e.it;for(const y of r)if((f==null?void 0:f[y])===void 0&&!h.has(y)){const A=o.schemaEnv.baseId+o.errSchemaPath,m=`required property "${y}" is not defined at "${A}" (strictRequired)`;(0,rre.checkStrictMode)(o,m,o.opts.strictRequired)}}function c(){if(i||s)e.block$data(Si.nil,p);else for(const f of r)(0,za.checkReportMissingProp)(e,f)}function l(){const f=t.let("missing");if(i||s){const h=t.let("valid",!0);e.block$data(h,()=>d(f,h)),e.ok(h)}else t.if((0,za.checkMissingProp)(e,r,f)),(0,za.reportMissingProp)(e,f),t.else()}function p(){t.forOf("prop",n,f=>{e.setParams({missingProperty:f}),t.if((0,za.noPropertyInData)(t,u,f,a.ownProperties),()=>e.error())})}function d(f,h){e.setParams({missingProperty:f}),t.forOf(f,n,()=>{t.assign(h,(0,za.propertyInData)(t,u,f,a.ownProperties)),t.if((0,Si.not)(h),()=>{e.error(),t.break()})},Si.nil)}}};r3.default=ure;var n3={};Object.defineProperty(n3,"__esModule",{value:!0});const wi=st,sre={message({keyword:e,schemaCode:t}){const r=e==="maxItems"?"more":"fewer";return(0,wi.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0,wi._)`{limit: ${e}}`},ore={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:sre,code(e){const{keyword:t,data:r,schemaCode:n}=e,u=t==="maxItems"?wi.operators.GT:wi.operators.LT;e.fail$data((0,wi._)`${r}.length ${u} ${n}`)}};n3.default=ore;var u3={},pc={};Object.defineProperty(pc,"__esModule",{value:!0});const tw=_9;tw.code='require("ajv/dist/runtime/equal").default';pc.default=tw;Object.defineProperty(u3,"__esModule",{value:!0});const Nf=Yt,lr=st,are=we,ire=pc,cre={message:({params:{i:e,j:t}})=>(0,lr.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0,lr._)`{i: ${e}, j: ${t}}`},lre={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:cre,code(e){const{gen:t,data:r,$data:n,schema:u,parentSchema:s,schemaCode:o,it:a}=e;if(!n&&!u)return;const i=t.let("valid"),c=s.items?(0,Nf.getSchemaTypes)(s.items):[];e.block$data(i,l,(0,lr._)`${o} === false`),e.ok(i);function l(){const h=t.let("i",(0,lr._)`${r}.length`),y=t.let("j");e.setParams({i:h,j:y}),t.assign(i,!0),t.if((0,lr._)`${h} > 1`,()=>(p()?d:f)(h,y))}function p(){return c.length>0&&!c.some(h=>h==="object"||h==="array")}function d(h,y){const A=t.name("item"),m=(0,Nf.checkDataTypes)(c,A,a.opts.strictNumbers,Nf.DataType.Wrong),v=t.const("indices",(0,lr._)`{}`);t.for((0,lr._)`;${h}--;`,()=>{t.let(A,(0,lr._)`${r}[${h}]`),t.if(m,(0,lr._)`continue`),c.length>1&&t.if((0,lr._)`typeof ${A} == "string"`,(0,lr._)`${A} += "_"`),t.if((0,lr._)`typeof ${v}[${A}] == "number"`,()=>{t.assign(y,(0,lr._)`${v}[${A}]`),e.error(),t.assign(i,!1).break()}).code((0,lr._)`${v}[${A}] = ${h}`)})}function f(h,y){const A=(0,are.useFunc)(t,ire.default),m=t.name("outer");t.label(m).for((0,lr._)`;${h}--;`,()=>t.for((0,lr._)`${y} = ${h}; ${y}--;`,()=>t.if((0,lr._)`${A}(${r}[${h}], ${r}[${y}])`,()=>{e.error(),t.assign(i,!1).break(m)})))}}};u3.default=lre;var s3={};Object.defineProperty(s3,"__esModule",{value:!0});const Ph=st,pre=we,dre=pc,fre={message:"must be equal to constant",params:({schemaCode:e})=>(0,Ph._)`{allowedValue: ${e}}`},Dre={keyword:"const",$data:!0,error:fre,code(e){const{gen:t,data:r,$data:n,schemaCode:u,schema:s}=e;n||s&&typeof s=="object"?e.fail$data((0,Ph._)`!${(0,pre.useFunc)(t,dre.default)}(${r}, ${u})`):e.fail((0,Ph._)`${s} !== ${r}`)}};s3.default=Dre;var o3={};Object.defineProperty(o3,"__esModule",{value:!0});const di=st,hre=we,mre=pc,Ere={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0,di._)`{allowedValues: ${e}}`},yre={keyword:"enum",schemaType:"array",$data:!0,error:Ere,code(e){const{gen:t,data:r,$data:n,schema:u,schemaCode:s,it:o}=e;if(!n&&u.length===0)throw new Error("enum must have non-empty array");const a=u.length>=o.opts.loopEnum;let i;const c=()=>i??(i=(0,hre.useFunc)(t,mre.default));let l;if(a||n)l=t.let("valid"),e.block$data(l,p);else{if(!Array.isArray(u))throw new Error("ajv implementation error");const f=t.const("vSchema",s);l=(0,di.or)(...u.map((h,y)=>d(f,y)))}e.pass(l);function p(){t.assign(l,!1),t.forOf("v",s,f=>t.if((0,di._)`${c()}(${r}, ${f})`,()=>t.assign(l,!0).break()))}function d(f,h){const y=u[h];return typeof y=="object"&&y!==null?(0,di._)`${c()}(${r}, ${f}[${h}])`:(0,di._)`${r} === ${y}`}}};o3.default=yre;Object.defineProperty(KE,"__esModule",{value:!0});const vre=XE,gre=YE,Are=ZE,Fre=e3,Cre=t3,bre=r3,Sre=n3,wre=u3,_re=s3,Bre=o3,Tre=[vre.default,gre.default,Are.default,Fre.default,Cre.default,bre.default,Sre.default,wre.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},_re.default,Bre.default];KE.default=Tre;var a3={},Ta={};Object.defineProperty(Ta,"__esModule",{value:!0});Ta.validateAdditionalItems=void 0;const Rs=st,kh=we,$re={message:({params:{len:e}})=>(0,Rs.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,Rs._)`{limit: ${e}}`},Pre={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:$re,code(e){const{parentSchema:t,it:r}=e,{items:n}=t;if(!Array.isArray(n)){(0,kh.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}rw(e,n)}};function rw(e,t){const{gen:r,schema:n,data:u,keyword:s,it:o}=e;o.items=!0;const a=r.const("len",(0,Rs._)`${u}.length`);if(n===!1)e.setParams({len:t.length}),e.pass((0,Rs._)`${a} <= ${t.length}`);else if(typeof n=="object"&&!(0,kh.alwaysValidSchema)(o,n)){const c=r.var("valid",(0,Rs._)`${a} <= ${t.length}`);r.if((0,Rs.not)(c),()=>i(c)),e.ok(c)}function i(c){r.forRange("i",t.length,a,l=>{e.subschema({keyword:s,dataProp:l,dataPropType:kh.Type.Num},c),o.allErrors||r.if((0,Rs.not)(c),()=>r.break())})}}Ta.validateAdditionalItems=rw;Ta.default=Pre;var i3={},$a={};Object.defineProperty($a,"__esModule",{value:!0});$a.validateTuple=void 0;const Ug=st,jl=we,kre=rt,Ore={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){const{schema:t,it:r}=e;if(Array.isArray(t))return nw(e,"additionalItems",t);r.items=!0,!(0,jl.alwaysValidSchema)(r,t)&&e.ok((0,kre.validateArray)(e))}};function nw(e,t,r=e.schema){const{gen:n,parentSchema:u,data:s,keyword:o,it:a}=e;l(u),a.opts.unevaluated&&r.length&&a.items!==!0&&(a.items=jl.mergeEvaluated.items(n,r.length,a.items));const i=n.name("valid"),c=n.const("len",(0,Ug._)`${s}.length`);r.forEach((p,d)=>{(0,jl.alwaysValidSchema)(a,p)||(n.if((0,Ug._)`${c} > ${d}`,()=>e.subschema({keyword:o,schemaProp:d,dataProp:d},i)),e.ok(i))});function l(p){const{opts:d,errSchemaPath:f}=a,h=r.length,y=h===p.minItems&&(h===p.maxItems||p[t]===!1);if(d.strictTuples&&!y){const A=`"${o}" is ${h}-tuple, but minItems or maxItems/${t} are not specified or different at path "${f}"`;(0,jl.checkStrictMode)(a,A,d.strictTuples)}}}$a.validateTuple=nw;$a.default=Ore;Object.defineProperty(i3,"__esModule",{value:!0});const Ire=$a,Nre={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,Ire.validateTuple)(e,"items")};i3.default=Nre;var c3={};Object.defineProperty(c3,"__esModule",{value:!0});const Gg=st,qre=we,xre=rt,Rre=Ta,jre={message:({params:{len:e}})=>(0,Gg.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,Gg._)`{limit: ${e}}`},Mre={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:jre,code(e){const{schema:t,parentSchema:r,it:n}=e,{prefixItems:u}=r;n.items=!0,!(0,qre.alwaysValidSchema)(n,t)&&(u?(0,Rre.validateAdditionalItems)(e,u):e.ok((0,xre.validateArray)(e)))}};c3.default=Mre;var l3={};Object.defineProperty(l3,"__esModule",{value:!0});const un=st,il=we,Lre={message:({params:{min:e,max:t}})=>t===void 0?(0,un.str)`must contain at least ${e} valid item(s)`:(0,un.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0,un._)`{minContains: ${e}}`:(0,un._)`{minContains: ${e}, maxContains: ${t}}`},Ure={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:Lre,code(e){const{gen:t,schema:r,parentSchema:n,data:u,it:s}=e;let o,a;const{minContains:i,maxContains:c}=n;s.opts.next?(o=i===void 0?1:i,a=c):o=1;const l=t.const("len",(0,un._)`${u}.length`);if(e.setParams({min:o,max:a}),a===void 0&&o===0){(0,il.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&o>a){(0,il.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0,il.alwaysValidSchema)(s,r)){let y=(0,un._)`${l} >= ${o}`;a!==void 0&&(y=(0,un._)`${y} && ${l} <= ${a}`),e.pass(y);return}s.items=!0;const p=t.name("valid");a===void 0&&o===1?f(p,()=>t.if(p,()=>t.break())):o===0?(t.let(p,!0),a!==void 0&&t.if((0,un._)`${u}.length > 0`,d)):(t.let(p,!1),d()),e.result(p,()=>e.reset());function d(){const y=t.name("_valid"),A=t.let("count",0);f(y,()=>t.if(y,()=>h(A)))}function f(y,A){t.forRange("i",0,l,m=>{e.subschema({keyword:"contains",dataProp:m,dataPropType:il.Type.Num,compositeRule:!0},y),A()})}function h(y){t.code((0,un._)`${y}++`),a===void 0?t.if((0,un._)`${y} >= ${o}`,()=>t.assign(p,!0).break()):(t.if((0,un._)`${y} > ${a}`,()=>t.assign(p,!1).break()),o===1?t.assign(p,!0):t.if((0,un._)`${y} >= ${o}`,()=>t.assign(p,!0)))}}};l3.default=Ure;var uw={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.validateSchemaDeps=e.validatePropertyDeps=e.error=void 0;const t=st,r=we,n=rt;e.error={message:({params:{property:i,depsCount:c,deps:l}})=>{const p=c===1?"property":"properties";return(0,t.str)`must have ${p} ${l} when property ${i} is present`},params:({params:{property:i,depsCount:c,deps:l,missingProperty:p}})=>(0,t._)`{property: ${i}, + || ${o} === "boolean" || ${u} === null`).assign(a,(0,Ze._)`[${u}]`)}}}function qQ({gen:e,parentData:t,parentDataProperty:r},n){e.if((0,Ze._)`${t} !== undefined`,()=>e.assign((0,Ze._)`${t}[${r}]`,n))}function Th(e,t,r,n=aa.Correct){const u=n===aa.Correct?Ze.operators.EQ:Ze.operators.NEQ;let s;switch(e){case"null":return(0,Ze._)`${t} ${u} null`;case"array":s=(0,Ze._)`Array.isArray(${t})`;break;case"object":s=(0,Ze._)`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":s=o((0,Ze._)`!(${t} % 1) && !isNaN(${t})`);break;case"number":s=o();break;default:return(0,Ze._)`typeof ${t} ${u} ${e}`}return n===aa.Correct?s:(0,Ze.not)(s);function o(a=Ze.nil){return(0,Ze.and)((0,Ze._)`typeof ${t} == "number"`,a,r?(0,Ze._)`isFinite(${t})`:Ze.nil)}}Yt.checkDataType=Th;function NE(e,t,r,n){if(e.length===1)return Th(e[0],t,r,n);let u;const s=(0,F9.toHash)(e);if(s.array&&s.object){const o=(0,Ze._)`typeof ${t} != "object"`;u=s.null?o:(0,Ze._)`!${t} || ${o}`,delete s.null,delete s.array,delete s.object}else u=Ze.nil;s.number&&delete s.integer;for(const o in s)u=(0,Ze.and)(u,Th(o,t,r,n));return u}Yt.checkDataTypes=NE;const xQ={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0,Ze._)`{type: ${e}}`:(0,Ze._)`{type: ${t}}`};function qE(e){const t=RQ(e);(0,PQ.reportError)(t,xQ)}Yt.reportTypeError=qE;function RQ(e){const{gen:t,data:r,schema:n}=e,u=(0,F9.schemaRefOrVal)(e,n,"type");return{gen:t,keyword:"type",data:r,schema:n.type,schemaCode:u,schemaValue:u,parentSchema:n,params:{},it:e}}var ad={};Object.defineProperty(ad,"__esModule",{value:!0});ad.assignDefaults=void 0;const $o=st,jQ=we;function MQ(e,t){const{properties:r,items:n}=e.schema;if(t==="object"&&r)for(const u in r)Pg(e,u,r[u].default);else t==="array"&&Array.isArray(n)&&n.forEach((u,s)=>Pg(e,s,u.default))}ad.assignDefaults=MQ;function Pg(e,t,r){const{gen:n,compositeRule:u,data:s,opts:o}=e;if(r===void 0)return;const a=(0,$o._)`${s}${(0,$o.getProperty)(t)}`;if(u){(0,jQ.checkStrictMode)(e,`default is ignored for: ${a}`);return}let i=(0,$o._)`${a} === undefined`;o.useDefaults==="empty"&&(i=(0,$o._)`${i} || ${a} === null || ${a} === ""`),n.if(i,(0,$o._)`${a} = ${(0,$o.stringify)(r)}`)}var Xn={},rt={};Object.defineProperty(rt,"__esModule",{value:!0});rt.validateUnion=rt.validateArray=rt.usePattern=rt.callValidateCode=rt.schemaProperties=rt.allSchemaProperties=rt.noPropertyInData=rt.propertyInData=rt.isOwnProperty=rt.hasPropFunc=rt.reportMissingProp=rt.checkMissingProp=rt.checkReportMissingProp=void 0;const wt=st,xE=we,Hu=nu,LQ=we;function UQ(e,t){const{gen:r,data:n,it:u}=e;r.if(jE(r,n,t,u.opts.ownProperties),()=>{e.setParams({missingProperty:(0,wt._)`${t}`},!0),e.error()})}rt.checkReportMissingProp=UQ;function GQ({gen:e,data:t,it:{opts:r}},n,u){return(0,wt.or)(...n.map(s=>(0,wt.and)(jE(e,t,s,r.ownProperties),(0,wt._)`${u} = ${s}`)))}rt.checkMissingProp=GQ;function VQ(e,t){e.setParams({missingProperty:t},!0),e.error()}rt.reportMissingProp=VQ;function S9(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,wt._)`Object.prototype.hasOwnProperty`})}rt.hasPropFunc=S9;function RE(e,t,r){return(0,wt._)`${S9(e)}.call(${t}, ${r})`}rt.isOwnProperty=RE;function HQ(e,t,r,n){const u=(0,wt._)`${t}${(0,wt.getProperty)(r)} !== undefined`;return n?(0,wt._)`${u} && ${RE(e,t,r)}`:u}rt.propertyInData=HQ;function jE(e,t,r,n){const u=(0,wt._)`${t}${(0,wt.getProperty)(r)} === undefined`;return n?(0,wt.or)(u,(0,wt.not)(RE(e,t,r))):u}rt.noPropertyInData=jE;function w9(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}rt.allSchemaProperties=w9;function WQ(e,t){return w9(t).filter(r=>!(0,xE.alwaysValidSchema)(e,t[r]))}rt.schemaProperties=WQ;function JQ({schemaCode:e,data:t,it:{gen:r,topSchemaRef:n,schemaPath:u,errorPath:s},it:o},a,i,c){const l=c?(0,wt._)`${e}, ${t}, ${n}${u}`:t,p=[[Hu.default.instancePath,(0,wt.strConcat)(Hu.default.instancePath,s)],[Hu.default.parentData,o.parentData],[Hu.default.parentDataProperty,o.parentDataProperty],[Hu.default.rootData,Hu.default.rootData]];o.opts.dynamicRef&&p.push([Hu.default.dynamicAnchors,Hu.default.dynamicAnchors]);const d=(0,wt._)`${l}, ${r.object(...p)}`;return i!==wt.nil?(0,wt._)`${a}.call(${i}, ${d})`:(0,wt._)`${a}(${d})`}rt.callValidateCode=JQ;const zQ=(0,wt._)`new RegExp`;function KQ({gen:e,it:{opts:t}},r){const n=t.unicodeRegExp?"u":"",{regExp:u}=t.code,s=u(r,n);return e.scopeValue("pattern",{key:s.toString(),ref:s,code:(0,wt._)`${u.code==="new RegExp"?zQ:(0,LQ.useFunc)(e,u)}(${r}, ${n})`})}rt.usePattern=KQ;function XQ(e){const{gen:t,data:r,keyword:n,it:u}=e,s=t.name("valid");if(u.allErrors){const a=t.let("valid",!0);return o(()=>t.assign(a,!1)),a}return t.var(s,!0),o(()=>t.break()),s;function o(a){const i=t.const("len",(0,wt._)`${r}.length`);t.forRange("i",0,i,c=>{e.subschema({keyword:n,dataProp:c,dataPropType:xE.Type.Num},s),t.if((0,wt.not)(s),a)})}}rt.validateArray=XQ;function YQ(e){const{gen:t,schema:r,keyword:n,it:u}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(i=>(0,xE.alwaysValidSchema)(u,i))&&!u.opts.unevaluated)return;const o=t.let("valid",!1),a=t.name("_valid");t.block(()=>r.forEach((i,c)=>{const l=e.subschema({keyword:n,schemaProp:c,compositeRule:!0},a);t.assign(o,(0,wt._)`${o} || ${a}`),e.mergeValidEvaluated(l,a)||t.if((0,wt.not)(o))})),e.result(o,()=>e.reset(),()=>e.error(!0))}rt.validateUnion=YQ;Object.defineProperty(Xn,"__esModule",{value:!0});Xn.validateKeywordUsage=Xn.validSchemaType=Xn.funcKeywordCode=Xn.macroKeywordCode=void 0;const Ar=st,qs=nu,ZQ=rt,QQ=cc;function eee(e,t){const{gen:r,keyword:n,schema:u,parentSchema:s,it:o}=e,a=t.macro.call(o.self,u,s,o),i=_9(r,n,a);o.opts.validateSchema!==!1&&o.self.validateSchema(a,!0);const c=r.name("valid");e.subschema({schema:a,schemaPath:Ar.nil,errSchemaPath:`${o.errSchemaPath}/${n}`,topSchemaRef:i,compositeRule:!0},c),e.pass(c,()=>e.error(!0))}Xn.macroKeywordCode=eee;function tee(e,t){var r;const{gen:n,keyword:u,schema:s,parentSchema:o,$data:a,it:i}=e;nee(i,t);const c=!a&&t.compile?t.compile.call(i.self,s,o,i):t.validate,l=_9(n,u,c),p=n.let("valid");e.block$data(p,d),e.ok((r=t.valid)!==null&&r!==void 0?r:p);function d(){if(t.errors===!1)y(),t.modifying&&kg(e),A(()=>e.error());else{const m=t.async?f():h();t.modifying&&kg(e),A(()=>ree(e,m))}}function f(){const m=n.let("ruleErrs",null);return n.try(()=>y((0,Ar._)`await `),v=>n.assign(p,!1).if((0,Ar._)`${v} instanceof ${i.ValidationError}`,()=>n.assign(m,(0,Ar._)`${v}.errors`),()=>n.throw(v))),m}function h(){const m=(0,Ar._)`${l}.errors`;return n.assign(m,null),y(Ar.nil),m}function y(m=t.async?(0,Ar._)`await `:Ar.nil){const v=i.opts.passContext?qs.default.this:qs.default.self,C=!("compile"in t&&!a||t.schema===!1);n.assign(p,(0,Ar._)`${m}${(0,ZQ.callValidateCode)(e,l,v,C)}`,t.modifying)}function A(m){var v;n.if((0,Ar.not)((v=t.valid)!==null&&v!==void 0?v:p),m)}}Xn.funcKeywordCode=tee;function kg(e){const{gen:t,data:r,it:n}=e;t.if(n.parentData,()=>t.assign(r,(0,Ar._)`${n.parentData}[${n.parentDataProperty}]`))}function ree(e,t){const{gen:r}=e;r.if((0,Ar._)`Array.isArray(${t})`,()=>{r.assign(qs.default.vErrors,(0,Ar._)`${qs.default.vErrors} === null ? ${t} : ${qs.default.vErrors}.concat(${t})`).assign(qs.default.errors,(0,Ar._)`${qs.default.vErrors}.length`),(0,QQ.extendErrors)(e)},()=>e.error())}function nee({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function _9(e,t,r){if(r===void 0)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,Ar.stringify)(r)})}function uee(e,t,r=!1){return!t.length||t.some(n=>n==="array"?Array.isArray(e):n==="object"?e&&typeof e=="object"&&!Array.isArray(e):typeof e==n||r&&typeof e>"u")}Xn.validSchemaType=uee;function see({schema:e,opts:t,self:r,errSchemaPath:n},u,s){if(Array.isArray(u.keyword)?!u.keyword.includes(s):u.keyword!==s)throw new Error("ajv implementation error");const o=u.dependencies;if(o!=null&&o.some(a=>!Object.prototype.hasOwnProperty.call(e,a)))throw new Error(`parent schema must have dependencies of ${s}: ${o.join(",")}`);if(u.validateSchema&&!u.validateSchema(e[s])){const i=`keyword "${s}" value is invalid at path "${n}": `+r.errorsText(u.validateSchema.errors);if(t.validateSchema==="log")r.logger.error(i);else throw new Error(i)}}Xn.validateKeywordUsage=see;var us={};Object.defineProperty(us,"__esModule",{value:!0});us.extendSubschemaMode=us.extendSubschemaData=us.getSubschema=void 0;const Jn=st,B9=we;function oee(e,{keyword:t,schemaProp:r,schema:n,schemaPath:u,errSchemaPath:s,topSchemaRef:o}){if(t!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(t!==void 0){const a=e.schema[t];return r===void 0?{schema:a,schemaPath:(0,Jn._)`${e.schemaPath}${(0,Jn.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:a[r],schemaPath:(0,Jn._)`${e.schemaPath}${(0,Jn.getProperty)(t)}${(0,Jn.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,B9.escapeFragment)(r)}`}}if(n!==void 0){if(u===void 0||s===void 0||o===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:u,topSchemaRef:o,errSchemaPath:s}}throw new Error('either "keyword" or "schema" must be passed')}us.getSubschema=oee;function aee(e,t,{dataProp:r,dataPropType:n,data:u,dataTypes:s,propertyName:o}){if(u!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');const{gen:a}=t;if(r!==void 0){const{errorPath:c,dataPathArr:l,opts:p}=t,d=a.let("data",(0,Jn._)`${t.data}${(0,Jn.getProperty)(r)}`,!0);i(d),e.errorPath=(0,Jn.str)`${c}${(0,B9.getErrorPath)(r,n,p.jsPropertySyntax)}`,e.parentDataProperty=(0,Jn._)`${r}`,e.dataPathArr=[...l,e.parentDataProperty]}if(u!==void 0){const c=u instanceof Jn.Name?u:a.let("data",u,!0);i(c),o!==void 0&&(e.propertyName=o)}s&&(e.dataTypes=s);function i(c){e.data=c,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,c]}}us.extendSubschemaData=aee;function iee(e,{jtdDiscriminator:t,jtdMetadata:r,compositeRule:n,createErrors:u,allErrors:s}){n!==void 0&&(e.compositeRule=n),u!==void 0&&(e.createErrors=u),s!==void 0&&(e.allErrors=s),e.jtdDiscriminator=t,e.jtdMetadata=r}us.extendSubschemaMode=iee;var fr={},T9=function e(t,r){if(t===r)return!0;if(t&&r&&typeof t=="object"&&typeof r=="object"){if(t.constructor!==r.constructor)return!1;var n,u,s;if(Array.isArray(t)){if(n=t.length,n!=r.length)return!1;for(u=n;u--!==0;)if(!e(t[u],r[u]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if(s=Object.keys(t),n=s.length,n!==Object.keys(r).length)return!1;for(u=n;u--!==0;)if(!Object.prototype.hasOwnProperty.call(r,s[u]))return!1;for(u=n;u--!==0;){var o=s[u];if(!e(t[o],r[o]))return!1}return!0}return t!==t&&r!==r},$9={exports:{}},Qu=$9.exports=function(e,t,r){typeof t=="function"&&(r=t,t={}),r=t.cb||r;var n=typeof r=="function"?r:r.pre||function(){},u=r.post||function(){};ql(t,n,u,e,"",e)};Qu.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Qu.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Qu.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Qu.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function ql(e,t,r,n,u,s,o,a,i,c){if(n&&typeof n=="object"&&!Array.isArray(n)){t(n,u,s,o,a,i,c);for(var l in n){var p=n[l];if(Array.isArray(p)){if(l in Qu.arrayKeywords)for(var d=0;dt+=P9(n)),t===1/0))return 1/0}return t}function k9(e,t="",r){r!==!1&&(t=ia(t));const n=e.parse(t);return O9(e,n)}fr.getFullPath=k9;function O9(e,t){return e.serialize(t).split("#")[0]+"#"}fr._getFullPath=O9;const Eee=/#\/?$/;function ia(e){return e?e.replace(Eee,""):""}fr.normalizeId=ia;function yee(e,t,r){return r=ia(r),e.resolve(t,r)}fr.resolveUrl=yee;const vee=/^[a-z_][-a-z0-9._]*$/i;function gee(e,t){if(typeof e=="boolean")return{};const{schemaId:r,uriResolver:n}=this.opts,u=ia(e[r]||t),s={"":u},o=k9(n,u,!1),a={},i=new Set;return fee(e,{allKeys:!0},(p,d,f,h)=>{if(h===void 0)return;const y=o+d;let A=s[h];typeof p[r]=="string"&&(A=m.call(this,p[r])),v.call(this,p.$anchor),v.call(this,p.$dynamicAnchor),s[d]=A;function m(C){const B=this.opts.uriResolver.resolve;if(C=ia(A?B(A,C):C),i.has(C))throw l(C);i.add(C);let T=this.refs[C];return typeof T=="string"&&(T=this.refs[T]),typeof T=="object"?c(p,T.schema,C):C!==ia(y)&&(C[0]==="#"?(c(p,a[C],C),a[C]=p):this.refs[C]=y),C}function v(C){if(typeof C=="string"){if(!vee.test(C))throw new Error(`invalid anchor "${C}"`);m.call(this,`#${C}`)}}}),a;function c(p,d,f){if(d!==void 0&&!dee(p,d))throw l(f)}function l(p){return new Error(`reference "${p}" resolves to more than one schema`)}}fr.getSchemaRefs=gee;Object.defineProperty($n,"__esModule",{value:!0});$n.getData=$n.KeywordCxt=$n.validateFunctionCode=void 0;const I9=ya,Og=Yt,ME=Cu,Fp=Yt,Aee=ad,Fi=Xn,kf=us,je=st,Je=nu,Fee=fr,bu=we,Ja=cc;function Cee(e){if(x9(e)&&(R9(e),q9(e))){wee(e);return}N9(e,()=>(0,I9.topBoolOrEmptySchema)(e))}$n.validateFunctionCode=Cee;function N9({gen:e,validateName:t,schema:r,schemaEnv:n,opts:u},s){u.code.es5?e.func(t,(0,je._)`${Je.default.data}, ${Je.default.valCxt}`,n.$async,()=>{e.code((0,je._)`"use strict"; ${Ig(r,u)}`),See(e,u),e.code(s)}):e.func(t,(0,je._)`${Je.default.data}, ${bee(u)}`,n.$async,()=>e.code(Ig(r,u)).code(s))}function bee(e){return(0,je._)`{${Je.default.instancePath}="", ${Je.default.parentData}, ${Je.default.parentDataProperty}, ${Je.default.rootData}=${Je.default.data}${e.dynamicRef?(0,je._)`, ${Je.default.dynamicAnchors}={}`:je.nil}}={}`}function See(e,t){e.if(Je.default.valCxt,()=>{e.var(Je.default.instancePath,(0,je._)`${Je.default.valCxt}.${Je.default.instancePath}`),e.var(Je.default.parentData,(0,je._)`${Je.default.valCxt}.${Je.default.parentData}`),e.var(Je.default.parentDataProperty,(0,je._)`${Je.default.valCxt}.${Je.default.parentDataProperty}`),e.var(Je.default.rootData,(0,je._)`${Je.default.valCxt}.${Je.default.rootData}`),t.dynamicRef&&e.var(Je.default.dynamicAnchors,(0,je._)`${Je.default.valCxt}.${Je.default.dynamicAnchors}`)},()=>{e.var(Je.default.instancePath,(0,je._)`""`),e.var(Je.default.parentData,(0,je._)`undefined`),e.var(Je.default.parentDataProperty,(0,je._)`undefined`),e.var(Je.default.rootData,Je.default.data),t.dynamicRef&&e.var(Je.default.dynamicAnchors,(0,je._)`{}`)})}function wee(e){const{schema:t,opts:r,gen:n}=e;N9(e,()=>{r.$comment&&t.$comment&&M9(e),Pee(e),n.let(Je.default.vErrors,null),n.let(Je.default.errors,0),r.unevaluated&&_ee(e),j9(e),Iee(e)})}function _ee(e){const{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",(0,je._)`${r}.evaluated`),t.if((0,je._)`${e.evaluated}.dynamicProps`,()=>t.assign((0,je._)`${e.evaluated}.props`,(0,je._)`undefined`)),t.if((0,je._)`${e.evaluated}.dynamicItems`,()=>t.assign((0,je._)`${e.evaluated}.items`,(0,je._)`undefined`))}function Ig(e,t){const r=typeof e=="object"&&e[t.schemaId];return r&&(t.code.source||t.code.process)?(0,je._)`/*# sourceURL=${r} */`:je.nil}function Bee(e,t){if(x9(e)&&(R9(e),q9(e))){Tee(e,t);return}(0,I9.boolOrEmptySchema)(e,t)}function q9({schema:e,self:t}){if(typeof e=="boolean")return!e;for(const r in e)if(t.RULES.all[r])return!0;return!1}function x9(e){return typeof e.schema!="boolean"}function Tee(e,t){const{schema:r,gen:n,opts:u}=e;u.$comment&&r.$comment&&M9(e),kee(e),Oee(e);const s=n.const("_errs",Je.default.errors);j9(e,s),n.var(t,(0,je._)`${s} === ${Je.default.errors}`)}function R9(e){(0,bu.checkUnknownRules)(e),$ee(e)}function j9(e,t){if(e.opts.jtd)return Ng(e,[],!1,t);const r=(0,Og.getSchemaTypes)(e.schema),n=(0,Og.coerceAndCheckDataType)(e,r);Ng(e,r,!n,t)}function $ee(e){const{schema:t,errSchemaPath:r,opts:n,self:u}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,bu.schemaHasRulesButRef)(t,u.RULES)&&u.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function Pee(e){const{schema:t,opts:r}=e;t.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,bu.checkStrictMode)(e,"default is ignored in the schema root")}function kee(e){const t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,Fee.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function Oee(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function M9({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:u}){const s=r.$comment;if(u.$comment===!0)e.code((0,je._)`${Je.default.self}.logger.log(${s})`);else if(typeof u.$comment=="function"){const o=(0,je.str)`${n}/$comment`,a=e.scopeValue("root",{ref:t.root});e.code((0,je._)`${Je.default.self}.opts.$comment(${s}, ${o}, ${a}.schema)`)}}function Iee(e){const{gen:t,schemaEnv:r,validateName:n,ValidationError:u,opts:s}=e;r.$async?t.if((0,je._)`${Je.default.errors} === 0`,()=>t.return(Je.default.data),()=>t.throw((0,je._)`new ${u}(${Je.default.vErrors})`)):(t.assign((0,je._)`${n}.errors`,Je.default.vErrors),s.unevaluated&&Nee(e),t.return((0,je._)`${Je.default.errors} === 0`))}function Nee({gen:e,evaluated:t,props:r,items:n}){r instanceof je.Name&&e.assign((0,je._)`${t}.props`,r),n instanceof je.Name&&e.assign((0,je._)`${t}.items`,n)}function Ng(e,t,r,n){const{gen:u,schema:s,data:o,allErrors:a,opts:i,self:c}=e,{RULES:l}=c;if(s.$ref&&(i.ignoreKeywordsWithRef||!(0,bu.schemaHasRulesButRef)(s,l))){u.block(()=>G9(e,"$ref",l.all.$ref.definition));return}i.jtd||qee(e,t),u.block(()=>{for(const d of l.rules)p(d);p(l.post)});function p(d){(0,ME.shouldUseGroup)(s,d)&&(d.type?(u.if((0,Fp.checkDataType)(d.type,o,i.strictNumbers)),qg(e,d),t.length===1&&t[0]===d.type&&r&&(u.else(),(0,Fp.reportTypeError)(e)),u.endIf()):qg(e,d),a||u.if((0,je._)`${Je.default.errors} === ${n||0}`))}}function qg(e,t){const{gen:r,schema:n,opts:{useDefaults:u}}=e;u&&(0,Aee.assignDefaults)(e,t.type),r.block(()=>{for(const s of t.rules)(0,ME.shouldUseRule)(n,s)&&G9(e,s.keyword,s.definition,t.type)})}function qee(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(xee(e,t),e.opts.allowUnionTypes||Ree(e,t),jee(e,e.dataTypes))}function xee(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(r=>{L9(e.dataTypes,r)||LE(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`)}),Lee(e,t)}}function Ree(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&LE(e,"use allowUnionTypes to allow union type keyword")}function jee(e,t){const r=e.self.RULES.all;for(const n in r){const u=r[n];if(typeof u=="object"&&(0,ME.shouldUseRule)(e.schema,u)){const{type:s}=u.definition;s.length&&!s.some(o=>Mee(t,o))&&LE(e,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function Mee(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function L9(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function Lee(e,t){const r=[];for(const n of e.dataTypes)L9(t,n)?r.push(n):t.includes("integer")&&n==="number"&&r.push("integer");e.dataTypes=r}function LE(e,t){const r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,(0,bu.checkStrictMode)(e,t,e.opts.strictTypes)}class U9{constructor(t,r,n){if((0,Fi.validateKeywordUsage)(t,r,n),this.gen=t.gen,this.allErrors=t.allErrors,this.keyword=n,this.data=t.data,this.schema=t.schema[n],this.$data=r.$data&&t.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,bu.schemaRefOrVal)(t,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=t.schema,this.params={},this.it=t,this.def=r,this.$data)this.schemaCode=t.gen.const("vSchema",V9(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0,Fi.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=t.gen.const("_errs",Je.default.errors))}result(t,r,n){this.failResult((0,je.not)(t),r,n)}failResult(t,r,n){this.gen.if(t),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(t,r){this.failResult((0,je.not)(t),void 0,r)}fail(t){if(t===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(t),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(t){if(!this.$data)return this.fail(t);const{schemaCode:r}=this;this.fail((0,je._)`${r} !== undefined && (${(0,je.or)(this.invalid$data(),t)})`)}error(t,r,n){if(r){this.setParams(r),this._error(t,n),this.setParams({});return}this._error(t,n)}_error(t,r){(t?Ja.reportExtraError:Ja.reportError)(this,this.def.error,r)}$dataError(){(0,Ja.reportError)(this,this.def.$dataError||Ja.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Ja.resetErrorsCount)(this.gen,this.errsCount)}ok(t){this.allErrors||this.gen.if(t)}setParams(t,r){r?Object.assign(this.params,t):this.params=t}block$data(t,r,n=je.nil){this.gen.block(()=>{this.check$data(t,n),r()})}check$data(t=je.nil,r=je.nil){if(!this.$data)return;const{gen:n,schemaCode:u,schemaType:s,def:o}=this;n.if((0,je.or)((0,je._)`${u} === undefined`,r)),t!==je.nil&&n.assign(t,!0),(s.length||o.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),t!==je.nil&&n.assign(t,!1)),n.else()}invalid$data(){const{gen:t,schemaCode:r,schemaType:n,def:u,it:s}=this;return(0,je.or)(o(),a());function o(){if(n.length){if(!(r instanceof je.Name))throw new Error("ajv implementation error");const i=Array.isArray(n)?n:[n];return(0,je._)`${(0,Fp.checkDataTypes)(i,r,s.opts.strictNumbers,Fp.DataType.Wrong)}`}return je.nil}function a(){if(u.validateSchema){const i=t.scopeValue("validate$data",{ref:u.validateSchema});return(0,je._)`!${i}(${r})`}return je.nil}}subschema(t,r){const n=(0,kf.getSubschema)(this.it,t);(0,kf.extendSubschemaData)(n,this.it,t),(0,kf.extendSubschemaMode)(n,t);const u={...this.it,...n,items:void 0,props:void 0};return Bee(u,r),u}mergeEvaluated(t,r){const{it:n,gen:u}=this;n.opts.unevaluated&&(n.props!==!0&&t.props!==void 0&&(n.props=bu.mergeEvaluated.props(u,t.props,n.props,r)),n.items!==!0&&t.items!==void 0&&(n.items=bu.mergeEvaluated.items(u,t.items,n.items,r)))}mergeValidEvaluated(t,r){const{it:n,gen:u}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return u.if(r,()=>this.mergeEvaluated(t,je.Name)),!0}}$n.KeywordCxt=U9;function G9(e,t,r,n){const u=new U9(e,r,t);"code"in r?r.code(u,n):u.$data&&r.validate?(0,Fi.funcKeywordCode)(u,r):"macro"in r?(0,Fi.macroKeywordCode)(u,r):(r.compile||r.validate)&&(0,Fi.funcKeywordCode)(u,r)}const Uee=/^\/(?:[^~]|~0|~1)*$/,Gee=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function V9(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let u,s;if(e==="")return Je.default.rootData;if(e[0]==="/"){if(!Uee.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);u=e,s=Je.default.rootData}else{const c=Gee.exec(e);if(!c)throw new Error(`Invalid JSON-pointer: ${e}`);const l=+c[1];if(u=c[2],u==="#"){if(l>=t)throw new Error(i("property/index",l));return n[t-l]}if(l>t)throw new Error(i("data",l));if(s=r[t-l],!u)return s}let o=s;const a=u.split("/");for(const c of a)c&&(s=(0,je._)`${s}${(0,je.getProperty)((0,bu.unescapeJsonPointer)(c))}`,o=(0,je._)`${o} && ${s}`);return o;function i(c,l){return`Cannot access ${c} ${l} levels up, current level is ${t}`}}$n.getData=V9;var lc={};Object.defineProperty(lc,"__esModule",{value:!0});class Vee extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=!0}}lc.default=Vee;var Ba={};Object.defineProperty(Ba,"__esModule",{value:!0});const Of=fr;class Hee extends Error{constructor(t,r,n,u){super(u||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,Of.resolveUrl)(t,r,n),this.missingSchema=(0,Of.normalizeId)((0,Of.getFullPath)(t,this.missingRef))}}Ba.default=Hee;var qr={};Object.defineProperty(qr,"__esModule",{value:!0});qr.resolveSchema=qr.getCompilingSchema=qr.resolveRef=qr.compileSchema=qr.SchemaEnv=void 0;const mn=st,Wee=lc,Ts=nu,_n=fr,xg=we,Jee=$n;class id{constructor(t){var r;this.refs={},this.dynamicAnchors={};let n;typeof t.schema=="object"&&(n=t.schema),this.schema=t.schema,this.schemaId=t.schemaId,this.root=t.root||this,this.baseId=(r=t.baseId)!==null&&r!==void 0?r:(0,_n.normalizeId)(n==null?void 0:n[t.schemaId||"$id"]),this.schemaPath=t.schemaPath,this.localRefs=t.localRefs,this.meta=t.meta,this.$async=n==null?void 0:n.$async,this.refs={}}}qr.SchemaEnv=id;function UE(e){const t=H9.call(this,e);if(t)return t;const r=(0,_n.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:n,lines:u}=this.opts.code,{ownProperties:s}=this.opts,o=new mn.CodeGen(this.scope,{es5:n,lines:u,ownProperties:s});let a;e.$async&&(a=o.scopeValue("Error",{ref:Wee.default,code:(0,mn._)`require("ajv/dist/runtime/validation_error").default`}));const i=o.scopeName("validate");e.validateName=i;const c={gen:o,allErrors:this.opts.allErrors,data:Ts.default.data,parentData:Ts.default.parentData,parentDataProperty:Ts.default.parentDataProperty,dataNames:[Ts.default.data],dataPathArr:[mn.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:o.scopeValue("schema",this.opts.code.source===!0?{ref:e.schema,code:(0,mn.stringify)(e.schema)}:{ref:e.schema}),validateName:i,ValidationError:a,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:mn.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,mn._)`""`,opts:this.opts,self:this};let l;try{this._compilations.add(e),(0,Jee.validateFunctionCode)(c),o.optimize(this.opts.code.optimize);const p=o.toString();l=`${o.scopeRefs(Ts.default.scope)}return ${p}`,this.opts.code.process&&(l=this.opts.code.process(l,e));const f=new Function(`${Ts.default.self}`,`${Ts.default.scope}`,l)(this,this.scope.get());if(this.scope.value(i,{ref:f}),f.errors=null,f.schema=e.schema,f.schemaEnv=e,e.$async&&(f.$async=!0),this.opts.code.source===!0&&(f.source={validateName:i,validateCode:p,scopeValues:o._values}),this.opts.unevaluated){const{props:h,items:y}=c;f.evaluated={props:h instanceof mn.Name?void 0:h,items:y instanceof mn.Name?void 0:y,dynamicProps:h instanceof mn.Name,dynamicItems:y instanceof mn.Name},f.source&&(f.source.evaluated=(0,mn.stringify)(f.evaluated))}return e.validate=f,e}catch(p){throw delete e.validate,delete e.validateName,l&&this.logger.error("Error compiling schema, function code:",l),p}finally{this._compilations.delete(e)}}qr.compileSchema=UE;function zee(e,t,r){var n;r=(0,_n.resolveUrl)(this.opts.uriResolver,t,r);const u=e.refs[r];if(u)return u;let s=Yee.call(this,e,r);if(s===void 0){const o=(n=e.localRefs)===null||n===void 0?void 0:n[r],{schemaId:a}=this.opts;o&&(s=new id({schema:o,schemaId:a,root:e,baseId:t}))}if(s!==void 0)return e.refs[r]=Kee.call(this,s)}qr.resolveRef=zee;function Kee(e){return(0,_n.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:UE.call(this,e)}function H9(e){for(const t of this._compilations)if(Xee(t,e))return t}qr.getCompilingSchema=H9;function Xee(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function Yee(e,t){let r;for(;typeof(r=this.refs[t])=="string";)t=r;return r||this.schemas[t]||cd.call(this,e,t)}function cd(e,t){const r=this.opts.uriResolver.parse(t),n=(0,_n._getFullPath)(this.opts.uriResolver,r);let u=(0,_n.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===u)return If.call(this,r,e);const s=(0,_n.normalizeId)(n),o=this.refs[s]||this.schemas[s];if(typeof o=="string"){const a=cd.call(this,e,o);return typeof(a==null?void 0:a.schema)!="object"?void 0:If.call(this,r,a)}if(typeof(o==null?void 0:o.schema)=="object"){if(o.validate||UE.call(this,o),s===(0,_n.normalizeId)(t)){const{schema:a}=o,{schemaId:i}=this.opts,c=a[i];return c&&(u=(0,_n.resolveUrl)(this.opts.uriResolver,u,c)),new id({schema:a,schemaId:i,root:e,baseId:u})}return If.call(this,r,o)}}qr.resolveSchema=cd;const Zee=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function If(e,{baseId:t,schema:r,root:n}){var u;if(((u=e.fragment)===null||u===void 0?void 0:u[0])!=="/")return;for(const a of e.fragment.slice(1).split("/")){if(typeof r=="boolean")return;const i=r[(0,xg.unescapeFragment)(a)];if(i===void 0)return;r=i;const c=typeof r=="object"&&r[this.opts.schemaId];!Zee.has(a)&&c&&(t=(0,_n.resolveUrl)(this.opts.uriResolver,t,c))}let s;if(typeof r!="boolean"&&r.$ref&&!(0,xg.schemaHasRulesButRef)(r,this.RULES)){const a=(0,_n.resolveUrl)(this.opts.uriResolver,t,r.$ref);s=cd.call(this,n,a)}const{schemaId:o}=this.opts;if(s=s||new id({schema:r,schemaId:o,root:n,baseId:t}),s.schema!==s.root.schema)return s}const Qee="https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",ete="Meta-schema for $data reference (JSON AnySchema extension proposal)",tte="object",rte=["$data"],nte={$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},ute=!1,ste={$id:Qee,description:ete,type:tte,required:rte,properties:nte,additionalProperties:ute};var GE={},ld={exports:{}};const ote={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};var ate={HEX:ote};const{HEX:ite}=ate;function W9(e){if(z9(e,".")<3)return{host:e,isIPV4:!1};const t=e.match(/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/u)||[],[r]=t;return r?{host:lte(r,"."),isIPV4:!0}:{host:e,isIPV4:!1}}function Ph(e,t=!1){let r="",n=!0;for(const u of e){if(ite[u]===void 0)return;u!=="0"&&n===!0&&(n=!1),n||(r+=u)}return t&&r.length===0&&(r="0"),r}function cte(e){let t=0;const r={error:!1,address:"",zone:""},n=[],u=[];let s=!1,o=!1,a=!1;function i(){if(u.length){if(s===!1){const c=Ph(u);if(c!==void 0)n.push(c);else return r.error=!0,!1}u.length=0}return!0}for(let c=0;c7){r.error=!0;break}c-1>=0&&e[c-1]===":"&&(o=!0);continue}else if(l==="%"){if(!i())break;s=!0}else{u.push(l);continue}}return u.length&&(s?r.zone=u.join(""):a?n.push(u.join("")):n.push(Ph(u))),r.address=n.join(""),r}function J9(e,t={}){if(z9(e,":")<2)return{host:e,isIPV6:!1};const r=cte(e);if(r.error)return{host:e,isIPV6:!1};{let n=r.address,u=r.address;return r.zone&&(n+="%"+r.zone,u+="%25"+r.zone),{host:n,escapedHost:u,isIPV6:!0}}}function lte(e,t){let r="",n=!0;const u=e.length;for(let s=0;s/[^!"$&'()*+,\-.;=_`a-z{}~]/u.test(String.fromCharCode(t)));function qte(e){let t=0;for(let r=0,n=e.length;r126||Nte[t])return!0;return!1}const xte=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function Bu(e,t){const r=Object.assign({},t),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},u=e.indexOf("%")!==-1;let s=!1;r.reference==="suffix"&&(e=(r.scheme?r.scheme+":":"")+"//"+e);const o=e.match(xte);if(o){if(n.scheme=o[1],n.userinfo=o[3],n.host=o[4],n.port=parseInt(o[5],10),n.path=o[6]||"",n.query=o[7],n.fragment=o[8],isNaN(n.port)&&(n.port=o[5]),n.host){const i=$te(n.host);if(i.isIPV4===!1){const c=Tte(i.host,{isIPV4:!1});n.host=c.host.toLowerCase(),s=c.isIPV6}else n.host=i.host,s=!0}n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&!n.path&&n.query===void 0?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");const a=HE[(r.scheme||n.scheme||"").toLowerCase()];if(!r.unicodeSupport&&(!a||!a.unicodeSupport)&&n.host&&(r.domainHost||a&&a.domainHost)&&s===!1&&qte(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(i){n.error=n.error||"Host's domain name can not be converted to ASCII: "+i}(!a||a&&!a.skipNormalize)&&(u&&n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),u&&n.userinfo!==void 0&&(n.userinfo=unescape(n.userinfo)),u&&n.host!==void 0&&(n.host=unescape(n.host)),n.path!==void 0&&n.path.length&&(n.path=escape(unescape(n.path))),n.fragment!==void 0&&n.fragment.length&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),a&&a.parse&&a.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}const WE={SCHEMES:HE,normalize:kte,resolve:Ote,resolveComponents:Q9,equal:Ite,serialize:Yn,parse:Bu};ld.exports=WE;ld.exports.default=WE;ld.exports.fastUri=WE;var Rte=ld.exports;Object.defineProperty(GE,"__esModule",{value:!0});const ew=Rte;ew.code='require("ajv/dist/runtime/uri").default';GE.default=ew;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.CodeGen=e.Name=e.nil=e.stringify=e.str=e._=e.KeywordCxt=void 0;var t=$n;Object.defineProperty(e,"KeywordCxt",{enumerable:!0,get:function(){return t.KeywordCxt}});var r=st;Object.defineProperty(e,"_",{enumerable:!0,get:function(){return r._}}),Object.defineProperty(e,"str",{enumerable:!0,get:function(){return r.str}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return r.stringify}}),Object.defineProperty(e,"nil",{enumerable:!0,get:function(){return r.nil}}),Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return r.Name}}),Object.defineProperty(e,"CodeGen",{enumerable:!0,get:function(){return r.CodeGen}});const n=lc,u=Ba,s=Qs,o=qr,a=st,i=fr,c=Yt,l=we,p=ste,d=GE,f=(z,O)=>new RegExp(z,O);f.code="new RegExp";const h=["removeAdditional","useDefaults","coerceTypes"],y=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),A={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},m={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},v=200;function C(z){var O,E,F,D,g,P,b,w,I,$,M,L,Y,be,Ne,Ve,Me,Fe,qe,Pe,Be,le,Te,W,se;const ce=z.strict,k=(O=z.code)===null||O===void 0?void 0:O.optimize,S=k===!0||k===void 0?1:k||0,_=(F=(E=z.code)===null||E===void 0?void 0:E.regExp)!==null&&F!==void 0?F:f,x=(D=z.uriResolver)!==null&&D!==void 0?D:d.default;return{strictSchema:(P=(g=z.strictSchema)!==null&&g!==void 0?g:ce)!==null&&P!==void 0?P:!0,strictNumbers:(w=(b=z.strictNumbers)!==null&&b!==void 0?b:ce)!==null&&w!==void 0?w:!0,strictTypes:($=(I=z.strictTypes)!==null&&I!==void 0?I:ce)!==null&&$!==void 0?$:"log",strictTuples:(L=(M=z.strictTuples)!==null&&M!==void 0?M:ce)!==null&&L!==void 0?L:"log",strictRequired:(be=(Y=z.strictRequired)!==null&&Y!==void 0?Y:ce)!==null&&be!==void 0?be:!1,code:z.code?{...z.code,optimize:S,regExp:_}:{optimize:S,regExp:_},loopRequired:(Ne=z.loopRequired)!==null&&Ne!==void 0?Ne:v,loopEnum:(Ve=z.loopEnum)!==null&&Ve!==void 0?Ve:v,meta:(Me=z.meta)!==null&&Me!==void 0?Me:!0,messages:(Fe=z.messages)!==null&&Fe!==void 0?Fe:!0,inlineRefs:(qe=z.inlineRefs)!==null&&qe!==void 0?qe:!0,schemaId:(Pe=z.schemaId)!==null&&Pe!==void 0?Pe:"$id",addUsedSchema:(Be=z.addUsedSchema)!==null&&Be!==void 0?Be:!0,validateSchema:(le=z.validateSchema)!==null&&le!==void 0?le:!0,validateFormats:(Te=z.validateFormats)!==null&&Te!==void 0?Te:!0,unicodeRegExp:(W=z.unicodeRegExp)!==null&&W!==void 0?W:!0,int32range:(se=z.int32range)!==null&&se!==void 0?se:!0,uriResolver:x}}class B{constructor(O={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,O=this.opts={...O,...C(O)};const{es5:E,lines:F}=this.opts.code;this.scope=new a.ValueScope({scope:{},prefixes:y,es5:E,lines:F}),this.logger=K(O.logger);const D=O.validateFormats;O.validateFormats=!1,this.RULES=(0,s.getRules)(),T.call(this,A,O,"NOT SUPPORTED"),T.call(this,m,O,"DEPRECATED","warn"),this._metaOpts=G.call(this),O.formats&&J.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),O.keywords&&q.call(this,O.keywords),typeof O.meta=="object"&&this.addMetaSchema(O.meta),R.call(this),O.validateFormats=D}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){const{$data:O,meta:E,schemaId:F}=this.opts;let D=p;F==="id"&&(D={...p},D.id=D.$id,delete D.$id),E&&O&&this.addMetaSchema(D,D[F],!1)}defaultMeta(){const{meta:O,schemaId:E}=this.opts;return this.opts.defaultMeta=typeof O=="object"?O[E]||O:void 0}validate(O,E){let F;if(typeof O=="string"){if(F=this.getSchema(O),!F)throw new Error(`no schema with key or ref "${O}"`)}else F=this.compile(O);const D=F(E);return"$async"in F||(this.errors=F.errors),D}compile(O,E){const F=this._addSchema(O,E);return F.validate||this._compileSchemaEnv(F)}compileAsync(O,E){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");const{loadSchema:F}=this.opts;return D.call(this,O,E);async function D($,M){await g.call(this,$.$schema);const L=this._addSchema($,M);return L.validate||P.call(this,L)}async function g($){$&&!this.getSchema($)&&await D.call(this,{$ref:$},!0)}async function P($){try{return this._compileSchemaEnv($)}catch(M){if(!(M instanceof u.default))throw M;return b.call(this,M),await w.call(this,M.missingSchema),P.call(this,$)}}function b({missingSchema:$,missingRef:M}){if(this.refs[$])throw new Error(`AnySchema ${$} is loaded but ${M} cannot be resolved`)}async function w($){const M=await I.call(this,$);this.refs[$]||await g.call(this,M.$schema),this.refs[$]||this.addSchema(M,$,E)}async function I($){const M=this._loading[$];if(M)return M;try{return await(this._loading[$]=F($))}finally{delete this._loading[$]}}}addSchema(O,E,F,D=this.opts.validateSchema){if(Array.isArray(O)){for(const P of O)this.addSchema(P,void 0,F,D);return this}let g;if(typeof O=="object"){const{schemaId:P}=this.opts;if(g=O[P],g!==void 0&&typeof g!="string")throw new Error(`schema ${P} must be string`)}return E=(0,i.normalizeId)(E||g),this._checkUnique(E),this.schemas[E]=this._addSchema(O,F,E,D,!0),this}addMetaSchema(O,E,F=this.opts.validateSchema){return this.addSchema(O,E,!0,F),this}validateSchema(O,E){if(typeof O=="boolean")return!0;let F;if(F=O.$schema,F!==void 0&&typeof F!="string")throw new Error("$schema must be a string");if(F=F||this.opts.defaultMeta||this.defaultMeta(),!F)return this.logger.warn("meta-schema not available"),this.errors=null,!0;const D=this.validate(F,O);if(!D&&E){const g="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(g);else throw new Error(g)}return D}getSchema(O){let E;for(;typeof(E=N.call(this,O))=="string";)O=E;if(E===void 0){const{schemaId:F}=this.opts,D=new o.SchemaEnv({schema:{},schemaId:F});if(E=o.resolveSchema.call(this,D,O),!E)return;this.refs[O]=E}return E.validate||this._compileSchemaEnv(E)}removeSchema(O){if(O instanceof RegExp)return this._removeAllSchemas(this.schemas,O),this._removeAllSchemas(this.refs,O),this;switch(typeof O){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{const E=N.call(this,O);return typeof E=="object"&&this._cache.delete(E.schema),delete this.schemas[O],delete this.refs[O],this}case"object":{const E=O;this._cache.delete(E);let F=O[this.opts.schemaId];return F&&(F=(0,i.normalizeId)(F),delete this.schemas[F],delete this.refs[F]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(O){for(const E of O)this.addKeyword(E);return this}addKeyword(O,E){let F;if(typeof O=="string")F=O,typeof E=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),E.keyword=F);else if(typeof O=="object"&&E===void 0){if(E=O,F=E.keyword,Array.isArray(F)&&!F.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(oe.call(this,F,E),!E)return(0,l.eachItem)(F,g=>de.call(this,g)),this;fe.call(this,E);const D={...E,type:(0,c.getJSONTypes)(E.type),schemaType:(0,c.getJSONTypes)(E.schemaType)};return(0,l.eachItem)(F,D.type.length===0?g=>de.call(this,g,D):g=>D.type.forEach(P=>de.call(this,g,D,P))),this}getKeyword(O){const E=this.RULES.all[O];return typeof E=="object"?E.definition:!!E}removeKeyword(O){const{RULES:E}=this;delete E.keywords[O],delete E.all[O];for(const F of E.rules){const D=F.rules.findIndex(g=>g.keyword===O);D>=0&&F.rules.splice(D,1)}return this}addFormat(O,E){return typeof E=="string"&&(E=new RegExp(E)),this.formats[O]=E,this}errorsText(O=this.errors,{separator:E=", ",dataVar:F="data"}={}){return!O||O.length===0?"No errors":O.map(D=>`${F}${D.instancePath} ${D.message}`).reduce((D,g)=>D+E+g)}$dataMetaSchema(O,E){const F=this.RULES.all;O=JSON.parse(JSON.stringify(O));for(const D of E){const g=D.split("/").slice(1);let P=O;for(const b of g)P=P[b];for(const b in F){const w=F[b];if(typeof w!="object")continue;const{$data:I}=w.definition,$=P[b];I&&$&&(P[b]=pe($))}}return O}_removeAllSchemas(O,E){for(const F in O){const D=O[F];(!E||E.test(F))&&(typeof D=="string"?delete O[F]:D&&!D.meta&&(this._cache.delete(D.schema),delete O[F]))}}_addSchema(O,E,F,D=this.opts.validateSchema,g=this.opts.addUsedSchema){let P;const{schemaId:b}=this.opts;if(typeof O=="object")P=O[b];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof O!="boolean")throw new Error("schema must be object or boolean")}let w=this._cache.get(O);if(w!==void 0)return w;F=(0,i.normalizeId)(P||F);const I=i.getSchemaRefs.call(this,O,F);return w=new o.SchemaEnv({schema:O,schemaId:b,meta:E,baseId:F,localRefs:I}),this._cache.set(w.schema,w),g&&!F.startsWith("#")&&(F&&this._checkUnique(F),this.refs[F]=w),D&&this.validateSchema(O,!0),w}_checkUnique(O){if(this.schemas[O]||this.refs[O])throw new Error(`schema with key or id "${O}" already exists`)}_compileSchemaEnv(O){if(O.meta?this._compileMetaSchema(O):o.compileSchema.call(this,O),!O.validate)throw new Error("ajv implementation error");return O.validate}_compileMetaSchema(O){const E=this.opts;this.opts=this._metaOpts;try{o.compileSchema.call(this,O)}finally{this.opts=E}}}B.ValidationError=n.default,B.MissingRefError=u.default,e.default=B;function T(z,O,E,F="error"){for(const D in z){const g=D;g in O&&this.logger[F](`${E}: option ${D}. ${z[g]}`)}}function N(z){return z=(0,i.normalizeId)(z),this.schemas[z]||this.refs[z]}function R(){const z=this.opts.schemas;if(z)if(Array.isArray(z))this.addSchema(z);else for(const O in z)this.addSchema(z[O],O)}function J(){for(const z in this.opts.formats){const O=this.opts.formats[z];O&&this.addFormat(z,O)}}function q(z){if(Array.isArray(z)){this.addVocabulary(z);return}this.logger.warn("keywords option as map is deprecated, pass array");for(const O in z){const E=z[O];E.keyword||(E.keyword=O),this.addKeyword(E)}}function G(){const z={...this.opts};for(const O of h)delete z[O];return z}const ee={log(){},warn(){},error(){}};function K(z){if(z===!1)return ee;if(z===void 0)return console;if(z.log&&z.warn&&z.error)return z;throw new Error("logger must implement log, warn and error methods")}const ue=/^[a-z_$][a-z0-9_$:-]*$/i;function oe(z,O){const{RULES:E}=this;if((0,l.eachItem)(z,F=>{if(E.keywords[F])throw new Error(`Keyword ${F} is already defined`);if(!ue.test(F))throw new Error(`Keyword ${F} has invalid name`)}),!!O&&O.$data&&!("code"in O||"validate"in O))throw new Error('$data keyword must have "code" or "validate" function')}function de(z,O,E){var F;const D=O==null?void 0:O.post;if(E&&D)throw new Error('keyword with "post" flag cannot have "type"');const{RULES:g}=this;let P=D?g.post:g.rules.find(({type:w})=>w===E);if(P||(P={type:E,rules:[]},g.rules.push(P)),g.keywords[z]=!0,!O)return;const b={keyword:z,definition:{...O,type:(0,c.getJSONTypes)(O.type),schemaType:(0,c.getJSONTypes)(O.schemaType)}};O.before?he.call(this,P,b,O.before):P.rules.push(b),g.all[z]=b,(F=O.implements)===null||F===void 0||F.forEach(w=>this.addKeyword(w))}function he(z,O,E){const F=z.rules.findIndex(D=>D.keyword===E);F>=0?z.rules.splice(F,0,O):(z.rules.push(O),this.logger.warn(`rule ${E} is not defined`))}function fe(z){let{metaSchema:O}=z;O!==void 0&&(z.$data&&this.opts.$data&&(O=pe(O)),z.validateSchema=this.compile(O,!0))}const ge={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function pe(z){return{anyOf:[z,ge]}}})(f9);var JE={},zE={},KE={};Object.defineProperty(KE,"__esModule",{value:!0});const jte={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};KE.default=jte;var eo={};Object.defineProperty(eo,"__esModule",{value:!0});eo.callRef=eo.getValidate=void 0;const Mte=Ba,Lg=rt,$r=st,Po=nu,Ug=qr,al=we,Lte={keyword:"$ref",schemaType:"string",code(e){const{gen:t,schema:r,it:n}=e,{baseId:u,schemaEnv:s,validateName:o,opts:a,self:i}=n,{root:c}=s;if((r==="#"||r==="#/")&&u===c.baseId)return p();const l=Ug.resolveRef.call(i,c,u,r);if(l===void 0)throw new Mte.default(n.opts.uriResolver,u,r);if(l instanceof Ug.SchemaEnv)return d(l);return f(l);function p(){if(s===c)return Rl(e,o,s,s.$async);const h=t.scopeValue("root",{ref:c});return Rl(e,(0,$r._)`${h}.validate`,c,c.$async)}function d(h){const y=tw(e,h);Rl(e,y,h,h.$async)}function f(h){const y=t.scopeValue("schema",a.code.source===!0?{ref:h,code:(0,$r.stringify)(h)}:{ref:h}),A=t.name("valid"),m=e.subschema({schema:h,dataTypes:[],schemaPath:$r.nil,topSchemaRef:y,errSchemaPath:r},A);e.mergeEvaluated(m),e.ok(A)}}};function tw(e,t){const{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0,$r._)`${r.scopeValue("wrapper",{ref:t})}.validate`}eo.getValidate=tw;function Rl(e,t,r,n){const{gen:u,it:s}=e,{allErrors:o,schemaEnv:a,opts:i}=s,c=i.passContext?Po.default.this:$r.nil;n?l():p();function l(){if(!a.$async)throw new Error("async schema referenced by sync schema");const h=u.let("valid");u.try(()=>{u.code((0,$r._)`await ${(0,Lg.callValidateCode)(e,t,c)}`),f(t),o||u.assign(h,!0)},y=>{u.if((0,$r._)`!(${y} instanceof ${s.ValidationError})`,()=>u.throw(y)),d(y),o||u.assign(h,!1)}),e.ok(h)}function p(){e.result((0,Lg.callValidateCode)(e,t,c),()=>f(t),()=>d(t))}function d(h){const y=(0,$r._)`${h}.errors`;u.assign(Po.default.vErrors,(0,$r._)`${Po.default.vErrors} === null ? ${y} : ${Po.default.vErrors}.concat(${y})`),u.assign(Po.default.errors,(0,$r._)`${Po.default.vErrors}.length`)}function f(h){var y;if(!s.opts.unevaluated)return;const A=(y=r==null?void 0:r.validate)===null||y===void 0?void 0:y.evaluated;if(s.props!==!0)if(A&&!A.dynamicProps)A.props!==void 0&&(s.props=al.mergeEvaluated.props(u,A.props,s.props));else{const m=u.var("props",(0,$r._)`${h}.evaluated.props`);s.props=al.mergeEvaluated.props(u,m,s.props,$r.Name)}if(s.items!==!0)if(A&&!A.dynamicItems)A.items!==void 0&&(s.items=al.mergeEvaluated.items(u,A.items,s.items));else{const m=u.var("items",(0,$r._)`${h}.evaluated.items`);s.items=al.mergeEvaluated.items(u,m,s.items,$r.Name)}}}eo.callRef=Rl;eo.default=Lte;Object.defineProperty(zE,"__esModule",{value:!0});const Ute=KE,Gte=eo,Vte=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",Ute.default,Gte.default];zE.default=Vte;var XE={},YE={};Object.defineProperty(YE,"__esModule",{value:!0});const Cp=st,Wu=Cp.operators,bp={maximum:{okStr:"<=",ok:Wu.LTE,fail:Wu.GT},minimum:{okStr:">=",ok:Wu.GTE,fail:Wu.LT},exclusiveMaximum:{okStr:"<",ok:Wu.LT,fail:Wu.GTE},exclusiveMinimum:{okStr:">",ok:Wu.GT,fail:Wu.LTE}},Hte={message:({keyword:e,schemaCode:t})=>(0,Cp.str)`must be ${bp[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,Cp._)`{comparison: ${bp[e].okStr}, limit: ${t}}`},Wte={keyword:Object.keys(bp),type:"number",schemaType:"number",$data:!0,error:Hte,code(e){const{keyword:t,data:r,schemaCode:n}=e;e.fail$data((0,Cp._)`${r} ${bp[t].fail} ${n} || isNaN(${r})`)}};YE.default=Wte;var ZE={};Object.defineProperty(ZE,"__esModule",{value:!0});const Ci=st,Jte={message:({schemaCode:e})=>(0,Ci.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0,Ci._)`{multipleOf: ${e}}`},zte={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:Jte,code(e){const{gen:t,data:r,schemaCode:n,it:u}=e,s=u.opts.multipleOfPrecision,o=t.let("res"),a=s?(0,Ci._)`Math.abs(Math.round(${o}) - ${o}) > 1e-${s}`:(0,Ci._)`${o} !== parseInt(${o})`;e.fail$data((0,Ci._)`(${n} === 0 || (${o} = ${r}/${n}, ${a}))`)}};ZE.default=zte;var QE={},e3={};Object.defineProperty(e3,"__esModule",{value:!0});function rw(e){const t=e.length;let r=0,n=0,u;for(;n=55296&&u<=56319&&n(0,xs._)`{limit: ${e}}`},Zte={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:Yte,code(e){const{keyword:t,data:r,schemaCode:n,it:u}=e,s=t==="maxLength"?xs.operators.GT:xs.operators.LT,o=u.opts.unicode===!1?(0,xs._)`${r}.length`:(0,xs._)`${(0,Kte.useFunc)(e.gen,Xte.default)}(${r})`;e.fail$data((0,xs._)`${o} ${s} ${n}`)}};QE.default=Zte;var t3={};Object.defineProperty(t3,"__esModule",{value:!0});const Qte=rt,Sp=st,ere={message:({schemaCode:e})=>(0,Sp.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0,Sp._)`{pattern: ${e}}`},tre={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:ere,code(e){const{data:t,$data:r,schema:n,schemaCode:u,it:s}=e,o=s.opts.unicodeRegExp?"u":"",a=r?(0,Sp._)`(new RegExp(${u}, ${o}))`:(0,Qte.usePattern)(e,n);e.fail$data((0,Sp._)`!${a}.test(${t})`)}};t3.default=tre;var r3={};Object.defineProperty(r3,"__esModule",{value:!0});const bi=st,rre={message({keyword:e,schemaCode:t}){const r=e==="maxProperties"?"more":"fewer";return(0,bi.str)`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>(0,bi._)`{limit: ${e}}`},nre={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:rre,code(e){const{keyword:t,data:r,schemaCode:n}=e,u=t==="maxProperties"?bi.operators.GT:bi.operators.LT;e.fail$data((0,bi._)`Object.keys(${r}).length ${u} ${n}`)}};r3.default=nre;var n3={};Object.defineProperty(n3,"__esModule",{value:!0});const za=rt,Si=st,ure=we,sre={message:({params:{missingProperty:e}})=>(0,Si.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0,Si._)`{missingProperty: ${e}}`},ore={keyword:"required",type:"object",schemaType:"array",$data:!0,error:sre,code(e){const{gen:t,schema:r,schemaCode:n,data:u,$data:s,it:o}=e,{opts:a}=o;if(!s&&r.length===0)return;const i=r.length>=a.loopRequired;if(o.allErrors?c():l(),a.strictRequired){const f=e.parentSchema.properties,{definedProperties:h}=e.it;for(const y of r)if((f==null?void 0:f[y])===void 0&&!h.has(y)){const A=o.schemaEnv.baseId+o.errSchemaPath,m=`required property "${y}" is not defined at "${A}" (strictRequired)`;(0,ure.checkStrictMode)(o,m,o.opts.strictRequired)}}function c(){if(i||s)e.block$data(Si.nil,p);else for(const f of r)(0,za.checkReportMissingProp)(e,f)}function l(){const f=t.let("missing");if(i||s){const h=t.let("valid",!0);e.block$data(h,()=>d(f,h)),e.ok(h)}else t.if((0,za.checkMissingProp)(e,r,f)),(0,za.reportMissingProp)(e,f),t.else()}function p(){t.forOf("prop",n,f=>{e.setParams({missingProperty:f}),t.if((0,za.noPropertyInData)(t,u,f,a.ownProperties),()=>e.error())})}function d(f,h){e.setParams({missingProperty:f}),t.forOf(f,n,()=>{t.assign(h,(0,za.propertyInData)(t,u,f,a.ownProperties)),t.if((0,Si.not)(h),()=>{e.error(),t.break()})},Si.nil)}}};n3.default=ore;var u3={};Object.defineProperty(u3,"__esModule",{value:!0});const wi=st,are={message({keyword:e,schemaCode:t}){const r=e==="maxItems"?"more":"fewer";return(0,wi.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0,wi._)`{limit: ${e}}`},ire={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:are,code(e){const{keyword:t,data:r,schemaCode:n}=e,u=t==="maxItems"?wi.operators.GT:wi.operators.LT;e.fail$data((0,wi._)`${r}.length ${u} ${n}`)}};u3.default=ire;var s3={},pc={};Object.defineProperty(pc,"__esModule",{value:!0});const nw=T9;nw.code='require("ajv/dist/runtime/equal").default';pc.default=nw;Object.defineProperty(s3,"__esModule",{value:!0});const Nf=Yt,lr=st,cre=we,lre=pc,pre={message:({params:{i:e,j:t}})=>(0,lr.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0,lr._)`{i: ${e}, j: ${t}}`},dre={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:pre,code(e){const{gen:t,data:r,$data:n,schema:u,parentSchema:s,schemaCode:o,it:a}=e;if(!n&&!u)return;const i=t.let("valid"),c=s.items?(0,Nf.getSchemaTypes)(s.items):[];e.block$data(i,l,(0,lr._)`${o} === false`),e.ok(i);function l(){const h=t.let("i",(0,lr._)`${r}.length`),y=t.let("j");e.setParams({i:h,j:y}),t.assign(i,!0),t.if((0,lr._)`${h} > 1`,()=>(p()?d:f)(h,y))}function p(){return c.length>0&&!c.some(h=>h==="object"||h==="array")}function d(h,y){const A=t.name("item"),m=(0,Nf.checkDataTypes)(c,A,a.opts.strictNumbers,Nf.DataType.Wrong),v=t.const("indices",(0,lr._)`{}`);t.for((0,lr._)`;${h}--;`,()=>{t.let(A,(0,lr._)`${r}[${h}]`),t.if(m,(0,lr._)`continue`),c.length>1&&t.if((0,lr._)`typeof ${A} == "string"`,(0,lr._)`${A} += "_"`),t.if((0,lr._)`typeof ${v}[${A}] == "number"`,()=>{t.assign(y,(0,lr._)`${v}[${A}]`),e.error(),t.assign(i,!1).break()}).code((0,lr._)`${v}[${A}] = ${h}`)})}function f(h,y){const A=(0,cre.useFunc)(t,lre.default),m=t.name("outer");t.label(m).for((0,lr._)`;${h}--;`,()=>t.for((0,lr._)`${y} = ${h}; ${y}--;`,()=>t.if((0,lr._)`${A}(${r}[${h}], ${r}[${y}])`,()=>{e.error(),t.assign(i,!1).break(m)})))}}};s3.default=dre;var o3={};Object.defineProperty(o3,"__esModule",{value:!0});const kh=st,fre=we,Dre=pc,hre={message:"must be equal to constant",params:({schemaCode:e})=>(0,kh._)`{allowedValue: ${e}}`},mre={keyword:"const",$data:!0,error:hre,code(e){const{gen:t,data:r,$data:n,schemaCode:u,schema:s}=e;n||s&&typeof s=="object"?e.fail$data((0,kh._)`!${(0,fre.useFunc)(t,Dre.default)}(${r}, ${u})`):e.fail((0,kh._)`${s} !== ${r}`)}};o3.default=mre;var a3={};Object.defineProperty(a3,"__esModule",{value:!0});const di=st,Ere=we,yre=pc,vre={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0,di._)`{allowedValues: ${e}}`},gre={keyword:"enum",schemaType:"array",$data:!0,error:vre,code(e){const{gen:t,data:r,$data:n,schema:u,schemaCode:s,it:o}=e;if(!n&&u.length===0)throw new Error("enum must have non-empty array");const a=u.length>=o.opts.loopEnum;let i;const c=()=>i??(i=(0,Ere.useFunc)(t,yre.default));let l;if(a||n)l=t.let("valid"),e.block$data(l,p);else{if(!Array.isArray(u))throw new Error("ajv implementation error");const f=t.const("vSchema",s);l=(0,di.or)(...u.map((h,y)=>d(f,y)))}e.pass(l);function p(){t.assign(l,!1),t.forOf("v",s,f=>t.if((0,di._)`${c()}(${r}, ${f})`,()=>t.assign(l,!0).break()))}function d(f,h){const y=u[h];return typeof y=="object"&&y!==null?(0,di._)`${c()}(${r}, ${f}[${h}])`:(0,di._)`${r} === ${y}`}}};a3.default=gre;Object.defineProperty(XE,"__esModule",{value:!0});const Are=YE,Fre=ZE,Cre=QE,bre=t3,Sre=r3,wre=n3,_re=u3,Bre=s3,Tre=o3,$re=a3,Pre=[Are.default,Fre.default,Cre.default,bre.default,Sre.default,wre.default,_re.default,Bre.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},Tre.default,$re.default];XE.default=Pre;var i3={},Ta={};Object.defineProperty(Ta,"__esModule",{value:!0});Ta.validateAdditionalItems=void 0;const Rs=st,Oh=we,kre={message:({params:{len:e}})=>(0,Rs.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,Rs._)`{limit: ${e}}`},Ore={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:kre,code(e){const{parentSchema:t,it:r}=e,{items:n}=t;if(!Array.isArray(n)){(0,Oh.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}uw(e,n)}};function uw(e,t){const{gen:r,schema:n,data:u,keyword:s,it:o}=e;o.items=!0;const a=r.const("len",(0,Rs._)`${u}.length`);if(n===!1)e.setParams({len:t.length}),e.pass((0,Rs._)`${a} <= ${t.length}`);else if(typeof n=="object"&&!(0,Oh.alwaysValidSchema)(o,n)){const c=r.var("valid",(0,Rs._)`${a} <= ${t.length}`);r.if((0,Rs.not)(c),()=>i(c)),e.ok(c)}function i(c){r.forRange("i",t.length,a,l=>{e.subschema({keyword:s,dataProp:l,dataPropType:Oh.Type.Num},c),o.allErrors||r.if((0,Rs.not)(c),()=>r.break())})}}Ta.validateAdditionalItems=uw;Ta.default=Ore;var c3={},$a={};Object.defineProperty($a,"__esModule",{value:!0});$a.validateTuple=void 0;const Gg=st,jl=we,Ire=rt,Nre={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){const{schema:t,it:r}=e;if(Array.isArray(t))return sw(e,"additionalItems",t);r.items=!0,!(0,jl.alwaysValidSchema)(r,t)&&e.ok((0,Ire.validateArray)(e))}};function sw(e,t,r=e.schema){const{gen:n,parentSchema:u,data:s,keyword:o,it:a}=e;l(u),a.opts.unevaluated&&r.length&&a.items!==!0&&(a.items=jl.mergeEvaluated.items(n,r.length,a.items));const i=n.name("valid"),c=n.const("len",(0,Gg._)`${s}.length`);r.forEach((p,d)=>{(0,jl.alwaysValidSchema)(a,p)||(n.if((0,Gg._)`${c} > ${d}`,()=>e.subschema({keyword:o,schemaProp:d,dataProp:d},i)),e.ok(i))});function l(p){const{opts:d,errSchemaPath:f}=a,h=r.length,y=h===p.minItems&&(h===p.maxItems||p[t]===!1);if(d.strictTuples&&!y){const A=`"${o}" is ${h}-tuple, but minItems or maxItems/${t} are not specified or different at path "${f}"`;(0,jl.checkStrictMode)(a,A,d.strictTuples)}}}$a.validateTuple=sw;$a.default=Nre;Object.defineProperty(c3,"__esModule",{value:!0});const qre=$a,xre={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,qre.validateTuple)(e,"items")};c3.default=xre;var l3={};Object.defineProperty(l3,"__esModule",{value:!0});const Vg=st,Rre=we,jre=rt,Mre=Ta,Lre={message:({params:{len:e}})=>(0,Vg.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,Vg._)`{limit: ${e}}`},Ure={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:Lre,code(e){const{schema:t,parentSchema:r,it:n}=e,{prefixItems:u}=r;n.items=!0,!(0,Rre.alwaysValidSchema)(n,t)&&(u?(0,Mre.validateAdditionalItems)(e,u):e.ok((0,jre.validateArray)(e)))}};l3.default=Ure;var p3={};Object.defineProperty(p3,"__esModule",{value:!0});const un=st,il=we,Gre={message:({params:{min:e,max:t}})=>t===void 0?(0,un.str)`must contain at least ${e} valid item(s)`:(0,un.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0,un._)`{minContains: ${e}}`:(0,un._)`{minContains: ${e}, maxContains: ${t}}`},Vre={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:Gre,code(e){const{gen:t,schema:r,parentSchema:n,data:u,it:s}=e;let o,a;const{minContains:i,maxContains:c}=n;s.opts.next?(o=i===void 0?1:i,a=c):o=1;const l=t.const("len",(0,un._)`${u}.length`);if(e.setParams({min:o,max:a}),a===void 0&&o===0){(0,il.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&o>a){(0,il.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0,il.alwaysValidSchema)(s,r)){let y=(0,un._)`${l} >= ${o}`;a!==void 0&&(y=(0,un._)`${y} && ${l} <= ${a}`),e.pass(y);return}s.items=!0;const p=t.name("valid");a===void 0&&o===1?f(p,()=>t.if(p,()=>t.break())):o===0?(t.let(p,!0),a!==void 0&&t.if((0,un._)`${u}.length > 0`,d)):(t.let(p,!1),d()),e.result(p,()=>e.reset());function d(){const y=t.name("_valid"),A=t.let("count",0);f(y,()=>t.if(y,()=>h(A)))}function f(y,A){t.forRange("i",0,l,m=>{e.subschema({keyword:"contains",dataProp:m,dataPropType:il.Type.Num,compositeRule:!0},y),A()})}function h(y){t.code((0,un._)`${y}++`),a===void 0?t.if((0,un._)`${y} >= ${o}`,()=>t.assign(p,!0).break()):(t.if((0,un._)`${y} > ${a}`,()=>t.assign(p,!1).break()),o===1?t.assign(p,!0):t.if((0,un._)`${y} >= ${o}`,()=>t.assign(p,!0)))}}};p3.default=Vre;var ow={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.validateSchemaDeps=e.validatePropertyDeps=e.error=void 0;const t=st,r=we,n=rt;e.error={message:({params:{property:i,depsCount:c,deps:l}})=>{const p=c===1?"property":"properties";return(0,t.str)`must have ${p} ${l} when property ${i} is present`},params:({params:{property:i,depsCount:c,deps:l,missingProperty:p}})=>(0,t._)`{property: ${i}, missingProperty: ${p}, depsCount: ${c}, - deps: ${l}}`};const u={keyword:"dependencies",type:"object",schemaType:"object",error:e.error,code(i){const[c,l]=s(i);o(i,c),a(i,l)}};function s({schema:i}){const c={},l={};for(const p in i){if(p==="__proto__")continue;const d=Array.isArray(i[p])?c:l;d[p]=i[p]}return[c,l]}function o(i,c=i.schema){const{gen:l,data:p,it:d}=i;if(Object.keys(c).length===0)return;const f=l.let("missing");for(const h in c){const y=c[h];if(y.length===0)continue;const A=(0,n.propertyInData)(l,p,h,d.opts.ownProperties);i.setParams({property:h,depsCount:y.length,deps:y.join(", ")}),d.allErrors?l.if(A,()=>{for(const m of y)(0,n.checkReportMissingProp)(i,m)}):(l.if((0,t._)`${A} && (${(0,n.checkMissingProp)(i,y,f)})`),(0,n.reportMissingProp)(i,f),l.else())}}e.validatePropertyDeps=o;function a(i,c=i.schema){const{gen:l,data:p,keyword:d,it:f}=i,h=l.name("valid");for(const y in c)(0,r.alwaysValidSchema)(f,c[y])||(l.if((0,n.propertyInData)(l,p,y,f.opts.ownProperties),()=>{const A=i.subschema({keyword:d,schemaProp:y},h);i.mergeValidEvaluated(A,h)},()=>l.var(h,!0)),i.ok(h))}e.validateSchemaDeps=a,e.default=u})(uw);var p3={};Object.defineProperty(p3,"__esModule",{value:!0});const sw=st,Gre=we,Vre={message:"property name must be valid",params:({params:e})=>(0,sw._)`{propertyName: ${e.propertyName}}`},Hre={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:Vre,code(e){const{gen:t,schema:r,data:n,it:u}=e;if((0,Gre.alwaysValidSchema)(u,r))return;const s=t.name("valid");t.forIn("key",n,o=>{e.setParams({propertyName:o}),e.subschema({keyword:"propertyNames",data:o,dataTypes:["string"],propertyName:o,compositeRule:!0},s),t.if((0,sw.not)(s),()=>{e.error(!0),u.allErrors||t.break()})}),e.ok(s)}};p3.default=Hre;var pd={};Object.defineProperty(pd,"__esModule",{value:!0});const cl=rt,An=st,Wre=nu,ll=we,Jre={message:"must NOT have additional properties",params:({params:e})=>(0,An._)`{additionalProperty: ${e.additionalProperty}}`},zre={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:Jre,code(e){const{gen:t,schema:r,parentSchema:n,data:u,errsCount:s,it:o}=e;if(!s)throw new Error("ajv implementation error");const{allErrors:a,opts:i}=o;if(o.props=!0,i.removeAdditional!=="all"&&(0,ll.alwaysValidSchema)(o,r))return;const c=(0,cl.allSchemaProperties)(n.properties),l=(0,cl.allSchemaProperties)(n.patternProperties);p(),e.ok((0,An._)`${s} === ${Wre.default.errors}`);function p(){t.forIn("key",u,A=>{!c.length&&!l.length?h(A):t.if(d(A),()=>h(A))})}function d(A){let m;if(c.length>8){const v=(0,ll.schemaRefOrVal)(o,n.properties,"properties");m=(0,cl.isOwnProperty)(t,v,A)}else c.length?m=(0,An.or)(...c.map(v=>(0,An._)`${A} === ${v}`)):m=An.nil;return l.length&&(m=(0,An.or)(m,...l.map(v=>(0,An._)`${(0,cl.usePattern)(e,v)}.test(${A})`))),(0,An.not)(m)}function f(A){t.code((0,An._)`delete ${u}[${A}]`)}function h(A){if(i.removeAdditional==="all"||i.removeAdditional&&r===!1){f(A);return}if(r===!1){e.setParams({additionalProperty:A}),e.error(),a||t.break();return}if(typeof r=="object"&&!(0,ll.alwaysValidSchema)(o,r)){const m=t.name("valid");i.removeAdditional==="failing"?(y(A,m,!1),t.if((0,An.not)(m),()=>{e.reset(),f(A)})):(y(A,m),a||t.if((0,An.not)(m),()=>t.break()))}}function y(A,m,v){const C={keyword:"additionalProperties",dataProp:A,dataPropType:ll.Type.Str};v===!1&&Object.assign(C,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(C,m)}}};pd.default=zre;var d3={};Object.defineProperty(d3,"__esModule",{value:!0});const Kre=$n,Vg=rt,qf=we,Hg=pd,Xre={keyword:"properties",type:"object",schemaType:"object",code(e){const{gen:t,schema:r,parentSchema:n,data:u,it:s}=e;s.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&Hg.default.code(new Kre.KeywordCxt(s,Hg.default,"additionalProperties"));const o=(0,Vg.allSchemaProperties)(r);for(const p of o)s.definedProperties.add(p);s.opts.unevaluated&&o.length&&s.props!==!0&&(s.props=qf.mergeEvaluated.props(t,(0,qf.toHash)(o),s.props));const a=o.filter(p=>!(0,qf.alwaysValidSchema)(s,r[p]));if(a.length===0)return;const i=t.name("valid");for(const p of a)c(p)?l(p):(t.if((0,Vg.propertyInData)(t,u,p,s.opts.ownProperties)),l(p),s.allErrors||t.else().var(i,!0),t.endIf()),e.it.definedProperties.add(p),e.ok(i);function c(p){return s.opts.useDefaults&&!s.compositeRule&&r[p].default!==void 0}function l(p){e.subschema({keyword:"properties",schemaProp:p,dataProp:p},i)}}};d3.default=Xre;var f3={};Object.defineProperty(f3,"__esModule",{value:!0});const Wg=rt,pl=st,Jg=we,zg=we,Yre={keyword:"patternProperties",type:"object",schemaType:"object",code(e){const{gen:t,schema:r,data:n,parentSchema:u,it:s}=e,{opts:o}=s,a=(0,Wg.allSchemaProperties)(r),i=a.filter(y=>(0,Jg.alwaysValidSchema)(s,r[y]));if(a.length===0||i.length===a.length&&(!s.opts.unevaluated||s.props===!0))return;const c=o.strictSchema&&!o.allowMatchingProperties&&u.properties,l=t.name("valid");s.props!==!0&&!(s.props instanceof pl.Name)&&(s.props=(0,zg.evaluatedPropsToName)(t,s.props));const{props:p}=s;d();function d(){for(const y of a)c&&f(y),s.allErrors?h(y):(t.var(l,!0),h(y),t.if(l))}function f(y){for(const A in c)new RegExp(y).test(A)&&(0,Jg.checkStrictMode)(s,`property ${A} matches pattern ${y} (use allowMatchingProperties)`)}function h(y){t.forIn("key",n,A=>{t.if((0,pl._)`${(0,Wg.usePattern)(e,y)}.test(${A})`,()=>{const m=i.includes(y);m||e.subschema({keyword:"patternProperties",schemaProp:y,dataProp:A,dataPropType:zg.Type.Str},l),s.opts.unevaluated&&p!==!0?t.assign((0,pl._)`${p}[${A}]`,!0):!m&&!s.allErrors&&t.if((0,pl.not)(l),()=>t.break())})})}}};f3.default=Yre;var D3={};Object.defineProperty(D3,"__esModule",{value:!0});const Zre=we,Qre={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){const{gen:t,schema:r,it:n}=e;if((0,Zre.alwaysValidSchema)(n,r)){e.fail();return}const u=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},u),e.failResult(u,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};D3.default=Qre;var h3={};Object.defineProperty(h3,"__esModule",{value:!0});const ene=rt,tne={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:ene.validateUnion,error:{message:"must match a schema in anyOf"}};h3.default=tne;var m3={};Object.defineProperty(m3,"__esModule",{value:!0});const Ml=st,rne=we,nne={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,Ml._)`{passingSchemas: ${e.passing}}`},une={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:nne,code(e){const{gen:t,schema:r,parentSchema:n,it:u}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(u.opts.discriminator&&n.discriminator)return;const s=r,o=t.let("valid",!1),a=t.let("passing",null),i=t.name("_valid");e.setParams({passing:a}),t.block(c),e.result(o,()=>e.reset(),()=>e.error(!0));function c(){s.forEach((l,p)=>{let d;(0,rne.alwaysValidSchema)(u,l)?t.var(i,!0):d=e.subschema({keyword:"oneOf",schemaProp:p,compositeRule:!0},i),p>0&&t.if((0,Ml._)`${i} && ${o}`).assign(o,!1).assign(a,(0,Ml._)`[${a}, ${p}]`).else(),t.if(i,()=>{t.assign(o,!0),t.assign(a,p),d&&e.mergeEvaluated(d,Ml.Name)})})}}};m3.default=une;var E3={};Object.defineProperty(E3,"__esModule",{value:!0});const sne=we,one={keyword:"allOf",schemaType:"array",code(e){const{gen:t,schema:r,it:n}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");const u=t.name("valid");r.forEach((s,o)=>{if((0,sne.alwaysValidSchema)(n,s))return;const a=e.subschema({keyword:"allOf",schemaProp:o},u);e.ok(u),e.mergeEvaluated(a)})}};E3.default=one;var y3={};Object.defineProperty(y3,"__esModule",{value:!0});const wp=st,ow=we,ane={message:({params:e})=>(0,wp.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,wp._)`{failingKeyword: ${e.ifClause}}`},ine={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:ane,code(e){const{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0,ow.checkStrictMode)(n,'"if" without "then" and "else" is ignored');const u=Kg(n,"then"),s=Kg(n,"else");if(!u&&!s)return;const o=t.let("valid",!0),a=t.name("_valid");if(i(),e.reset(),u&&s){const l=t.let("ifClause");e.setParams({ifClause:l}),t.if(a,c("then",l),c("else",l))}else u?t.if(a,c("then")):t.if((0,wp.not)(a),c("else"));e.pass(o,()=>e.error(!0));function i(){const l=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);e.mergeEvaluated(l)}function c(l,p){return()=>{const d=e.subschema({keyword:l},a);t.assign(o,a),e.mergeValidEvaluated(d,o),p?t.assign(p,(0,wp._)`${l}`):e.setParams({ifClause:l})}}}};function Kg(e,t){const r=e.schema[t];return r!==void 0&&!(0,ow.alwaysValidSchema)(e,r)}y3.default=ine;var v3={};Object.defineProperty(v3,"__esModule",{value:!0});const cne=we,lne={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0,cne.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};v3.default=lne;Object.defineProperty(a3,"__esModule",{value:!0});const pne=Ta,dne=i3,fne=$a,Dne=c3,hne=l3,mne=uw,Ene=p3,yne=pd,vne=d3,gne=f3,Ane=D3,Fne=h3,Cne=m3,bne=E3,Sne=y3,wne=v3;function _ne(e=!1){const t=[Ane.default,Fne.default,Cne.default,bne.default,Sne.default,wne.default,Ene.default,yne.default,mne.default,vne.default,gne.default];return e?t.push(dne.default,Dne.default):t.push(pne.default,fne.default),t.push(hne.default),t}a3.default=_ne;var g3={},A3={};Object.defineProperty(A3,"__esModule",{value:!0});const Ht=st,Bne={message:({schemaCode:e})=>(0,Ht.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,Ht._)`{format: ${e}}`},Tne={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:Bne,code(e,t){const{gen:r,data:n,$data:u,schema:s,schemaCode:o,it:a}=e,{opts:i,errSchemaPath:c,schemaEnv:l,self:p}=a;if(!i.validateFormats)return;u?d():f();function d(){const h=r.scopeValue("formats",{ref:p.formats,code:i.code.formats}),y=r.const("fDef",(0,Ht._)`${h}[${o}]`),A=r.let("fType"),m=r.let("format");r.if((0,Ht._)`typeof ${y} == "object" && !(${y} instanceof RegExp)`,()=>r.assign(A,(0,Ht._)`${y}.type || "string"`).assign(m,(0,Ht._)`${y}.validate`),()=>r.assign(A,(0,Ht._)`"string"`).assign(m,y)),e.fail$data((0,Ht.or)(v(),C()));function v(){return i.strictSchema===!1?Ht.nil:(0,Ht._)`${o} && !${m}`}function C(){const B=l.$async?(0,Ht._)`(${y}.async ? await ${m}(${n}) : ${m}(${n}))`:(0,Ht._)`${m}(${n})`,T=(0,Ht._)`(typeof ${m} == "function" ? ${B} : ${m}.test(${n}))`;return(0,Ht._)`${m} && ${m} !== true && ${A} === ${t} && !${T}`}}function f(){const h=p.formats[s];if(!h){v();return}if(h===!0)return;const[y,A,m]=C(h);y===t&&e.pass(B());function v(){if(i.strictSchema===!1){p.logger.warn(T());return}throw new Error(T());function T(){return`unknown format "${s}" ignored in schema at path "${c}"`}}function C(T){const N=T instanceof RegExp?(0,Ht.regexpCode)(T):i.code.formats?(0,Ht._)`${i.code.formats}${(0,Ht.getProperty)(s)}`:void 0,R=r.scopeValue("formats",{key:s,ref:T,code:N});return typeof T=="object"&&!(T instanceof RegExp)?[T.type||"string",T.validate,(0,Ht._)`${R}.validate`]:["string",T,R]}function B(){if(typeof h=="object"&&!(h instanceof RegExp)&&h.async){if(!l.$async)throw new Error("async format in sync schema");return(0,Ht._)`await ${m}(${n})`}return typeof A=="function"?(0,Ht._)`${m}(${n})`:(0,Ht._)`${m}.test(${n})`}}}};A3.default=Tne;Object.defineProperty(g3,"__esModule",{value:!0});const $ne=A3,Pne=[$ne.default];g3.default=Pne;var va={};Object.defineProperty(va,"__esModule",{value:!0});va.contentVocabulary=va.metadataVocabulary=void 0;va.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];va.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"];Object.defineProperty(WE,"__esModule",{value:!0});const kne=JE,One=KE,Ine=a3,Nne=g3,Xg=va,qne=[kne.default,One.default,(0,Ine.default)(),Nne.default,Xg.metadataVocabulary,Xg.contentVocabulary];WE.default=qne;var F3={},dd={};Object.defineProperty(dd,"__esModule",{value:!0});dd.DiscrError=void 0;var Yg;(function(e){e.Tag="tag",e.Mapping="mapping"})(Yg||(dd.DiscrError=Yg={}));Object.defineProperty(F3,"__esModule",{value:!0});const Wo=st,Oh=dd,Zg=qr,xne=Ba,Rne=we,jne={message:({params:{discrError:e,tagName:t}})=>e===Oh.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0,Wo._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},Mne={keyword:"discriminator",type:"object",schemaType:"object",error:jne,code(e){const{gen:t,data:r,schema:n,parentSchema:u,it:s}=e,{oneOf:o}=u;if(!s.opts.discriminator)throw new Error("discriminator: requires discriminator option");const a=n.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!o)throw new Error("discriminator: requires oneOf keyword");const i=t.let("valid",!1),c=t.const("tag",(0,Wo._)`${r}${(0,Wo.getProperty)(a)}`);t.if((0,Wo._)`typeof ${c} == "string"`,()=>l(),()=>e.error(!1,{discrError:Oh.DiscrError.Tag,tag:c,tagName:a})),e.ok(i);function l(){const f=d();t.if(!1);for(const h in f)t.elseIf((0,Wo._)`${c} === ${h}`),t.assign(i,p(f[h]));t.else(),e.error(!1,{discrError:Oh.DiscrError.Mapping,tag:c,tagName:a}),t.endIf()}function p(f){const h=t.name("valid"),y=e.subschema({keyword:"oneOf",schemaProp:f},h);return e.mergeEvaluated(y,Wo.Name),h}function d(){var f;const h={},y=m(u);let A=!0;for(let B=0;Bthis.addVocabulary(h)),this.opts.discriminator&&this.addKeyword(u.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;const h=this.opts.$data?this.$dataMetaSchema(s,o):s;this.addMetaSchema(h,a,!1),this.refs["http://json-schema.org/schema"]=a}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(a)?a:void 0)}}t.Ajv=i,e.exports=t=i,e.exports.Ajv=i,Object.defineProperty(t,"__esModule",{value:!0}),t.default=i;var c=$n;Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return c.KeywordCxt}});var l=st;Object.defineProperty(t,"_",{enumerable:!0,get:function(){return l._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return l.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return l.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return l.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return l.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return l.CodeGen}});var p=lc;Object.defineProperty(t,"ValidationError",{enumerable:!0,get:function(){return p.default}});var d=Ba;Object.defineProperty(t,"MissingRefError",{enumerable:!0,get:function(){return d.default}})})(Sh,Sh.exports);var zne=Sh.exports;const Kne="Root",Xne="object",Yne="Root Element",Zne={base64String:{type:"string",pattern:"^[A-Za-z0-9/+=]*$"},tagString:{type:"string",pattern:"^[a-z][a-z0-9]*(:.+)?$"}},Qne={id:{type:"string"},metadata:{type:"object",properties:{selectors:{type:"object",additionalProperties:{type:"string"}}},required:["selectors"],additionalProperties:!1},tags:{type:"array",items:{type:"string",$ref:"#/definitions/tagString"}},enums:{type:"object",properties:{ids:{$ref:"#/definitions/base64String"},wordLike:{$ref:"#/definitions/base64String"},notWordLike:{$ref:"#/definitions/base64String"},scopeBits:{$ref:"#/definitions/base64String"},graftTypes:{$ref:"#/definitions/base64String"}},required:["ids","wordLike","notWordLike","scopeBits","graftTypes"],additionalProperties:!1},docs:{type:"object",propertyNames:{type:"string"},additionalProperties:{type:"object",properties:{sequences:{type:"object",additionalProperties:{type:"object",properties:{type:{type:"string"},blocks:{type:"array",items:{type:"object",properties:{bs:{type:"string"},bg:{type:"string"},c:{type:"string"},is:{type:"string"},os:{type:"string"},nt:{type:"string"}},required:["bs","bg","c","is","os","nt"],additionalProperties:!1}},tags:{type:"array",items:{type:"string",$ref:"#/definitions/tagString"}},chapters:{type:"object",additionalProperties:{type:"string"}},chapterVerses:{type:"object",additionalProperties:{type:"string"}},tokensPresent:{type:"string"}},required:["blocks","tags"],additionalProperties:!1}},headers:{type:"object",additionalProperties:{type:"string"}},mainId:{type:"string"},tags:{type:"array",items:{type:"string",$ref:"#/definitions/tagString"}}},required:["sequences","headers","mainId","tags"],additionalProperties:!1}},additionalProperties:!1},eue=["id","enums","docs","tags"],tue=!1,rue={title:Kne,type:Xne,description:Yne,definitions:Zne,properties:Qne,required:eue,additionalProperties:tue},nue="version 0.1.0",uue="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_2_1/document_structure.json",sue="Document (Structure)",oue="A document, typically corresponding to a single USFM or USX book",aue="object",iue={schema:{type:"object",properties:{structure:{description:"The basic 'shape' of the content",type:"string",enum:["flat","nested"]},structure_version:{description:"the semantic version of the structure schema",type:"string"},constraints:{type:"array",items:{type:"object",properties:{name:{type:"string",enum:["perf","sofria"]},version:{description:"the semantic version of the constraint schema",type:"string"}},additionalProperties:!1,required:["name","version"]}}},required:["structure","structure_version","constraints"],additionalProperties:!1},metadata:{description:"Metadata describing the document and the translation it belongs to",type:"object",properties:{translation:{type:"object",description:"Metadata concerning the translation to which the document belongs",properties:{tags:{description:"Tags attached to the translation",type:"array",items:{type:"string"}},properties:{type:"object",description:"Key/value properties attached to the translation",additionalProperties:{type:"string"}},selectors:{type:"object",description:"Proskomma selectors for the translation that, together, provide a primary key in the translation store",additionalProperties:{type:"string"}}},additionalProperties:{type:"string"},required:["id"]},document:{type:"object",description:"Metadata concerning the document itself",properties:{tags:{type:"array",description:"Tags attached to the document",items:{type:"string"}},properties:{type:"object",description:"Key/value properties attached to the document",additionalProperties:{type:"string"}},chapters:{type:"string",pattern:"^[1-9][0-9]*(-[1-9][0-9]*)?$"}},additionalProperties:{type:"string"}}},additionalProperties:!1},sequences:{type:"object",propertyNames:{pattern:"^\\S+$"},additionalProperties:{$ref:"./sequence_structure.json"}},sequence:{$ref:"./sequence_structure.json"},main_sequence_id:{type:"string"}},cue=["schema","metadata"],lue=!1,pue={required:["sequences","main_sequence_id"],not:{required:["sequence"]}},due={$comment:nue,$id:uue,title:sue,description:oue,type:aue,properties:iue,required:cue,additionalProperties:lue,if:{properties:{schema:{type:"object",properties:{structure:{enum:["flat"]}}}}},then:pue,else:{required:["sequence"],allOf:[{not:{required:["sequences"]}},{not:{required:["main_sequence_id"]}}]}},fue="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_2_1/sequence_structure.json",Due="Sequence (Structure)",hue="A sequence contains a 'flow' of one or more blocks",mue="object",Eue={type:{description:"The type of sequence",type:"string"},preview_text:{description:"An optional field to provide some kind of printable label",type:"string"},blocks:{type:"array",description:"The blocks that, together, represent the 'flow' of the sequence",items:{$ref:"./block_structure.json"}}},yue=["type"],vue=!1,gue={$id:fue,title:Due,description:hue,type:mue,properties:Eue,required:yue,additionalProperties:vue},Aue="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_2_1/block_structure.json",Fue="Block (Structure)",Cue="A block, which represents either a paragraph of text or a graft",bue="object",Sue={type:{type:"string",description:"The type of block",enum:["paragraph","graft"]},subtype:{description:"A type-specific subtype",type:"string"},target:{description:"The id of the sequence containing graft content",type:"string"},sequence:{description:"The sequence containing graft content",$ref:"./sequence_structure.json"},preview_text:{description:"An optional field to provide some kind of printable label for a graft",type:"string"},new:{description:"If present and true, is interpreted as a request for the server to create a new graft",type:"boolean"},atts:{type:"object",description:"An object containing USFM attributes or subtype-specific additional information (such as the number of a verse or chapter). The value may be a boolean, a string or an array of strings",additionalProperties:{oneOf:[{type:"array",items:{type:"string"}},{type:"string"},{type:"boolean"}]}},content:{type:"array",description:"The content of the block",items:{oneOf:[{type:"string"},{$ref:"./contentElement_structure.json"}]}}},wue=["type"],_ue=!1,Bue={required:["content"],allOf:[{not:{required:["new"]}},{not:{required:["preview_text"]}},{not:{required:["target"]}}]},Tue={$id:Aue,title:Fue,description:Cue,type:bue,properties:Sue,required:wue,additionalProperties:_ue,if:{properties:{type:{enum:["paragraph"]}}},then:Bue,else:{if:{required:["new"],properties:{new:{enum:[!0]}}},then:{allOf:[{oneOf:[{required:["subtype"]},{required:["sequence"]}]},{not:{required:["target"]}},{not:{required:["preview_text"]}},{not:{required:["content"]}}]},else:{oneOf:[{required:["target"]},{required:["sequence"]}]}}},$ue="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_2_1/contentElement_structure.json",Pue="Content Element (Structure)",kue="A content element, ie some form of (possibly nested) markup",Oue="object",Iue={type:{type:"string",description:"The type of element",enum:["mark","wrapper","start_milestone","end_milestone","graft"]},subtype:{description:"The subtype of the element, which is context-dependent",type:"string"},atts:{type:"object",description:"An object containing USFM attributes or subtype-specific additional information (such as the number of a verse or chapter). The value may be a boolean, a string or an array of strings",additionalProperties:{oneOf:[{type:"array",items:{type:"string"}},{type:"string"},{type:"boolean"}]}},target:{type:"string",description:"The id of the sequence containing graft content"},sequence:{description:"The sequence containing graft content",$ref:"./sequence_structure.json"},preview_text:{description:"An optional field to provide some kind of printable label for a graft",type:"string"},new:{type:"boolean",description:"If present and true, is interpreted as a request for the server to create a new graft"},content:{type:"array",description:"Nested content within the content element",items:{oneOf:[{type:"string"},{$ref:"./contentElement_structure.json"}]}},meta_content:{type:"array",description:"Non-Scripture content related to the content element, such as checking data or related resources",items:{oneOf:[{type:"string"},{$ref:"./contentElement_structure.json"}]}}},Nue=["type"],que=!1,xue={$id:$ue,title:Pue,description:kue,type:Oue,properties:Iue,required:Nue,additionalProperties:que},Rue="version 0.2.0",jue="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/perf_document_constraint.json",Mue="object",Lue={sequences:{type:"object",propertyNames:{pattern:"^\\S+$"},additionalProperties:{$ref:"./perf_sequence_constraint.json"}}},Uue={$comment:Rue,$id:jue,type:Mue,properties:Lue},Gue="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/perf_sequence_constraint.json",Vue="object",Hue={type:{type:"string",enum:["main","introduction","intro_title","intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv","footnote","note_caller","xref","pub_number","alt_number","esb_cat","fig","temp"]},blocks:{type:"array",items:{$ref:"./perf_block_constraint.json"}}},Wue={$id:Gue,type:Vue,properties:Hue},Jue="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/perf_block_constraint.json",zue="object",Kue={type:{type:"string",enum:["paragraph","graft"]},content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./perf_contentElement_constraint.json"}]}},meta_content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./perf_contentElement_constraint.json"}]}}},Xue={properties:{subtype:{enum:["introduction","intro_title","Intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv"]}}},Yue={$id:Jue,type:zue,properties:Kue,if:{properties:{type:{enum:["graft"]}}},then:Xue,else:{properties:{subtype:{type:"string",pattern:"^usfm:"}}}},Zue="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/perf_contentElement_constraint.json",Que="object",ese=[{properties:{content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./perf_contentElement_constraint.json"}]}},meta_content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./perf_contentElement_constraint.json"}]}}}},{if:{properties:{type:{enum:["graft"]}}},then:{properties:{subtype:{enum:["footnote","xref","note_caller"]}},allOf:[{not:{required:["content"]}},{not:{required:["meta_content"]}}],if:{required:["new"],properties:{new:{enum:[!0]}}},then:{not:{anyOf:[{required:["target"]},{required:["preview_text"]}]}},else:{required:["target"]}}},{if:{properties:{type:{enum:["mark"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["chapter","verses"]},{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},if:{properties:{subtype:{enum:["chapter","verses"]}}},then:{type:"object",required:["atts"],properties:{atts:{type:"object",required:["number"],maxProperties:1}}}}},{if:{properties:{type:{enum:["wrapper"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["meta_content"]},{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},if:{properties:{subtype:{enum:["meta_content"]}}},then:{not:{required:["atts"]}}}},{if:{properties:{type:{enum:["start_milestone"]}}},then:{properties:{subtype:{type:"string",oneOf:[{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}}}},{if:{properties:{type:{enum:["end_milestone"]}}},then:{properties:{subtype:{type:"string",oneOf:[{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},not:{required:["atts"]}}}],tse={$id:Zue,type:Que,allOf:ese},rse="version 0.2.0",nse="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/sofria_document_constraint.json",use="object",sse={sequences:{type:"object",propertyNames:{pattern:"^\\S+$"},additionalProperties:{$ref:"./sofria_sequence_constraint.json"}}},ose={$comment:rse,$id:nse,type:use,properties:sse},ase="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/sofria_sequence_constraint.json",ise="object",cse={type:{type:"string",enum:["main","introduction","intro_title","intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv","footnote","note_caller","xref","pub_number","alt_number","esb_cat","fig","temp"]},blocks:{type:"array",items:{$ref:"./sofria_block_constraint.json"}}},lse={$id:ase,type:ise,properties:cse},pse="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/sofria_block_constraint.json",dse="object",fse={type:{type:"string",enum:["paragraph","graft"]},content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./sofria_contentElement_constraint.json"}]}},meta_content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./sofria_contentElement_constraint.json"}]}}},Dse={properties:{subtype:{enum:["introduction","intro_title","Intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv"]}}},hse={$id:pse,type:dse,properties:fse,if:{properties:{type:{enum:["graft"]}}},then:Dse,else:{properties:{subtype:{type:"string",pattern:"^usfm:"}}}},mse="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/sofria_contentElement_constraint.json",Ese="object",yse=[{properties:{content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./sofria_contentElement_constraint.json"}]}},meta_content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./sofria_contentElement_constraint.json"}]}}}},{if:{properties:{type:{enum:["graft"]}}},then:{properties:{subtype:{enum:["footnote","xref","note_caller"]}},allOf:[{not:{required:["content"]}},{not:{required:["meta_content"]}}],if:{required:["new"],properties:{new:{enum:[!0]}}},then:{not:{anyOf:[{required:["block"]},{required:["preview_text"]}]}},else:{required:["block"]}}},{if:{properties:{type:{enum:["mark"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["chapter_label","verses_label"]},{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},if:{properties:{subtype:{enum:["chapter","verses"]}}},then:{type:"object",required:["atts"],properties:{atts:{type:"object",required:["number"],maxProperties:1}}}}},{if:{properties:{type:{enum:["wrapper"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["meta_content","chapter","verses"]},{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},if:{properties:{subtype:{enum:["meta_content"]}}},then:{not:{required:["atts"]}}}},{if:{properties:{type:{enum:["start_milestone"]}}},then:{properties:{subtype:{type:"string",oneOf:[{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}}}},{if:{properties:{type:{enum:["end_milestone"]}}},then:{properties:{subtype:{type:"string",oneOf:[{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},not:{required:["atts"]}}}],vse={$id:mse,type:Ese,allOf:yse},gse="version 0.1.0",Ase="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_3_0/document_structure.json",Fse="Document (Structure)",Cse="A document, typically corresponding to a single USFM or USX book",bse="object",Sse={schema:{type:"object",properties:{structure:{description:"The basic 'shape' of the content",type:"string",enum:["flat","nested"]},structure_version:{description:"the semantic version of the structure schema",type:"string"},constraints:{type:"array",items:{type:"object",properties:{name:{type:"string",enum:["perf","sofria"]},version:{description:"the semantic version of the constraint schema",type:"string"}},additionalProperties:!1,required:["name","version"]}}},required:["structure","structure_version","constraints"],additionalProperties:!1},metadata:{description:"Metadata describing the document and the translation it belongs to",type:"object",properties:{translation:{type:"object",description:"Metadata concerning the translation to which the document belongs",properties:{tags:{description:"Tags attached to the translation",type:"array",items:{type:"string"}},properties:{type:"object",description:"Key/value properties attached to the translation",additionalProperties:{type:"string"}},selectors:{type:"object",description:"Proskomma selectors for the translation that, together, provide a primary key in the translation store",additionalProperties:{type:"string"}}},additionalProperties:{type:"string"},required:["id"]},document:{type:"object",description:"Metadata concerning the document itself",properties:{tags:{type:"array",description:"Tags attached to the document",items:{type:"string"}},properties:{type:"object",description:"Key/value properties attached to the document",additionalProperties:{type:"string"}},chapters:{type:"string",pattern:"^[1-9][0-9]*(-[1-9][0-9]*)?$"}},additionalProperties:{type:"string"}}},additionalProperties:!1},hooks:{type:"array",$ref:"./hook_structure.json"},sequences:{type:"object",propertyNames:{pattern:"^\\S+$"},additionalProperties:{$ref:"./sequence_structure.json"}},sequence:{$ref:"./sequence_structure.json"},main_sequence_id:{type:"string"}},wse=["schema","metadata"],_se=!1,Bse={required:["sequences","main_sequence_id"],not:{required:["sequence"]}},Tse={$comment:gse,$id:Ase,title:Fse,description:Cse,type:bse,properties:Sse,required:wse,additionalProperties:_se,if:{properties:{schema:{type:"object",properties:{structure:{enum:["flat"]}}}}},then:Bse,else:{required:["sequence"],allOf:[{not:{required:["sequences"]}},{not:{required:["main_sequence_id"]}}]}},$se="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_3_0/sequence_structure.json",Pse="Sequence (Structure)",kse="A sequence contains a 'flow' of one or more blocks",Ose="object",Ise={type:{description:"The type of sequence",type:"string"},preview_text:{description:"An optional field to provide some kind of printable label",type:"string"},blocks:{type:"array",description:"The blocks that, together, represent the 'flow' of the sequence",items:{$ref:"./block_structure.json"}},hooks:{type:"array",$ref:"./hook_structure.json"}},Nse=["type"],qse=!1,xse={$id:$se,title:Pse,description:kse,type:Ose,properties:Ise,required:Nse,additionalProperties:qse},Rse="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_3_0/block_structure.json",jse="Block (Structure)",Mse="A block, which represents either a paragraph of text or a graft",Lse="object",Use={type:{type:"string",description:"The type of block",enum:["paragraph","row","node","lookup","graft"]},subtype:{description:"A type-specific subtype",type:"string"},target:{description:"The id of the sequence containing graft content",type:"string"},sequence:{description:"The sequence containing graft content",$ref:"./sequence_structure.json"},preview_text:{description:"An optional field to provide some kind of printable label for a graft",type:"string"},new:{description:"If present and true, is interpreted as a request for the server to create a new graft",type:"boolean"},atts:{type:"object",description:"An object containing USFM attributes or subtype-specific additional information (such as the number of a verse or chapter). The value may be a boolean, a string or an array of strings",additionalProperties:{oneOf:[{type:"array",items:{type:"string"}},{type:"string"},{type:"boolean"}]}},content:{type:"array",description:"The content of the block",items:{oneOf:[{type:"string"},{$ref:"./contentElement_structure.json"}]}},hooks:{type:"array",$ref:"./hook_structure.json"}},Gse=["type"],Vse=!1,Hse={required:["content"],allOf:[{not:{required:["new"]}},{not:{required:["preview_text"]}},{not:{required:["target"]}}]},Wse={$id:Rse,title:jse,description:Mse,type:Lse,properties:Use,required:Gse,additionalProperties:Vse,if:{properties:{type:{enum:["paragraph","row","node","lookup"]}}},then:Hse,else:{if:{required:["new"],properties:{new:{enum:[!0]}}},then:{allOf:[{oneOf:[{required:["subtype"]},{required:["sequence"]}]},{not:{required:["target"]}},{not:{required:["preview_text"]}},{not:{required:["content"]}}]},else:{oneOf:[{required:["target"]},{required:["sequence"]}]}}},Jse="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_3_0/contentElement_structure.json",zse="Content Element (Structure)",Kse="A content element, ie some form of (possibly nested) markup",Xse="object",Yse={type:{type:"string",description:"The type of element",enum:["mark","wrapper","start_milestone","end_milestone","graft"]},subtype:{description:"The subtype of the element, which is context-dependent",type:"string"},atts:{type:"object",description:"An object containing USFM attributes or subtype-specific additional information (such as the number of a verse or chapter). The value may be a boolean, a string or an array of strings",additionalProperties:{oneOf:[{type:"array",items:{type:"string"}},{type:"string"},{type:"boolean"}]}},target:{type:"string",description:"The id of the sequence containing graft content"},sequence:{description:"The sequence containing graft content",$ref:"./sequence_structure.json"},preview_text:{description:"An optional field to provide some kind of printable label for a graft",type:"string"},new:{type:"boolean",description:"If present and true, is interpreted as a request for the server to create a new graft"},content:{type:"array",description:"Nested content within the content element",items:{oneOf:[{type:"string"},{$ref:"./contentElement_structure.json"}]}},meta_content:{type:"array",description:"Non-Scripture content related to the content element, such as checking data or related resources",items:{oneOf:[{type:"string"},{$ref:"./contentElement_structure.json"}]}},hooks:{type:"array",$ref:"./hook_structure.json"}},Zse=["type"],Qse=!1,eoe={$id:Jse,title:zse,description:Kse,type:Xse,properties:Yse,required:Zse,additionalProperties:Qse},toe="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_3_0/hook_structure.json",roe="Hook (Structure)",noe="Hooks, ie typed labels that may be used to link documents",uoe="array",soe={type:"array",items:[{type:"string",oneOf:[{enum:["bcv_ref","book_ref"]},{pattern:"^x-(app|publisher)-[a-z][a-z0-9]+-\\S{2,256}$"},{pattern:"^x-local-\\S{2,256}$"}]},{type:"string",oneOf:[{enum:["label"]},{pattern:"^\\w{1,255}$"}]}],minItems:2,maxItems:2},ooe={$id:toe,title:roe,description:noe,type:uoe,items:soe},aoe="version 0.3.0",ioe="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/perf_document_constraint.json",coe="object",loe={hooks:{type:"array"},sequences:{type:"object",propertyNames:{pattern:"^\\S+$"},additionalProperties:{$ref:"./perf_sequence_constraint.json"}}},poe={$comment:aoe,$id:ioe,type:coe,properties:loe},doe="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/perf_sequence_constraint.json",foe="object",Doe={type:{type:"string",enum:["main","introduction","intro_title","intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv","footnote","note_caller","xref","pub_number","alt_number","esb_cat","fig","temp"]},blocks:{type:"array",items:{$ref:"./perf_block_constraint.json"}}},hoe={$id:doe,type:foe,properties:Doe},moe="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/perf_block_constraint.json",Eoe="object",yoe={type:{type:"string",enum:["paragraph","graft","row","node","lookup"]},content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./perf_contentElement_constraint.json"}]}},meta_content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./perf_contentElement_constraint.json"}]}}},voe={properties:{subtype:{enum:["introduction","intro_title","Intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv"]}}},goe={$id:moe,type:Eoe,properties:yoe,if:{properties:{type:{enum:["graft"]}}},then:voe,else:{if:{properties:{type:{enum:["row"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["row:heading","row:body"]}]}}},else:{if:{properties:{type:{enum:["node"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["node"]},{pattern:"^x-\\S{1,256}$"}]},atts:{type:"object",properties:{id:{type:"string"},parent:{type:"string"},children:{type:"array",items:{type:"string"}}},required:["id"],additionalProperties:!1}}},else:{if:{properties:{type:{enum:["lookup"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["lookup"]},{pattern:"^x-\\S{1,256}$"}]},atts:{type:"object",properties:{primary:{type:"string"},secondary:{type:"array",items:{type:"string"}}},required:["primary"],additionalProperties:!1}}},else:{properties:{subtype:{type:"string",oneOf:[{pattern:"^usfm:"},{pattern:"^x-\\S{1,256}$"}]}}}}}}},Aoe="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/perf_contentElement_constraint.json",Foe="object",Coe=[{properties:{content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./perf_contentElement_constraint.json"}]}},meta_content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./perf_contentElement_constraint.json"}]}}}},{if:{properties:{type:{enum:["graft"]}}},then:{properties:{subtype:{enum:["footnote","xref","note_caller"]}},allOf:[{not:{required:["content"]}},{not:{required:["meta_content"]}}],if:{required:["new"],properties:{new:{enum:[!0]}}},then:{not:{anyOf:[{required:["target"]},{required:["preview_text"]}]}},else:{required:["target"]}}},{if:{properties:{type:{enum:["mark"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["chapter","verses","alt_chapter","alt_verse","pub_chapter","pub_verse"]},{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},if:{properties:{subtype:{enum:["chapter","verses"]}}},then:{type:"object",required:["atts"],properties:{atts:{type:"object",required:["number"],maxProperties:1}}}}},{if:{properties:{type:{enum:["wrapper"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["meta_content"]},{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},if:{properties:{subtype:{enum:["meta_content"]}}},then:{not:{required:["atts"]}}}},{if:{properties:{type:{enum:["start_milestone"]}}},then:{properties:{subtype:{type:"string",oneOf:[{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}}}},{if:{properties:{type:{enum:["end_milestone"]}}},then:{properties:{subtype:{type:"string",oneOf:[{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},not:{required:["atts"]}}}],boe={$id:Aoe,type:Foe,allOf:Coe},Soe="version 0.3.0",woe="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/sofria_document_constraint.json",_oe="object",Boe={sequence:{$ref:"./sofria_sequence_constraint.json"}},Toe={$comment:Soe,$id:woe,type:_oe,properties:Boe},$oe="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/sofria_sequence_constraint.json",Poe="object",koe={type:{type:"string",enum:["main","introduction","intro_title","intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv","footnote","note_caller","xref","pub_number","alt_number","esb_cat","fig","temp"]},blocks:{type:"array",items:{$ref:"./sofria_block_constraint.json"}}},Ooe={$id:$oe,type:Poe,properties:koe},Ioe="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/sofria_block_constraint.json",Noe="object",qoe={type:{type:"string",enum:["paragraph","graft"]},content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./sofria_contentElement_constraint.json"}]}},meta_content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./sofria_contentElement_constraint.json"}]}}},xoe={properties:{subtype:{enum:["introduction","intro_title","Intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv"]}}},Roe={$id:Ioe,type:Noe,properties:qoe,if:{properties:{type:{enum:["graft"]}}},then:xoe,else:{properties:{subtype:{type:"string",pattern:"^usfm:"}}}},joe="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/sofria_contentElement_constraint.json",Moe="object",Loe=[{properties:{content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./sofria_contentElement_constraint.json"}]}},meta_content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./sofria_contentElement_constraint.json"}]}}}},{if:{properties:{type:{enum:["graft"]}}},then:{properties:{subtype:{enum:["footnote","xref","note_caller"]}},allOf:[{not:{required:["content"]}},{not:{required:["meta_content"]}}],if:{required:["new"],properties:{new:{enum:[!0]}}},then:{not:{anyOf:[{required:["blocks"]},{required:["preview_text"]}]}},else:{required:["sequence"]}}},{if:{properties:{type:{enum:["mark"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["chapter_label","verses_label","alt_chapter","alt_verse","pub_chapter","pub_verse"]},{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},if:{properties:{subtype:{enum:["chapter","verses"]}}},then:{type:"object",required:["atts"],properties:{atts:{type:"object",required:["number"],maxProperties:1}}}}},{if:{properties:{type:{enum:["wrapper"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["meta_content","chapter","verses"]},{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},if:{properties:{subtype:{enum:["meta_content"]}}},then:{not:{required:["atts"]}}}},{if:{properties:{type:{enum:["start_milestone"]}}},then:{properties:{subtype:{type:"string",oneOf:[{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}}}},{if:{properties:{type:{enum:["end_milestone"]}}},then:{properties:{subtype:{type:"string",oneOf:[{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},not:{required:["atts"]}}}],Uoe={$id:joe,type:Moe,allOf:Loe},Goe="version 0.1.0",Voe="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_4_0/document_structure.json",Hoe="Document (Structure)",Woe="A document, typically corresponding to a single USFM or USX book",Joe="object",zoe={schema:{type:"object",properties:{structure:{description:"The basic 'shape' of the content",type:"string",enum:["flat","nested"]},structure_version:{description:"the semantic version of the structure schema",type:"string"},constraints:{type:"array",items:{type:"object",properties:{name:{type:"string",enum:["perf","sofria"]},version:{description:"the semantic version of the constraint schema",type:"string"}},additionalProperties:!1,required:["name","version"]}}},required:["structure","structure_version","constraints"],additionalProperties:!1},metadata:{description:"Metadata describing the document and the translation it belongs to",type:"object",properties:{translation:{type:"object",description:"Metadata concerning the translation to which the document belongs",properties:{tags:{description:"Tags attached to the translation",type:"array",items:{type:"string"}},properties:{type:"object",description:"Key/value properties attached to the translation",additionalProperties:{type:"string"}},selectors:{type:"object",description:"Proskomma selectors for the translation that, together, provide a primary key in the translation store",additionalProperties:{type:"string"}}},additionalProperties:{type:"string"},required:["id"]},document:{type:"object",description:"Metadata concerning the document itself",properties:{tags:{type:"array",description:"Tags attached to the document",items:{type:"string"}},properties:{type:"object",description:"Key/value properties attached to the document",additionalProperties:{type:"string"}},chapters:{type:"string",pattern:"^[1-9][0-9]*(-[1-9][0-9]*)?$"}},additionalProperties:{type:"string"}}},additionalProperties:!1},hooks:{type:"array",$ref:"./hook_structure.json"},sequences:{type:"object",propertyNames:{pattern:"^\\S+$"},additionalProperties:{$ref:"./sequence_structure.json"}},sequence:{$ref:"./sequence_structure.json"},main_sequence_id:{type:"string"}},Koe=["schema","metadata"],Xoe=!1,Yoe={required:["sequences","main_sequence_id"],not:{required:["sequence"]}},Zoe={$comment:Goe,$id:Voe,title:Hoe,description:Woe,type:Joe,properties:zoe,required:Koe,additionalProperties:Xoe,if:{properties:{schema:{type:"object",properties:{structure:{enum:["flat"]}}}}},then:Yoe,else:{required:["sequence"],allOf:[{not:{required:["sequences"]}},{not:{required:["main_sequence_id"]}}]}},Qoe="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_4_0/sequence_structure.json",eae="Sequence (Structure)",tae="A sequence contains a 'flow' of one or more blocks",rae="object",nae={type:{description:"The type of sequence",type:"string"},preview_text:{description:"An optional field to provide some kind of printable label",type:"string"},blocks:{type:"array",description:"The blocks that, together, represent the 'flow' of the sequence",items:{$ref:"./block_structure.json"}},hooks:{type:"array",$ref:"./hook_structure.json"}},uae=["type"],sae=!1,oae={$id:Qoe,title:eae,description:tae,type:rae,properties:nae,required:uae,additionalProperties:sae},aae="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_4_0/block_structure.json",iae="Block (Structure)",cae="A block, which represents either a paragraph of text or a graft",lae="object",pae={type:{type:"string",description:"The type of block",enum:["paragraph","row","graft"]},subtype:{description:"A type-specific subtype",type:"string"},target:{description:"The id of the sequence containing graft content",type:"string"},sequence:{description:"The sequence containing graft content",$ref:"./sequence_structure.json"},preview_text:{description:"An optional field to provide some kind of printable label for a graft",type:"string"},new:{description:"If present and true, is interpreted as a request for the server to create a new graft",type:"boolean"},atts:{type:"object",description:"An object containing USFM attributes or subtype-specific additional information (such as the number of a verse or chapter). The value may be a boolean, a string or an array of strings",additionalProperties:{oneOf:[{type:"array",items:{type:"string"}},{type:"string"},{type:"boolean"}]}},content:{type:"array",description:"The content of the block",items:{oneOf:[{type:"string"},{$ref:"./contentElement_structure.json"}]}},hooks:{type:"array",$ref:"./hook_structure.json"}},dae=["type"],fae=!1,Dae={required:["content"],allOf:[{not:{required:["new"]}},{not:{required:["preview_text"]}},{not:{required:["target"]}}]},hae={$id:aae,title:iae,description:cae,type:lae,properties:pae,required:dae,additionalProperties:fae,if:{properties:{type:{enum:["paragraph","row"]}}},then:Dae,else:{if:{required:["new"],properties:{new:{enum:[!0]}}},then:{allOf:[{oneOf:[{required:["subtype"]},{required:["sequence"]}]},{not:{required:["target"]}},{not:{required:["preview_text"]}},{not:{required:["content"]}}]},else:{oneOf:[{required:["target"]},{required:["sequence"]}]}}},mae="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_4_0/contentElement_structure.json",Eae="Content Element (Structure)",yae="A content element, ie some form of (possibly nested) markup",vae="object",gae={type:{type:"string",description:"The type of element",enum:["mark","wrapper","start_milestone","end_milestone","graft"]},subtype:{description:"The subtype of the element, which is context-dependent",type:"string"},atts:{type:"object",description:"An object containing USFM attributes or subtype-specific additional information (such as the number of a verse or chapter). The value may be a boolean, a string or an array of strings",additionalProperties:{oneOf:[{type:"array",items:{type:"string"}},{type:"string"},{type:"boolean"},{type:"number"}]}},target:{type:"string",description:"The id of the sequence containing graft content"},sequence:{description:"The sequence containing graft content",$ref:"./sequence_structure.json"},preview_text:{description:"An optional field to provide some kind of printable label for a graft",type:"string"},new:{type:"boolean",description:"If present and true, is interpreted as a request for the server to create a new graft"},content:{type:"array",description:"Nested content within the content element",items:{oneOf:[{type:"string"},{$ref:"./contentElement_structure.json"}]}},meta_content:{type:"array",description:"Non-Scripture content related to the content element, such as checking data or related resources",items:{oneOf:[{type:"string"},{$ref:"./contentElement_structure.json"}]}},hooks:{type:"array",$ref:"./hook_structure.json"}},Aae=["type"],Fae=!1,Cae={$id:mae,title:Eae,description:yae,type:vae,properties:gae,required:Aae,additionalProperties:Fae},bae="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_4_0/hook_structure.json",Sae="Hook (Structure)",wae="Hooks, ie typed labels that may be used to link documents",_ae="array",Bae={type:"array",items:[{type:"string",oneOf:[{enum:["bcv_ref","book_ref"]},{pattern:"^x-(app|publisher)-[a-z][a-z0-9]+-\\S{2,256}$"},{pattern:"^x-local-\\S{2,256}$"}]},{type:"string",oneOf:[{enum:["label"]},{pattern:"^\\w{1,255}$"}]}],minItems:2,maxItems:2},Tae={$id:bae,title:Sae,description:wae,type:_ae,items:Bae},$ae="version 0.3.0",Pae="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_4_0/perf_document_constraint.json",kae="object",Oae={hooks:{type:"array"},sequences:{type:"object",propertyNames:{pattern:"^\\S+$"},additionalProperties:{$ref:"./perf_sequence_constraint.json"}}},Iae={$comment:$ae,$id:Pae,type:kae,properties:Oae},Nae="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_4_0/perf_sequence_constraint.json",qae="object",xae={type:{type:"string",enum:["main","introduction","intro_title","intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv","footnote","note_caller","xref","pub_number","alt_number","esb_cat","fig","temp"]},blocks:{type:"array",items:{$ref:"./perf_block_constraint.json"}}},Rae={$id:Nae,type:qae,properties:xae},jae="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_4_0/perf_block_constraint.json",Mae="object",Lae={type:{type:"string",enum:["paragraph","graft","row","node","lookup"]},content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./perf_contentElement_constraint.json"}]}},meta_content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./perf_contentElement_constraint.json"}]}}},Uae={properties:{subtype:{enum:["introduction","intro_title","Intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv"]}}},Gae={$id:jae,type:Mae,properties:Lae,if:{properties:{type:{enum:["graft"]}}},then:Uae,else:{if:{properties:{type:{enum:["row"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["row:heading","row:body"]}]}}},else:{if:{properties:{type:{enum:["node"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["node"]},{pattern:"^x-\\S{1,256}$"}]},atts:{type:"object",properties:{id:{type:"string"},parent:{type:"string"},children:{type:"array",items:{type:"string"}}},required:["id"],additionalProperties:!1}}},else:{if:{properties:{type:{enum:["lookup"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["lookup"]},{pattern:"^x-\\S{1,256}$"}]},atts:{type:"object",properties:{primary:{type:"string"},secondary:{type:"array",items:{type:"string"}}},required:["primary"],additionalProperties:!1}}},else:{properties:{subtype:{type:"string",oneOf:[{pattern:"^usfm:"},{pattern:"^x-\\S{1,256}$"}]}}}}}}},Vae="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_4_0/perf_contentElement_constraint.json",Hae="object",Wae=[{properties:{content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./perf_contentElement_constraint.json"}]}},meta_content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./perf_contentElement_constraint.json"}]}}}},{if:{properties:{type:{enum:["graft"]}}},then:{properties:{subtype:{enum:["footnote","xref","note_caller"]}},allOf:[{not:{required:["content"]}},{not:{required:["meta_content"]}}],if:{required:["new"],properties:{new:{enum:[!0]}}},then:{not:{anyOf:[{required:["target"]},{required:["preview_text"]}]}},else:{required:["target"]}}},{if:{properties:{type:{enum:["mark"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["chapter","verses","alt_chapter","alt_verse","pub_chapter","pub_verse"]},{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},if:{properties:{subtype:{enum:["chapter","verses"]}}},then:{type:"object",required:["atts"],properties:{atts:{type:"object",required:["number"],maxProperties:1}}}}},{if:{properties:{type:{enum:["wrapper"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["meta_content"]},{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},if:{properties:{subtype:{enum:["meta_content"]}}},then:{not:{required:["atts"]}}}},{if:{properties:{type:{enum:["start_milestone"]}}},then:{properties:{subtype:{type:"string",oneOf:[{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}}}},{if:{properties:{type:{enum:["end_milestone"]}}},then:{properties:{subtype:{type:"string",oneOf:[{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},not:{required:["atts"]}}}],Jae={$id:Vae,type:Hae,allOf:Wae},zae="version 0.3.0",Kae="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_4_0/sofria_document_constraint.json",Xae="object",Yae={sequence:{$ref:"./sofria_sequence_constraint.json"}},Zae={$comment:zae,$id:Kae,type:Xae,properties:Yae},Qae="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_4_0/sofria_sequence_constraint.json",eie="object",tie={type:{type:"string",enum:["main","introduction","intro_title","intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv","footnote","note_caller","xref","pub_number","alt_number","esb_cat","fig","temp"]},blocks:{type:"array",items:{$ref:"./sofria_block_constraint.json"}}},rie={$id:Qae,type:eie,properties:tie},nie="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_4_0/sofria_block_constraint.json",uie="object",sie={type:{type:"string",enum:["paragraph","graft","row"]},content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./sofria_contentElement_constraint.json"}]}},meta_content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./sofria_contentElement_constraint.json"}]}}},oie={properties:{subtype:{enum:["introduction","intro_title","Intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv"]}}},aie={$id:nie,type:uie,properties:sie,if:{properties:{type:{enum:["graft"]}}},then:oie,else:{if:{properties:{type:{enum:["row"]}}},then:{properties:{subtype:{type:"string",enum:["usfm:tr","pk"]}}},else:{properties:{subtype:{type:"string",pattern:"^usfm:"}}}}},iie="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_4_0/sofria_contentElement_constraint.json",cie="object",lie=[{properties:{content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./sofria_contentElement_constraint.json"}]}},meta_content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./sofria_contentElement_constraint.json"}]}}}},{if:{properties:{type:{enum:["graft"]}}},then:{properties:{subtype:{enum:["footnote","xref","note_caller"]}},allOf:[{not:{required:["content"]}},{not:{required:["meta_content"]}}],if:{required:["new"],properties:{new:{enum:[!0]}}},then:{not:{anyOf:[{required:["blocks"]},{required:["preview_text"]}]}},else:{required:["sequence"]}}},{if:{properties:{type:{enum:["mark"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["chapter_label","verses_label","alt_chapter","alt_verse","pub_chapter","pub_verse"]},{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},if:{properties:{subtype:{enum:["chapter","verses"]}}},then:{type:"object",required:["atts"],properties:{atts:{type:"object",required:["number"],maxProperties:1}}}}},{if:{properties:{type:{enum:["wrapper"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["meta_content","chapter","verses","cell"]},{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},if:{properties:{subtype:{enum:["meta_content"]}}},then:{not:{required:["atts"]}}}},{if:{properties:{type:{enum:["start_milestone"]}}},then:{properties:{subtype:{type:"string",oneOf:[{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}}}},{if:{properties:{type:{enum:["end_milestone"]}}},then:{properties:{subtype:{type:"string",oneOf:[{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},not:{required:["atts"]}}}],pie={$id:iie,type:cie,allOf:lie};var mt=zne,die=rue,xf=due,ko=gue,Oo=Tue,Io=xue,fie=Uue,Qg=Wue,eA=Yue,tA=tse,Die=ose,rA=lse,nA=hse,uA=vse,Rf=Tse,No=xse,qo=Wse,xo=eoe,Mn=ooe,hie=poe,sA=hoe,oA=goe,aA=boe,mie=Toe,iA=Ooe,cA=Roe,lA=Uoe,jf=Zoe,Ro=oae,jo=hae,Mo=Cae,Ln=Tae,Eie=Iae,pA=Rae,dA=Gae,fA=Jae,yie=Zae,DA=rie,hA=aie,mA=pie;let vie=class{constructor(){this.schema={structure:{},constraint:{},proskomma:{}};for(var[t,r]of[["succinct",{"0.2.0":[{name:"Proskomma Serialized Succinct",validator:new mt().compile(die)}]}]])this.schema.proskomma[t]=r;for(var[n,u]of[["document",{"0.2.1":[{name:"Document Structure",validator:new mt().addSchema(Io).addSchema(Oo).addSchema(ko).compile(xf)}],"0.3.0":[{name:"Document Structure",validator:new mt().addSchema(Mn).addSchema(xo).addSchema(qo).addSchema(No).compile(Rf)}],"0.4.0":[{name:"Document Structure",validator:new mt().addSchema(Ln).addSchema(Mo).addSchema(jo).addSchema(Ro).compile(jf)}]}],["sequence",{"0.2.1":[{name:"Sequence Structure",validator:new mt().addSchema(Io).addSchema(Oo).compile(ko)}],"0.3.0":[{name:"Sequence Structure",validator:new mt().addSchema(Mn).addSchema(xo).addSchema(qo).compile(No)}],"0.4.0":[{name:"Sequence Structure",validator:new mt().addSchema(Ln).addSchema(Mo).addSchema(jo).compile(Ro)}]}]])this.schema.structure[n]=u;for(var[s,o]of[["perfDocument",{"0.2.1":[{name:"Document Structure",validator:new mt().addSchema(Io).addSchema(Oo).addSchema(ko).compile(xf)},{name:"PERF Document",validator:new mt().addSchema(tA).addSchema(eA).addSchema(Qg).compile(fie)}],"0.3.0":[{name:"Document Structure",validator:new mt().addSchema(Mn).addSchema(xo).addSchema(qo).addSchema(No).compile(Rf)},{name:"PERF Document",validator:new mt().addSchema(Mn).addSchema(aA).addSchema(oA).addSchema(sA).compile(hie)}],"0.4.0":[{name:"Document Structure",validator:new mt().addSchema(Ln).addSchema(Mo).addSchema(jo).addSchema(Ro).compile(jf)},{name:"PERF Document",validator:new mt().addSchema(Ln).addSchema(fA).addSchema(dA).addSchema(pA).compile(Eie)}]}],["perfSequence",{"0.2.1":[{name:"Sequence Structure",validator:new mt().addSchema(Io).addSchema(Oo).compile(ko)},{name:"PERF Sequence",validator:new mt().addSchema(tA).addSchema(eA).compile(Qg)}],"0.3.0":[{name:"Sequence Structure",validator:new mt().addSchema(Mn).addSchema(xo).addSchema(qo).compile(No)},{name:"PERF Sequence",validator:new mt().addSchema(Mn).addSchema(aA).addSchema(oA).compile(sA)}],"0.4.0":[{name:"Sequence Structure",validator:new mt().addSchema(Ln).addSchema(Mo).addSchema(jo).compile(Ro)},{name:"PERF Sequence",validator:new mt().addSchema(Ln).addSchema(fA).addSchema(dA).compile(pA)}]}],["sofriaDocument",{"0.2.1":[{name:"Document Structure",validator:new mt().addSchema(Io).addSchema(Oo).addSchema(ko).compile(xf)},{name:"SOFRIA Document",validator:new mt().addSchema(uA).addSchema(nA).addSchema(rA).compile(Die)}],"0.3.0":[{name:"Document Structure",validator:new mt().addSchema(Mn).addSchema(xo).addSchema(qo).addSchema(No).compile(Rf)},{name:"SOFRIA Document",validator:new mt().addSchema(Mn).addSchema(lA).addSchema(cA).addSchema(iA).compile(mie)}],"0.4.0":[{name:"Document Structure",validator:new mt().addSchema(Ln).addSchema(Mo).addSchema(jo).addSchema(Ro).compile(jf)},{name:"SOFRIA Document",validator:new mt().addSchema(Ln).addSchema(mA).addSchema(hA).addSchema(DA).compile(yie)}]}],["sofriaSequence",{"0.2.1":[{name:"Sequence Structure",validator:new mt().addSchema(Io).addSchema(Oo).compile(ko)},{name:"SOFRIA Sequence",validator:new mt().addSchema(uA).addSchema(nA).compile(rA)}],"0.3.0":[{name:"Sequence Structure",validator:new mt().addSchema(Mn).addSchema(xo).addSchema(qo).compile(No)},{name:"SOFRIA Sequence",validator:new mt().addSchema(Mn).addSchema(lA).addSchema(cA).compile(iA)}],"0.4.0":[{name:"Sequence Structure",validator:new mt().addSchema(Ln).addSchema(Mo).addSchema(jo).compile(Ro)},{name:"SOFRIA Sequence",validator:new mt().addSchema(Ln).addSchema(mA).addSchema(hA).compile(DA)}]}]])this.schema.constraint[s]=o}schemaInfo(){var t={};for(var[r,n]of Object.entries(this.schema)){t[r]={};for(var[u,s]of Object.entries(n)){t[r][u]={};for(var[o,a]of Object.entries(s))t[r][u][o]=a.map(i=>i.name)}}return t}validate(t,r,n,u){if(u===void 0)throw new Error("data argument is missing. Usage: validate(schemaType, schemaKey, schemaVersion, data)");if(u===null)throw new Error("Data argument is null");var s=Object.keys(this.schema);if(!s.includes(t))throw new Error("Schema type must be one of ".concat(s.map(l=>"'".concat(l,"'")).join(", "),", not '").concat(t,"'"));if(!this.schema[t][r])throw new Error("Unknown ".concat(t," schema key ").concat(r));if(!this.schema[t][r][n])throw new Error("Unknown version ".concat(n," for ").concat(t," schema key ").concat(r));var o=this.schema[t][r][n],a;for(var{name:i,validator:c}of o)if(a={validatorName:i,isValid:c(u),errors:c.errors},!a.isValid)break;return{requested:{schemaType:t,schemaKey:r,schemaVersion:n},lastSchema:a.validatorName,isValid:a.isValid,errors:a.errors}}};var gie=vie,Aie=["qs","qac","litl","lik","liv","fr","fq","fqa","fk","fl","fw","fp","fv","ft","fdc","fm","xo","xk","xq","xt","xta","xop","xot","xnt","xdc","rq","add","bk","dc","k","nd","ord","pn","png","qt","sig","sls","tl","wj","em","bd","it","bdit","no","sc","sup","ior","iqt","th","thr","tc","tcr"],Fie=["ms","mr","s","sr","r","qa","sp","sd"],Cie=["cd","p","m","po","pr","cls","pmo","pm","pmc","pmr","pi","mi","nb","pc","ph","b","q","qr","qc","qa","qm","qd","lh","li","lf","lim","d"],bie=["imt","is","imte"],Sie=["ip","ipi","im","imi","ipq","imq","ipr","iq","ib","ili","iot","io","iex"],wie={characterTags:Aie,bodyTags:Cie,headingTags:Fie,introHeadingTags:bie,introBodyTags:Sie},Ih={exports:{}},aw={exports:{}},Mf,EA;function hr(){if(EA)return Mf;EA=1;var e=function(t){return t&&t.Math===Math&&t};return Mf=e(typeof globalThis=="object"&&globalThis)||e(typeof window=="object"&&window)||e(typeof self=="object"&&self)||e(typeof Ce=="object"&&Ce)||e(typeof Ce=="object"&&Ce)||function(){return this}()||Function("return this")(),Mf}var Zt=function(e){try{return!!e()}catch{return!0}},_ie=Zt,fd=!_ie(function(){var e=(function(){}).bind();return typeof e!="function"||e.hasOwnProperty("prototype")}),Bie=fd,iw=Function.prototype,yA=iw.apply,vA=iw.call,cw=typeof Reflect=="object"&&Reflect.apply||(Bie?vA.bind(yA):function(){return vA.apply(yA,arguments)}),Lf,gA;function Jt(){if(gA)return Lf;gA=1;var e=fd,t=Function.prototype,r=t.call,n=e&&t.bind.bind(r,r);return Lf=e?n:function(u){return function(){return r.apply(u,arguments)}},Lf}var Uf,AA;function uo(){if(AA)return Uf;AA=1;var e=Jt(),t=e({}.toString),r=e("".slice);return Uf=function(n){return r(t(n),8,-1)},Uf}var Tie=uo(),$ie=Jt(),C3=function(e){if(Tie(e)==="Function")return $ie(e)},Gf,FA;function vr(){if(FA)return Gf;FA=1;var e=typeof document=="object"&&document.all;return Gf=typeof e>"u"&&e!==void 0?function(t){return typeof t=="function"||t===e}:function(t){return typeof t=="function"},Gf}var b3={},Pie=Zt,Kr=!Pie(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7}),kie=fd,dl=Function.prototype.call,In=kie?dl.bind(dl):function(){return dl.apply(dl,arguments)},S3={},lw={}.propertyIsEnumerable,pw=Object.getOwnPropertyDescriptor,Oie=pw&&!lw.call({1:2},1);S3.f=Oie?function(t){var r=pw(this,t);return!!r&&r.enumerable}:lw;var dc=function(e,t){return{enumerable:!(e&1),configurable:!(e&2),writable:!(e&4),value:t}},Vf,CA;function w3(){if(CA)return Vf;CA=1;var e=Jt(),t=Zt,r=uo(),n=Object,u=e("".split);return Vf=t(function(){return!n("z").propertyIsEnumerable(0)})?function(s){return r(s)==="String"?u(s,""):n(s)}:n,Vf}var Hf,bA;function _3(){return bA||(bA=1,Hf=function(e){return e==null}),Hf}var Wf,SA;function fc(){if(SA)return Wf;SA=1;var e=_3(),t=TypeError;return Wf=function(r){if(e(r))throw new t("Can't call method on "+r);return r},Wf}var Jf,wA;function fs(){if(wA)return Jf;wA=1;var e=w3(),t=fc();return Jf=function(r){return e(t(r))},Jf}var zf,_A;function Nn(){if(_A)return zf;_A=1;var e=vr();return zf=function(t){return typeof t=="object"?t!==null:e(t)},zf}var uu={},Kf,BA;function ku(){if(BA)return Kf;BA=1;var e=uu,t=hr(),r=vr(),n=function(u){return r(u)?u:void 0};return Kf=function(u,s){return arguments.length<2?n(e[u])||n(t[u]):e[u]&&e[u][s]||t[u]&&t[u][s]},Kf}var Xf,TA;function cn(){if(TA)return Xf;TA=1;var e=Jt();return Xf=e({}.isPrototypeOf),Xf}var Yf,$A;function Dc(){if($A)return Yf;$A=1;var e=hr(),t=e.navigator,r=t&&t.userAgent;return Yf=r?String(r):"",Yf}var Zf,PA;function hc(){if(PA)return Zf;PA=1;var e=hr(),t=Dc(),r=e.process,n=e.Deno,u=r&&r.versions||n&&n.version,s=u&&u.v8,o,a;return s&&(o=s.split("."),a=o[0]>0&&o[0]<4?1:+(o[0]+o[1])),!a&&t&&(o=t.match(/Edge\/(\d+)/),(!o||o[1]>=74)&&(o=t.match(/Chrome\/(\d+)/),o&&(a=+o[1]))),Zf=a,Zf}var Qf,kA;function Pa(){if(kA)return Qf;kA=1;var e=hc(),t=Zt,r=hr(),n=r.String;return Qf=!!Object.getOwnPropertySymbols&&!t(function(){var u=Symbol("symbol detection");return!n(u)||!(Object(u)instanceof Symbol)||!Symbol.sham&&e&&e<41}),Qf}var e1,OA;function dw(){if(OA)return e1;OA=1;var e=Pa();return e1=e&&!Symbol.sham&&typeof Symbol.iterator=="symbol",e1}var Iie=ku(),Nie=vr(),qie=cn(),xie=dw(),Rie=Object,mc=xie?function(e){return typeof e=="symbol"}:function(e){var t=Iie("Symbol");return Nie(t)&&qie(t.prototype,Rie(e))},t1,IA;function Dd(){if(IA)return t1;IA=1;var e=String;return t1=function(t){try{return e(t)}catch{return"Object"}},t1}var jie=vr(),Mie=Dd(),Lie=TypeError,ka=function(e){if(jie(e))return e;throw new Lie(Mie(e)+" is not a function")},Uie=ka,Gie=_3(),B3=function(e,t){var r=e[t];return Gie(r)?void 0:Uie(r)},r1=In,n1=vr(),u1=Nn(),Vie=TypeError,Hie=function(e,t){var r,n;if(t==="string"&&n1(r=e.toString)&&!u1(n=r1(r,e))||n1(r=e.valueOf)&&!u1(n=r1(r,e))||t!=="string"&&n1(r=e.toString)&&!u1(n=r1(r,e)))return n;throw new Vie("Can't convert object to primitive value")},fw={exports:{}},s1,NA;function Ec(){return NA||(NA=1,s1=!0),s1}var qA=hr(),Wie=Object.defineProperty,Jie=function(e,t){try{Wie(qA,e,{value:t,configurable:!0,writable:!0})}catch{qA[e]=t}return t},zie=Ec(),Kie=hr(),Xie=Jie,xA="__core-js_shared__",RA=fw.exports=Kie[xA]||Xie(xA,{});(RA.versions||(RA.versions=[])).push({version:"3.38.1",mode:zie?"pure":"global",copyright:"© 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.38.1/LICENSE",source:"https://github.com/zloirock/core-js"});var T3=fw.exports,o1,jA;function Oa(){if(jA)return o1;jA=1;var e=T3;return o1=function(t,r){return e[t]||(e[t]=r||{})},o1}var a1,MA;function Ou(){if(MA)return a1;MA=1;var e=fc(),t=Object;return a1=function(r){return t(e(r))},a1}var i1,LA;function Mr(){if(LA)return i1;LA=1;var e=Jt(),t=Ou(),r=e({}.hasOwnProperty);return i1=Object.hasOwn||function(u,s){return r(t(u),s)},i1}var c1,UA;function $3(){if(UA)return c1;UA=1;var e=Jt(),t=0,r=Math.random(),n=e(1 .toString);return c1=function(u){return"Symbol("+(u===void 0?"":u)+")_"+n(++t+r,36)},c1}var l1,GA;function ar(){if(GA)return l1;GA=1;var e=hr(),t=Oa(),r=Mr(),n=$3(),u=Pa(),s=dw(),o=e.Symbol,a=t("wks"),i=s?o.for||o:o&&o.withoutSetter||n;return l1=function(c){return r(a,c)||(a[c]=u&&r(o,c)?o[c]:i("Symbol."+c)),a[c]},l1}var Yie=In,VA=Nn(),HA=mc,Zie=B3,Qie=Hie,ece=ar(),tce=TypeError,rce=ece("toPrimitive"),nce=function(e,t){if(!VA(e)||HA(e))return e;var r=Zie(e,rce),n;if(r){if(t===void 0&&(t="default"),n=Yie(r,e,t),!VA(n)||HA(n))return n;throw new tce("Can't convert object to primitive value")}return t===void 0&&(t="number"),Qie(e,t)},uce=nce,sce=mc,P3=function(e){var t=uce(e,"string");return sce(t)?t:t+""},oce=hr(),WA=Nn(),Nh=oce.document,ace=WA(Nh)&&WA(Nh.createElement),Dw=function(e){return ace?Nh.createElement(e):{}},ice=Kr,cce=Zt,lce=Dw,hw=!ice&&!cce(function(){return Object.defineProperty(lce("div"),"a",{get:function(){return 7}}).a!==7}),pce=Kr,dce=In,fce=S3,Dce=dc,hce=fs(),mce=P3,Ece=Mr(),yce=hw,JA=Object.getOwnPropertyDescriptor;b3.f=pce?JA:function(t,r){if(t=hce(t),r=mce(r),yce)try{return JA(t,r)}catch{}if(Ece(t,r))return Dce(!dce(fce.f,t,r),t[r])};var vce=Zt,gce=vr(),Ace=/#|\.prototype\./,yc=function(e,t){var r=Cce[Fce(e)];return r===Sce?!0:r===bce?!1:gce(t)?vce(t):!!t},Fce=yc.normalize=function(e){return String(e).replace(Ace,".").toLowerCase()},Cce=yc.data={},bce=yc.NATIVE="N",Sce=yc.POLYFILL="P",wce=yc,zA=C3,_ce=ka,Bce=fd,Tce=zA(zA.bind),k3=function(e,t){return _ce(e),t===void 0?e:Bce?Tce(e,t):function(){return e.apply(t,arguments)}},qn={},$ce=Kr,Pce=Zt,mw=$ce&&Pce(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42}),kce=Nn(),Oce=String,Ice=TypeError,Ds=function(e){if(kce(e))return e;throw new Ice(Oce(e)+" is not an object")},Nce=Kr,qce=hw,xce=mw,fl=Ds,KA=P3,Rce=TypeError,p1=Object.defineProperty,jce=Object.getOwnPropertyDescriptor,d1="enumerable",f1="configurable",D1="writable";qn.f=Nce?xce?function(t,r,n){if(fl(t),r=KA(r),fl(n),typeof t=="function"&&r==="prototype"&&"value"in n&&D1 in n&&!n[D1]){var u=jce(t,r);u&&u[D1]&&(t[r]=n.value,n={configurable:f1 in n?n[f1]:u[f1],enumerable:d1 in n?n[d1]:u[d1],writable:!1})}return p1(t,r,n)}:p1:function(t,r,n){if(fl(t),r=KA(r),fl(n),qce)try{return p1(t,r,n)}catch{}if("get"in n||"set"in n)throw new Rce("Accessors not supported");return"value"in n&&(t[r]=n.value),t};var Mce=Kr,Lce=qn,Uce=dc,vc=Mce?function(e,t,r){return Lce.f(e,t,Uce(1,r))}:function(e,t,r){return e[t]=r,e},Ka=hr(),Gce=cw,Vce=C3,Hce=vr(),Wce=b3.f,Jce=wce,Lo=uu,zce=k3,Uo=vc,XA=Mr(),Kce=function(e){var t=function(r,n,u){if(this instanceof t){switch(arguments.length){case 0:return new e;case 1:return new e(r);case 2:return new e(r,n)}return new e(r,n,u)}return Gce(e,this,arguments)};return t.prototype=e.prototype,t},xt=function(e,t){var r=e.target,n=e.global,u=e.stat,s=e.proto,o=n?Ka:u?Ka[r]:Ka[r]&&Ka[r].prototype,a=n?Lo:Lo[r]||Uo(Lo,r,{})[r],i=a.prototype,c,l,p,d,f,h,y,A,m;for(d in t)c=Jce(n?d:r+(u?".":"#")+d,e.forced),l=!c&&o&&XA(o,d),h=a[d],l&&(e.dontCallGetSet?(m=Wce(o,d),y=m&&m.value):y=o[d]),f=l&&y?y:t[d],!(!c&&!s&&typeof h==typeof f)&&(e.bind&&l?A=zce(f,Ka):e.wrap&&l?A=Kce(f):s&&Hce(f)?A=Vce(f):A=f,(e.sham||f&&f.sham||h&&h.sham)&&Uo(A,"sham",!0),Uo(a,d,A),s&&(p=r+"Prototype",XA(Lo,p)||Uo(Lo,p,{}),Uo(Lo[p],d,f),e.real&&i&&(c||!i[d])&&Uo(i,d,f)))},Xce=xt,Yce=Kr,YA=qn.f;Xce({target:"Object",stat:!0,forced:Object.defineProperty!==YA,sham:!Yce},{defineProperty:YA});var Zce=uu,Ew=Zce.Object,Qce=aw.exports=function(t,r,n){return Ew.defineProperty(t,r,n)};Ew.defineProperty.sham&&(Qce.sham=!0);var ele=aw.exports,tle=ele,rle=tle,hs=rle,yw={exports:{}};(function(e){function t(r){return r&&r.__esModule?r:{default:r}}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports})(yw);var ms=yw.exports,Dl={exports:{}},ZA={},h1,QA;function Ia(){if(QA)return h1;QA=1;var e=uo();return h1=Array.isArray||function(r){return e(r)==="Array"},h1}var m1,eF;function O3(){if(eF)return m1;eF=1;var e=ar(),t=e("toStringTag"),r={};return r[t]="z",m1=String(r)==="[object z]",m1}var E1,tF;function gc(){if(tF)return E1;tF=1;var e=O3(),t=vr(),r=uo(),n=ar(),u=n("toStringTag"),s=Object,o=r(function(){return arguments}())==="Arguments",a=function(i,c){try{return i[c]}catch{}};return E1=e?r:function(i){var c,l,p;return i===void 0?"Undefined":i===null?"Null":typeof(l=a(c=s(i),u))=="string"?l:o?r(c):(p=r(c))==="Object"&&t(c.callee)?"Arguments":p},E1}var y1,rF;function nle(){if(rF)return y1;rF=1;var e=Jt(),t=vr(),r=T3,n=e(Function.toString);return t(r.inspectSource)||(r.inspectSource=function(u){return n(u)}),y1=r.inspectSource,y1}var v1,nF;function I3(){if(nF)return v1;nF=1;var e=Jt(),t=Zt,r=vr(),n=gc(),u=ku(),s=nle(),o=function(){},a=u("Reflect","construct"),i=/^\s*(?:class|function)\b/,c=e(i.exec),l=!i.test(o),p=function(h){if(!r(h))return!1;try{return a(o,[],h),!0}catch{return!1}},d=function(h){if(!r(h))return!1;switch(n(h)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return l||!!c(i,s(h))}catch{return!0}};return d.sham=!0,v1=!a||t(function(){var f;return p(p.call)||!p(Object)||!p(function(){f=!0})||f})?d:p,v1}var g1,uF;function ule(){if(uF)return g1;uF=1;var e=Math.ceil,t=Math.floor;return g1=Math.trunc||function(n){var u=+n;return(u>0?t:e)(u)},g1}var A1,sF;function N3(){if(sF)return A1;sF=1;var e=ule();return A1=function(t){var r=+t;return r!==r||r===0?0:e(r)},A1}var F1,oF;function vw(){if(oF)return F1;oF=1;var e=N3(),t=Math.max,r=Math.min;return F1=function(n,u){var s=e(n);return s<0?t(s+u,0):r(s,u)},F1}var C1,aF;function sle(){if(aF)return C1;aF=1;var e=N3(),t=Math.min;return C1=function(r){var n=e(r);return n>0?t(n,9007199254740991):0},C1}var b1,iF;function Es(){if(iF)return b1;iF=1;var e=sle();return b1=function(t){return e(t.length)},b1}var S1,cF;function q3(){if(cF)return S1;cF=1;var e=Kr,t=qn,r=dc;return S1=function(n,u,s){e?t.f(n,u,r(0,s)):n[u]=s},S1}var w1,lF;function x3(){if(lF)return w1;lF=1;var e=Zt,t=ar(),r=hc(),n=t("species");return w1=function(u){return r>=51||!e(function(){var s=[],o=s.constructor={};return o[n]=function(){return{foo:1}},s[u](Boolean).foo!==1})},w1}var _1,pF;function hd(){if(pF)return _1;pF=1;var e=Jt();return _1=e([].slice),_1}var dF;function ole(){if(dF)return ZA;dF=1;var e=xt,t=Ia(),r=I3(),n=Nn(),u=vw(),s=Es(),o=fs(),a=q3(),i=ar(),c=x3(),l=hd(),p=c("slice"),d=i("species"),f=Array,h=Math.max;return e({target:"Array",proto:!0,forced:!p},{slice:function(A,m){var v=o(this),C=s(v),B=u(A,C),T=u(m===void 0?C:m,C),N,R,J;if(t(v)&&(N=v.constructor,r(N)&&(N===f||t(N.prototype))?N=void 0:n(N)&&(N=N[d],N===null&&(N=void 0)),N===f||N===void 0))return l(v,B,T);for(R=new(N===void 0?f:N)(h(T-B,0)),J=0;B=f?i?"":void 0:(h=s(p,d),h<55296||h>56319||d+1===f||(y=s(p,d+1))<56320||y>57343?i?u(p,d):h:i?o(p,d,d+2):(h-55296<<10)+(y-56320)+65536)}};return I1={codeAt:a(!1),charAt:a(!0)},I1}var N1,AF;function lle(){if(AF)return N1;AF=1;var e=hr(),t=vr(),r=e.WeakMap;return N1=t(r)&&/native code/.test(String(r)),N1}var q1,FF;function md(){if(FF)return q1;FF=1;var e=Oa(),t=$3(),r=e("keys");return q1=function(n){return r[n]||(r[n]=t(n))},q1}var x1,CF;function Ed(){return CF||(CF=1,x1={}),x1}var R1,bF;function R3(){if(bF)return R1;bF=1;var e=lle(),t=hr(),r=Nn(),n=vc,u=Mr(),s=T3,o=md(),a=Ed(),i="Object already initialized",c=t.TypeError,l=t.WeakMap,p,d,f,h=function(v){return f(v)?d(v):p(v,{})},y=function(v){return function(C){var B;if(!r(C)||(B=d(C)).type!==v)throw new c("Incompatible receiver, "+v+" required");return B}};if(e||s.state){var A=s.state||(s.state=new l);A.get=A.get,A.has=A.has,A.set=A.set,p=function(v,C){if(A.has(v))throw new c(i);return C.facade=v,A.set(v,C),C},d=function(v){return A.get(v)||{}},f=function(v){return A.has(v)}}else{var m=o("state");a[m]=!0,p=function(v,C){if(u(v,m))throw new c(i);return C.facade=v,n(v,m,C),C},d=function(v){return u(v,m)?v[m]:{}},f=function(v){return u(v,m)}}return R1={set:p,get:d,has:f,enforce:h,getterFor:y},R1}var j1,SF;function ple(){if(SF)return j1;SF=1;var e=Kr,t=Mr(),r=Function.prototype,n=e&&Object.getOwnPropertyDescriptor,u=t(r,"name"),s=u&&(function(){}).name==="something",o=u&&(!e||e&&n(r,"name").configurable);return j1={EXISTS:u,PROPER:s,CONFIGURABLE:o},j1}var M1={},L1,wF;function Aw(){if(wF)return L1;wF=1;var e=fs(),t=vw(),r=Es(),n=function(u){return function(s,o,a){var i=e(s),c=r(i);if(c===0)return!u&&-1;var l=t(a,c),p;if(u&&o!==o){for(;c>l;)if(p=i[l++],p!==p)return!0}else for(;c>l;l++)if((u||l in i)&&i[l]===o)return u||l||0;return!u&&-1}};return L1={includes:n(!0),indexOf:n(!1)},L1}var U1,_F;function Fw(){if(_F)return U1;_F=1;var e=Jt(),t=Mr(),r=fs(),n=Aw().indexOf,u=Ed(),s=e([].push);return U1=function(o,a){var i=r(o),c=0,l=[],p;for(p in i)!t(u,p)&&t(i,p)&&s(l,p);for(;a.length>c;)t(i,p=a[c++])&&(~n(l,p)||s(l,p));return l},U1}var G1,BF;function j3(){return BF||(BF=1,G1=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]),G1}var V1,TF;function Cw(){if(TF)return V1;TF=1;var e=Fw(),t=j3();return V1=Object.keys||function(n){return e(n,t)},V1}var $F;function bw(){if($F)return M1;$F=1;var e=Kr,t=mw,r=qn,n=Ds,u=fs(),s=Cw();return M1.f=e&&!t?Object.defineProperties:function(a,i){n(a);for(var c=u(i),l=s(i),p=l.length,d=0,f;p>d;)r.f(a,f=l[d++],c[f]);return a},M1}var H1,PF;function dle(){if(PF)return H1;PF=1;var e=ku();return H1=e("document","documentElement"),H1}var W1,kF;function yd(){if(kF)return W1;kF=1;var e=Ds,t=bw(),r=j3(),n=Ed(),u=dle(),s=Dw,o=md(),a=">",i="<",c="prototype",l="script",p=o("IE_PROTO"),d=function(){},f=function(v){return i+l+a+v+i+"/"+l+a},h=function(v){v.write(f("")),v.close();var C=v.parentWindow.Object;return v=null,C},y=function(){var v=s("iframe"),C="java"+l+":",B;return v.style.display="none",u.appendChild(v),v.src=String(C),B=v.contentWindow.document,B.open(),B.write(f("document.F=Object")),B.close(),B.F},A,m=function(){try{A=new ActiveXObject("htmlfile")}catch{}m=typeof document<"u"?document.domain&&A?h(A):y():h(A);for(var v=r.length;v--;)delete m[c][r[v]];return m()};return n[p]=!0,W1=Object.create||function(C,B){var T;return C!==null?(d[c]=e(C),T=new d,d[c]=null,T[p]=C):T=m(),B===void 0?T:t.f(T,B)},W1}var J1,OF;function fle(){if(OF)return J1;OF=1;var e=Zt;return J1=!e(function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}),J1}var z1,IF;function Sw(){if(IF)return z1;IF=1;var e=Mr(),t=vr(),r=Ou(),n=md(),u=fle(),s=n("IE_PROTO"),o=Object,a=o.prototype;return z1=u?o.getPrototypeOf:function(i){var c=r(i);if(e(c,s))return c[s];var l=c.constructor;return t(l)&&c instanceof l?l.prototype:c instanceof o?a:null},z1}var K1,NF;function vd(){if(NF)return K1;NF=1;var e=vc;return K1=function(t,r,n,u){return u&&u.enumerable?t[r]=n:e(t,r,n),t},K1}var X1,qF;function ww(){if(qF)return X1;qF=1;var e=Zt,t=vr(),r=Nn(),n=yd(),u=Sw(),s=vd(),o=ar(),a=Ec(),i=o("iterator"),c=!1,l,p,d;[].keys&&(d=[].keys(),"next"in d?(p=u(u(d)),p!==Object.prototype&&(l=p)):c=!0);var f=!r(l)||e(function(){var h={};return l[i].call(h)!==h});return f?l={}:a&&(l=n(l)),t(l[i])||s(l,i,function(){return this}),X1={IteratorPrototype:l,BUGGY_SAFARI_ITERATORS:c},X1}var Y1,xF;function Dle(){if(xF)return Y1;xF=1;var e=O3(),t=gc();return Y1=e?{}.toString:function(){return"[object "+t(this)+"]"},Y1}var Z1,RF;function Na(){if(RF)return Z1;RF=1;var e=O3(),t=qn.f,r=vc,n=Mr(),u=Dle(),s=ar(),o=s("toStringTag");return Z1=function(a,i,c,l){var p=c?a:a&&a.prototype;p&&(n(p,o)||t(p,o,{configurable:!0,value:i}),l&&!e&&r(p,"toString",u))},Z1}var Q1,jF;function qa(){return jF||(jF=1,Q1={}),Q1}var e0,MF;function hle(){if(MF)return e0;MF=1;var e=ww().IteratorPrototype,t=yd(),r=dc,n=Na(),u=qa(),s=function(){return this};return e0=function(o,a,i,c){var l=a+" Iterator";return o.prototype=t(e,{next:r(+!c,i)}),n(o,l,!1,!0),u[l]=s,o},e0}var t0,LF;function mle(){if(LF)return t0;LF=1;var e=Jt(),t=ka;return t0=function(r,n,u){try{return e(t(Object.getOwnPropertyDescriptor(r,n)[u]))}catch{}},t0}var r0,UF;function Ele(){if(UF)return r0;UF=1;var e=Nn();return r0=function(t){return e(t)||t===null},r0}var n0,GF;function yle(){if(GF)return n0;GF=1;var e=Ele(),t=String,r=TypeError;return n0=function(n){if(e(n))return n;throw new r("Can't set "+t(n)+" as a prototype")},n0}var u0,VF;function vle(){if(VF)return u0;VF=1;var e=mle(),t=Nn(),r=fc(),n=yle();return u0=Object.setPrototypeOf||("__proto__"in{}?function(){var u=!1,s={},o;try{o=e(Object.prototype,"__proto__","set"),o(s,[]),u=s instanceof Array}catch{}return function(i,c){return r(i),n(c),t(i)&&(u?o(i,c):i.__proto__=c),i}}():void 0),u0}var s0,HF;function _w(){if(HF)return s0;HF=1;var e=xt,t=In,r=Ec(),n=ple(),u=vr(),s=hle(),o=Sw(),a=vle(),i=Na(),c=vc,l=vd(),p=ar(),d=qa(),f=ww(),h=n.PROPER,y=n.CONFIGURABLE,A=f.IteratorPrototype,m=f.BUGGY_SAFARI_ITERATORS,v=p("iterator"),C="keys",B="values",T="entries",N=function(){return this};return s0=function(R,J,q,G,ee,K,ue){s(q,J,G);var oe=function(D){if(D===ee&&pe)return pe;if(!m&&D&&D in fe)return fe[D];switch(D){case C:return function(){return new q(this,D)};case B:return function(){return new q(this,D)};case T:return function(){return new q(this,D)}}return function(){return new q(this)}},de=J+" Iterator",he=!1,fe=R.prototype,ge=fe[v]||fe["@@iterator"]||ee&&fe[ee],pe=!m&&ge||oe(ee),z=J==="Array"&&fe.entries||ge,O,E,F;if(z&&(O=o(z.call(new R)),O!==Object.prototype&&O.next&&(!r&&o(O)!==A&&(a?a(O,A):u(O[v])||l(O,v,N)),i(O,de,!0,!0),r&&(d[de]=N))),h&&ee===B&&ge&&ge.name!==B&&(!r&&y?c(fe,"name",B):(he=!0,pe=function(){return t(ge,this)})),ee)if(E={values:oe(B),keys:K?pe:oe(C),entries:oe(T)},ue)for(F in E)(m||he||!(F in fe))&&l(fe,F,E[F]);else e({target:J,proto:!0,forced:m||he},E);return(!r||ue)&&fe[v]!==pe&&l(fe,v,pe,{name:ee}),d[J]=pe,E},s0}var o0,WF;function Bw(){return WF||(WF=1,o0=function(e,t){return{value:e,done:t}}),o0}var JF;function Tw(){if(JF)return yF;JF=1;var e=cle().charAt,t=vs(),r=R3(),n=_w(),u=Bw(),s="String Iterator",o=r.set,a=r.getterFor(s);return n(String,"String",function(i){o(this,{type:s,string:t(i),index:0})},function(){var c=a(this),l=c.string,p=c.index,d;return p>=l.length?u(void 0,!0):(d=e(l,p),c.index+=d.length,u(d,!1))}),yF}var zF={},a0,KF;function gle(){if(KF)return a0;KF=1;var e=In,t=Ds,r=B3;return a0=function(n,u,s){var o,a;t(n);try{if(o=r(n,"return"),!o){if(u==="throw")throw s;return s}o=e(o,n)}catch(i){a=!0,o=i}if(u==="throw")throw s;if(a)throw o;return t(o),s},a0}var i0,XF;function Ale(){if(XF)return i0;XF=1;var e=Ds,t=gle();return i0=function(r,n,u,s){try{return s?n(e(u)[0],u[1]):n(u)}catch(o){t(r,"throw",o)}},i0}var c0,YF;function Fle(){if(YF)return c0;YF=1;var e=ar(),t=qa(),r=e("iterator"),n=Array.prototype;return c0=function(u){return u!==void 0&&(t.Array===u||n[r]===u)},c0}var l0,ZF;function M3(){if(ZF)return l0;ZF=1;var e=gc(),t=B3,r=_3(),n=qa(),u=ar(),s=u("iterator");return l0=function(o){if(!r(o))return t(o,s)||t(o,"@@iterator")||n[e(o)]},l0}var p0,QF;function Cle(){if(QF)return p0;QF=1;var e=In,t=ka,r=Ds,n=Dd(),u=M3(),s=TypeError;return p0=function(o,a){var i=arguments.length<2?u(o):a;if(t(i))return r(e(i,o));throw new s(n(o)+" is not iterable")},p0}var d0,eC;function ble(){if(eC)return d0;eC=1;var e=k3,t=In,r=Ou(),n=Ale(),u=Fle(),s=I3(),o=Es(),a=q3(),i=Cle(),c=M3(),l=Array;return d0=function(d){var f=r(d),h=s(this),y=arguments.length,A=y>1?arguments[1]:void 0,m=A!==void 0;m&&(A=e(A,y>2?arguments[2]:void 0));var v=c(f),C=0,B,T,N,R,J,q;if(v&&!(this===l&&u(v)))for(T=h?new this:[],R=i(f,v),J=R.next;!(N=t(J,R)).done;C++)q=m?n(R,A,[N.value,C],!0):N.value,a(T,C,q);else for(B=o(f),T=h?new this(B):l(B);B>C;C++)q=m?A(f[C],C):f[C],a(T,C,q);return T.length=C,T},d0}var f0,tC;function Sle(){if(tC)return f0;tC=1;var e=ar(),t=e("iterator"),r=!1;try{var n=0,u={next:function(){return{done:!!n++}},return:function(){r=!0}};u[t]=function(){return this},Array.from(u,function(){throw 2})}catch{}return f0=function(s,o){try{if(!o&&!r)return!1}catch{return!1}var a=!1;try{var i={};i[t]=function(){return{next:function(){return{done:a=!0}}}},s(i)}catch{}return a},f0}var rC;function wle(){if(rC)return zF;rC=1;var e=xt,t=ble(),r=Sle(),n=!r(function(u){Array.from(u)});return e({target:"Array",stat:!0,forced:n},{from:t}),zF}var D0,nC;function _le(){if(nC)return D0;nC=1,Tw(),wle();var e=uu;return D0=e.Array.from,D0}var h0,uC;function $w(){if(uC)return h0;uC=1;var e=_le();return h0=e,h0}var m0,sC;function Pw(){return sC||(sC=1,m0=$w()),m0}var oC={},E0,aC;function kw(){if(aC)return E0;aC=1;var e=TypeError,t=9007199254740991;return E0=function(r){if(r>t)throw e("Maximum allowed index exceeded");return r},E0}var y0,iC;function Ble(){if(iC)return y0;iC=1;var e=Ia(),t=I3(),r=Nn(),n=ar(),u=n("species"),s=Array;return y0=function(o){var a;return e(o)&&(a=o.constructor,t(a)&&(a===s||e(a.prototype))?a=void 0:r(a)&&(a=a[u],a===null&&(a=void 0))),a===void 0?s:a},y0}var v0,cC;function Ow(){if(cC)return v0;cC=1;var e=Ble();return v0=function(t,r){return new(e(t))(r===0?0:r)},v0}var lC;function Iw(){if(lC)return oC;lC=1;var e=xt,t=Zt,r=Ia(),n=Nn(),u=Ou(),s=Es(),o=kw(),a=q3(),i=Ow(),c=x3(),l=ar(),p=hc(),d=l("isConcatSpreadable"),f=p>=51||!t(function(){var A=[];return A[d]=!1,A.concat()[0]!==A}),h=function(A){if(!n(A))return!1;var m=A[d];return m!==void 0?!!m:r(A)},y=!f||!c("concat");return e({target:"Array",proto:!0,arity:1,forced:y},{concat:function(m){var v=u(this),C=i(v,0),B=0,T,N,R,J,q;for(T=-1,R=arguments.length;TJ;J++)if((y||J in T)&&(ee=T[J],K=R(ee,J,B),i))if(c)G[J]=K;else if(K)switch(i){case 3:return!0;case 5:return ee;case 6:return J;case 2:o(G,ee)}else switch(i){case 4:return!1;case 7:o(G,ee)}return f?-1:p||d?d:G}};return _0={forEach:a(0),map:a(1),filter:a(2),some:a(3),every:a(4),find:a(5),findIndex:a(6),filterReject:a(7)},_0}var AC;function Ple(){if(AC)return dC;AC=1;var e=xt,t=hr(),r=In,n=Jt(),u=Ec(),s=Kr,o=Pa(),a=Zt,i=Mr(),c=cn(),l=Ds,p=fs(),d=P3,f=vs(),h=dc,y=yd(),A=Cw(),m=Nw(),v=Tle(),C=qw(),B=b3,T=qn,N=bw(),R=S3,J=vd(),q=$le(),G=Oa(),ee=md(),K=Ed(),ue=$3(),oe=ar(),de=xw(),he=Rt(),fe=Rw(),ge=Na(),pe=R3(),z=L3().forEach,O=ee("hidden"),E="Symbol",F="prototype",D=pe.set,g=pe.getterFor(E),P=Object[F],b=t.Symbol,w=b&&b[F],I=t.RangeError,$=t.TypeError,M=t.QObject,L=B.f,Y=T.f,be=v.f,Ne=R.f,Ve=n([].push),Me=G("symbols"),Fe=G("op-symbols"),qe=G("wks"),Pe=!M||!M[F]||!M[F].findChild,Be=function(U,X,re){var ve=L(P,X);ve&&delete P[X],Y(U,X,re),ve&&U!==P&&Y(P,X,ve)},le=s&&a(function(){return y(Y({},"a",{get:function(){return Y(this,"a",{value:7}).a}})).a!==7})?Be:Y,Te=function(U,X){var re=Me[U]=y(w);return D(re,{type:E,tag:U,description:X}),s||(re.description=X),re},W=function(X,re,ve){X===P&&W(Fe,re,ve),l(X);var Se=d(re);return l(ve),i(Me,Se)?(ve.enumerable?(i(X,O)&&X[O][Se]&&(X[O][Se]=!1),ve=y(ve,{enumerable:h(0,!1)})):(i(X,O)||Y(X,O,h(1,y(null))),X[O][Se]=!0),le(X,Se,ve)):Y(X,Se,ve)},se=function(X,re){l(X);var ve=p(re),Se=A(ve).concat(x(ve));return z(Se,function(Oe){(!s||r(k,ve,Oe))&&W(X,Oe,ve[Oe])}),X},ce=function(X,re){return re===void 0?y(X):se(y(X),re)},k=function(X){var re=d(X),ve=r(Ne,this,re);return this===P&&i(Me,re)&&!i(Fe,re)?!1:ve||!i(this,re)||!i(Me,re)||i(this,O)&&this[O][re]?ve:!0},S=function(X,re){var ve=p(X),Se=d(re);if(!(ve===P&&i(Me,Se)&&!i(Fe,Se))){var Oe=L(ve,Se);return Oe&&i(Me,Se)&&!(i(ve,O)&&ve[O][Se])&&(Oe.enumerable=!0),Oe}},_=function(X){var re=be(p(X)),ve=[];return z(re,function(Se){!i(Me,Se)&&!i(K,Se)&&Ve(ve,Se)}),ve},x=function(U){var X=U===P,re=be(X?Fe:p(U)),ve=[];return z(re,function(Se){i(Me,Se)&&(!X||i(P,Se))&&Ve(ve,Me[Se])}),ve};return o||(b=function(){if(c(w,this))throw new $("Symbol is not a constructor");var X=!arguments.length||arguments[0]===void 0?void 0:f(arguments[0]),re=ue(X),ve=function(Se){var Oe=this===void 0?t:this;Oe===P&&r(ve,Fe,Se),i(Oe,O)&&i(Oe[O],re)&&(Oe[O][re]=!1);var Ie=h(1,Se);try{le(Oe,re,Ie)}catch(Ke){if(!(Ke instanceof I))throw Ke;Be(Oe,re,Ie)}};return s&&Pe&&le(P,re,{configurable:!0,set:ve}),Te(re,X)},w=b[F],J(w,"toString",function(){return g(this).tag}),J(b,"withoutSetter",function(U){return Te(ue(U),U)}),R.f=k,T.f=W,N.f=se,B.f=S,m.f=v.f=_,C.f=x,de.f=function(U){return Te(oe(U),U)},s&&(q(w,"description",{configurable:!0,get:function(){return g(this).description}}),u||J(P,"propertyIsEnumerable",k,{unsafe:!0}))),e({global:!0,constructor:!0,wrap:!0,forced:!o,sham:!o},{Symbol:b}),z(A(qe),function(U){he(U)}),e({target:E,stat:!0,forced:!o},{useSetter:function(){Pe=!0},useSimple:function(){Pe=!1}}),e({target:"Object",stat:!0,forced:!o,sham:!s},{create:ce,defineProperty:W,defineProperties:se,getOwnPropertyDescriptor:S}),e({target:"Object",stat:!0,forced:!o},{getOwnPropertyNames:_}),fe(),ge(b,E),K[O]=!0,dC}var FC={},B0,CC;function jw(){if(CC)return B0;CC=1;var e=Pa();return B0=e&&!!Symbol.for&&!!Symbol.keyFor,B0}var bC;function kle(){if(bC)return FC;bC=1;var e=xt,t=ku(),r=Mr(),n=vs(),u=Oa(),s=jw(),o=u("string-to-symbol-registry"),a=u("symbol-to-string-registry");return e({target:"Symbol",stat:!0,forced:!s},{for:function(i){var c=n(i);if(r(o,c))return o[c];var l=t("Symbol")(c);return o[c]=l,a[l]=c,l}}),FC}var SC={},wC;function Ole(){if(wC)return SC;wC=1;var e=xt,t=Mr(),r=mc,n=Dd(),u=Oa(),s=jw(),o=u("symbol-to-string-registry");return e({target:"Symbol",stat:!0,forced:!s},{keyFor:function(i){if(!r(i))throw new TypeError(n(i)+" is not a symbol");if(t(o,i))return o[i]}}),SC}var _C={},T0,BC;function Ile(){if(BC)return T0;BC=1;var e=Jt(),t=Ia(),r=vr(),n=uo(),u=vs(),s=e([].push);return T0=function(o){if(r(o))return o;if(t(o)){for(var a=o.length,i=[],c=0;c=h.length)return f.target=null,o(void 0,!0);switch(f.kind){case"keys":return o(y,!1);case"values":return o(h[y],!1)}return o([y,h[y]],!1)},"values");var d=r.Arguments=r.Array;if(t("keys"),t("values"),t("entries"),!a&&i&&d.name!=="values")try{u(d,"name",{value:"values"})}catch{}return k0}var O0,pb;function epe(){return pb||(pb=1,O0={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}),O0}var db;function Lw(){if(db)return ib;db=1,Mw();var e=epe(),t=hr(),r=Na(),n=qa();for(var u in e)r(t[u],u),n[u]=n.Array;return ib}var I0,fb;function Uw(){if(fb)return I0;fb=1;var e=Zle();return Lw(),I0=e,I0}var N0,Db;function Gw(){return Db||(Db=1,N0=Uw()),N0}var q0,hb;function tpe(){if(hb)return q0;hb=1,Mw(),Tw();var e=M3();return q0=e,q0}var x0,mb;function rpe(){if(mb)return x0;mb=1;var e=tpe();return Lw(),x0=e,x0}var R0,Eb;function npe(){if(Eb)return R0;Eb=1;var e=rpe();return R0=e,R0}var j0,yb;function upe(){if(yb)return j0;yb=1;var e=npe();return j0=e,j0}var M0,vb;function Vw(){return vb||(vb=1,M0=upe()),M0}var L0,gb;function Hw(){return gb||(gb=1,L0=Vw()),L0}var Ab={},Fb;function spe(){if(Fb)return Ab;Fb=1;var e=xt,t=Ia();return e({target:"Array",stat:!0},{isArray:t}),Ab}var U0,Cb;function ope(){if(Cb)return U0;Cb=1,spe();var e=uu;return U0=e.Array.isArray,U0}var G0,bb;function Ww(){if(bb)return G0;bb=1;var e=ope();return G0=e,G0}var V0,Sb;function Jw(){return Sb||(Sb=1,V0=Ww()),V0}var H0={exports:{}},W0={exports:{}},J0,wb;function ape(){if(wb)return J0;wb=1;var e=Ww();return J0=e,J0}var z0,_b;function ipe(){if(_b)return z0;_b=1;var e=ape();return z0=e,z0}var K0,Bb;function cpe(){return Bb||(Bb=1,K0=ipe()),K0}var Tb;function lpe(){return Tb||(Tb=1,function(e){var t=cpe();function r(n){if(t(n))return n}e.exports=r,e.exports.__esModule=!0,e.exports.default=e.exports}(W0)),W0.exports}var X0={exports:{}},$b={},Pb;function ppe(){if(Pb)return $b;Pb=1;var e=ar(),t=qn.f,r=e("metadata"),n=Function.prototype;return n[r]===void 0&&t(n,r,{value:null}),$b}var kb={},Ob;function dpe(){if(Ob)return kb;Ob=1;var e=Rt();return e("asyncDispose"),kb}var Ib={},Nb;function fpe(){if(Nb)return Ib;Nb=1;var e=Rt();return e("dispose"),Ib}var qb={},xb;function Dpe(){if(xb)return qb;xb=1;var e=Rt();return e("metadata"),qb}var Y0,Rb;function hpe(){if(Rb)return Y0;Rb=1;var e=Uw();return ppe(),dpe(),fpe(),Dpe(),Y0=e,Y0}var jb={},Z0,Mb;function zw(){if(Mb)return Z0;Mb=1;var e=ku(),t=Jt(),r=e("Symbol"),n=r.keyFor,u=t(r.prototype.valueOf);return Z0=r.isRegisteredSymbol||function(o){try{return n(u(o))!==void 0}catch{return!1}},Z0}var Lb;function mpe(){if(Lb)return jb;Lb=1;var e=xt,t=zw();return e({target:"Symbol",stat:!0},{isRegisteredSymbol:t}),jb}var Ub={},Q0,Gb;function Kw(){if(Gb)return Q0;Gb=1;for(var e=Oa(),t=ku(),r=Jt(),n=mc,u=ar(),s=t("Symbol"),o=s.isWellKnownSymbol,a=t("Object","getOwnPropertyNames"),i=r(s.prototype.valueOf),c=e("wks"),l=0,p=a(s),d=p.length;lr.length)&&(n=r.length);for(var u=0,s=Array(n);u0;)n[i]=n[--i];i!==o++&&(n[i]=a)}else for(var c=t(s/2),l=r(e(n,0,c),u),p=r(e(n,c),u),d=l.length,f=p.length,h=0,y=0;h3)){if(p)return!0;if(f)return f<603;var R="",J,q,G,ee;for(J=65;J<76;J++){switch(q=String.fromCharCode(J),J){case 66:case 69:case 70:case 72:G=3;break;case 68:case 71:G=4;break;default:G=2}for(ee=0;ee<47;ee++)h.push({k:q+ee,v:G})}for(h.sort(function(K,ue){return ue.v-K.v}),ee=0;eeo(q)?1:-1}};return e({target:"Array",proto:!0,forced:T},{sort:function(J){J!==void 0&&r(J);var q=n(this);if(B)return J===void 0?y(q):y(q,J);var G=[],ee=u(q),K,ue;for(ue=0;ue>>0||(l(c,y)?16:10))}:o,qD}var Y4;function lde(){if(Y4)return J4;Y4=1;var e=xt,t=cde();return e({global:!0,forced:parseInt!==t},{parseInt:t}),J4}var xD,Z4;function pde(){if(Z4)return xD;Z4=1,lde();var e=uu;return xD=e.parseInt,xD}var RD,Q4;function dde(){if(Q4)return RD;Q4=1;var e=pde();return RD=e,RD}var jD,eS;function fde(){return eS||(eS=1,jD=dde()),jD}var tS={},rS;function Dde(){if(rS)return tS;rS=1;var e=xt,t=C3,r=Aw().indexOf,n=gd(),u=t([].indexOf),s=!!u&&1/u([1],1,-0)<0,o=s||!n("indexOf");return e({target:"Array",proto:!0,forced:o},{indexOf:function(i){var c=arguments.length>1?arguments[1]:void 0;return s?u(this,i,c)||0:r(this,i,c)}}),tS}var MD,nS;function hde(){if(nS)return MD;nS=1,Dde();var e=ys();return MD=e("Array","indexOf"),MD}var LD,uS;function mde(){if(uS)return LD;uS=1;var e=cn(),t=hde(),r=Array.prototype;return LD=function(n){var u=n.indexOf;return n===r||e(r,n)&&u===r.indexOf?t:u},LD}var UD,sS;function Ede(){if(sS)return UD;sS=1;var e=mde();return UD=e,UD}var GD,oS;function Ad(){return oS||(oS=1,GD=Ede()),GD}var aS={},VD,iS;function yde(){if(iS)return VD;iS=1;var e=L3().forEach,t=gd(),r=t("forEach");return VD=r?[].forEach:function(u){return e(this,u,arguments.length>1?arguments[1]:void 0)},VD}var cS;function vde(){if(cS)return aS;cS=1;var e=xt,t=yde();return e({target:"Array",proto:!0,forced:[].forEach!==t},{forEach:t}),aS}var HD,lS;function gde(){if(lS)return HD;lS=1,vde();var e=ys();return HD=e("Array","forEach"),HD}var WD,pS;function Ade(){if(pS)return WD;pS=1;var e=gde();return WD=e,WD}var JD,dS;function Fde(){if(dS)return JD;dS=1;var e=gc(),t=Mr(),r=cn(),n=Ade(),u=Array.prototype,s={DOMTokenList:!0,NodeList:!0};return JD=function(o){var a=o.forEach;return o===u||r(u,o)&&a===u.forEach||t(s,e(o))?n:a},JD}var zD,fS;function Zw(){return fS||(fS=1,zD=Fde()),zD}var DS={},hS;function Cde(){if(hS)return DS;hS=1;var e=xt,t=Kr,r=yd();return e({target:"Object",stat:!0,sham:!t},{create:r}),DS}var KD,mS;function bde(){if(mS)return KD;mS=1,Cde();var e=uu,t=e.Object;return KD=function(n,u){return t.create(n,u)},KD}var XD,ES;function Sde(){if(ES)return XD;ES=1;var e=bde();return XD=e,XD}var YD,yS;function wde(){return yS||(yS=1,YD=Sde()),YD}var ZD,vS;function _de(){if(vS)return ZD;vS=1,Iw();var e=ys();return ZD=e("Array","concat"),ZD}var QD,gS;function Bde(){if(gS)return QD;gS=1;var e=cn(),t=_de(),r=Array.prototype;return QD=function(n){var u=n.concat;return n===r||e(r,n)&&u===r.concat?t:u},QD}var e2,AS;function Tde(){if(AS)return e2;AS=1;var e=Bde();return e2=e,e2}var t2,FS;function Fd(){return FS||(FS=1,t2=Tde()),t2}var CS;function $de(){return CS||(CS=1,function(e,t){var r=_p(),n=Pw(),u=Gw(),s=Hw(),o=Jw(),a=hs,i=ms;a(t,"__esModule",{value:!0}),t.default=void 0;var c=i(Xw()),l=i(Ype()),p=i(ade()),d=i(_p()),f=i(fde()),h=i(Ad()),y=i(Zw()),A=i(wde()),m=i(Fd());function v(W,se){var ce=typeof u<"u"&&s(W)||W["@@iterator"];if(!ce){if(o(W)||(ce=C(W))||se){ce&&(W=ce);var k=0,S=function(){};return{s:S,n:function(){return k>=W.length?{done:!0}:{done:!1,value:W[k++]}},e:function(re){throw re},f:S}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. + deps: ${l}}`};const u={keyword:"dependencies",type:"object",schemaType:"object",error:e.error,code(i){const[c,l]=s(i);o(i,c),a(i,l)}};function s({schema:i}){const c={},l={};for(const p in i){if(p==="__proto__")continue;const d=Array.isArray(i[p])?c:l;d[p]=i[p]}return[c,l]}function o(i,c=i.schema){const{gen:l,data:p,it:d}=i;if(Object.keys(c).length===0)return;const f=l.let("missing");for(const h in c){const y=c[h];if(y.length===0)continue;const A=(0,n.propertyInData)(l,p,h,d.opts.ownProperties);i.setParams({property:h,depsCount:y.length,deps:y.join(", ")}),d.allErrors?l.if(A,()=>{for(const m of y)(0,n.checkReportMissingProp)(i,m)}):(l.if((0,t._)`${A} && (${(0,n.checkMissingProp)(i,y,f)})`),(0,n.reportMissingProp)(i,f),l.else())}}e.validatePropertyDeps=o;function a(i,c=i.schema){const{gen:l,data:p,keyword:d,it:f}=i,h=l.name("valid");for(const y in c)(0,r.alwaysValidSchema)(f,c[y])||(l.if((0,n.propertyInData)(l,p,y,f.opts.ownProperties),()=>{const A=i.subschema({keyword:d,schemaProp:y},h);i.mergeValidEvaluated(A,h)},()=>l.var(h,!0)),i.ok(h))}e.validateSchemaDeps=a,e.default=u})(ow);var d3={};Object.defineProperty(d3,"__esModule",{value:!0});const aw=st,Hre=we,Wre={message:"property name must be valid",params:({params:e})=>(0,aw._)`{propertyName: ${e.propertyName}}`},Jre={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:Wre,code(e){const{gen:t,schema:r,data:n,it:u}=e;if((0,Hre.alwaysValidSchema)(u,r))return;const s=t.name("valid");t.forIn("key",n,o=>{e.setParams({propertyName:o}),e.subschema({keyword:"propertyNames",data:o,dataTypes:["string"],propertyName:o,compositeRule:!0},s),t.if((0,aw.not)(s),()=>{e.error(!0),u.allErrors||t.break()})}),e.ok(s)}};d3.default=Jre;var pd={};Object.defineProperty(pd,"__esModule",{value:!0});const cl=rt,An=st,zre=nu,ll=we,Kre={message:"must NOT have additional properties",params:({params:e})=>(0,An._)`{additionalProperty: ${e.additionalProperty}}`},Xre={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:Kre,code(e){const{gen:t,schema:r,parentSchema:n,data:u,errsCount:s,it:o}=e;if(!s)throw new Error("ajv implementation error");const{allErrors:a,opts:i}=o;if(o.props=!0,i.removeAdditional!=="all"&&(0,ll.alwaysValidSchema)(o,r))return;const c=(0,cl.allSchemaProperties)(n.properties),l=(0,cl.allSchemaProperties)(n.patternProperties);p(),e.ok((0,An._)`${s} === ${zre.default.errors}`);function p(){t.forIn("key",u,A=>{!c.length&&!l.length?h(A):t.if(d(A),()=>h(A))})}function d(A){let m;if(c.length>8){const v=(0,ll.schemaRefOrVal)(o,n.properties,"properties");m=(0,cl.isOwnProperty)(t,v,A)}else c.length?m=(0,An.or)(...c.map(v=>(0,An._)`${A} === ${v}`)):m=An.nil;return l.length&&(m=(0,An.or)(m,...l.map(v=>(0,An._)`${(0,cl.usePattern)(e,v)}.test(${A})`))),(0,An.not)(m)}function f(A){t.code((0,An._)`delete ${u}[${A}]`)}function h(A){if(i.removeAdditional==="all"||i.removeAdditional&&r===!1){f(A);return}if(r===!1){e.setParams({additionalProperty:A}),e.error(),a||t.break();return}if(typeof r=="object"&&!(0,ll.alwaysValidSchema)(o,r)){const m=t.name("valid");i.removeAdditional==="failing"?(y(A,m,!1),t.if((0,An.not)(m),()=>{e.reset(),f(A)})):(y(A,m),a||t.if((0,An.not)(m),()=>t.break()))}}function y(A,m,v){const C={keyword:"additionalProperties",dataProp:A,dataPropType:ll.Type.Str};v===!1&&Object.assign(C,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(C,m)}}};pd.default=Xre;var f3={};Object.defineProperty(f3,"__esModule",{value:!0});const Yre=$n,Hg=rt,qf=we,Wg=pd,Zre={keyword:"properties",type:"object",schemaType:"object",code(e){const{gen:t,schema:r,parentSchema:n,data:u,it:s}=e;s.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&Wg.default.code(new Yre.KeywordCxt(s,Wg.default,"additionalProperties"));const o=(0,Hg.allSchemaProperties)(r);for(const p of o)s.definedProperties.add(p);s.opts.unevaluated&&o.length&&s.props!==!0&&(s.props=qf.mergeEvaluated.props(t,(0,qf.toHash)(o),s.props));const a=o.filter(p=>!(0,qf.alwaysValidSchema)(s,r[p]));if(a.length===0)return;const i=t.name("valid");for(const p of a)c(p)?l(p):(t.if((0,Hg.propertyInData)(t,u,p,s.opts.ownProperties)),l(p),s.allErrors||t.else().var(i,!0),t.endIf()),e.it.definedProperties.add(p),e.ok(i);function c(p){return s.opts.useDefaults&&!s.compositeRule&&r[p].default!==void 0}function l(p){e.subschema({keyword:"properties",schemaProp:p,dataProp:p},i)}}};f3.default=Zre;var D3={};Object.defineProperty(D3,"__esModule",{value:!0});const Jg=rt,pl=st,zg=we,Kg=we,Qre={keyword:"patternProperties",type:"object",schemaType:"object",code(e){const{gen:t,schema:r,data:n,parentSchema:u,it:s}=e,{opts:o}=s,a=(0,Jg.allSchemaProperties)(r),i=a.filter(y=>(0,zg.alwaysValidSchema)(s,r[y]));if(a.length===0||i.length===a.length&&(!s.opts.unevaluated||s.props===!0))return;const c=o.strictSchema&&!o.allowMatchingProperties&&u.properties,l=t.name("valid");s.props!==!0&&!(s.props instanceof pl.Name)&&(s.props=(0,Kg.evaluatedPropsToName)(t,s.props));const{props:p}=s;d();function d(){for(const y of a)c&&f(y),s.allErrors?h(y):(t.var(l,!0),h(y),t.if(l))}function f(y){for(const A in c)new RegExp(y).test(A)&&(0,zg.checkStrictMode)(s,`property ${A} matches pattern ${y} (use allowMatchingProperties)`)}function h(y){t.forIn("key",n,A=>{t.if((0,pl._)`${(0,Jg.usePattern)(e,y)}.test(${A})`,()=>{const m=i.includes(y);m||e.subschema({keyword:"patternProperties",schemaProp:y,dataProp:A,dataPropType:Kg.Type.Str},l),s.opts.unevaluated&&p!==!0?t.assign((0,pl._)`${p}[${A}]`,!0):!m&&!s.allErrors&&t.if((0,pl.not)(l),()=>t.break())})})}}};D3.default=Qre;var h3={};Object.defineProperty(h3,"__esModule",{value:!0});const ene=we,tne={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){const{gen:t,schema:r,it:n}=e;if((0,ene.alwaysValidSchema)(n,r)){e.fail();return}const u=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},u),e.failResult(u,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};h3.default=tne;var m3={};Object.defineProperty(m3,"__esModule",{value:!0});const rne=rt,nne={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:rne.validateUnion,error:{message:"must match a schema in anyOf"}};m3.default=nne;var E3={};Object.defineProperty(E3,"__esModule",{value:!0});const Ml=st,une=we,sne={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,Ml._)`{passingSchemas: ${e.passing}}`},one={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:sne,code(e){const{gen:t,schema:r,parentSchema:n,it:u}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(u.opts.discriminator&&n.discriminator)return;const s=r,o=t.let("valid",!1),a=t.let("passing",null),i=t.name("_valid");e.setParams({passing:a}),t.block(c),e.result(o,()=>e.reset(),()=>e.error(!0));function c(){s.forEach((l,p)=>{let d;(0,une.alwaysValidSchema)(u,l)?t.var(i,!0):d=e.subschema({keyword:"oneOf",schemaProp:p,compositeRule:!0},i),p>0&&t.if((0,Ml._)`${i} && ${o}`).assign(o,!1).assign(a,(0,Ml._)`[${a}, ${p}]`).else(),t.if(i,()=>{t.assign(o,!0),t.assign(a,p),d&&e.mergeEvaluated(d,Ml.Name)})})}}};E3.default=one;var y3={};Object.defineProperty(y3,"__esModule",{value:!0});const ane=we,ine={keyword:"allOf",schemaType:"array",code(e){const{gen:t,schema:r,it:n}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");const u=t.name("valid");r.forEach((s,o)=>{if((0,ane.alwaysValidSchema)(n,s))return;const a=e.subschema({keyword:"allOf",schemaProp:o},u);e.ok(u),e.mergeEvaluated(a)})}};y3.default=ine;var v3={};Object.defineProperty(v3,"__esModule",{value:!0});const wp=st,iw=we,cne={message:({params:e})=>(0,wp.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,wp._)`{failingKeyword: ${e.ifClause}}`},lne={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:cne,code(e){const{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0,iw.checkStrictMode)(n,'"if" without "then" and "else" is ignored');const u=Xg(n,"then"),s=Xg(n,"else");if(!u&&!s)return;const o=t.let("valid",!0),a=t.name("_valid");if(i(),e.reset(),u&&s){const l=t.let("ifClause");e.setParams({ifClause:l}),t.if(a,c("then",l),c("else",l))}else u?t.if(a,c("then")):t.if((0,wp.not)(a),c("else"));e.pass(o,()=>e.error(!0));function i(){const l=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);e.mergeEvaluated(l)}function c(l,p){return()=>{const d=e.subschema({keyword:l},a);t.assign(o,a),e.mergeValidEvaluated(d,o),p?t.assign(p,(0,wp._)`${l}`):e.setParams({ifClause:l})}}}};function Xg(e,t){const r=e.schema[t];return r!==void 0&&!(0,iw.alwaysValidSchema)(e,r)}v3.default=lne;var g3={};Object.defineProperty(g3,"__esModule",{value:!0});const pne=we,dne={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0,pne.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};g3.default=dne;Object.defineProperty(i3,"__esModule",{value:!0});const fne=Ta,Dne=c3,hne=$a,mne=l3,Ene=p3,yne=ow,vne=d3,gne=pd,Ane=f3,Fne=D3,Cne=h3,bne=m3,Sne=E3,wne=y3,_ne=v3,Bne=g3;function Tne(e=!1){const t=[Cne.default,bne.default,Sne.default,wne.default,_ne.default,Bne.default,vne.default,gne.default,yne.default,Ane.default,Fne.default];return e?t.push(Dne.default,mne.default):t.push(fne.default,hne.default),t.push(Ene.default),t}i3.default=Tne;var A3={},F3={};Object.defineProperty(F3,"__esModule",{value:!0});const Ht=st,$ne={message:({schemaCode:e})=>(0,Ht.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,Ht._)`{format: ${e}}`},Pne={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:$ne,code(e,t){const{gen:r,data:n,$data:u,schema:s,schemaCode:o,it:a}=e,{opts:i,errSchemaPath:c,schemaEnv:l,self:p}=a;if(!i.validateFormats)return;u?d():f();function d(){const h=r.scopeValue("formats",{ref:p.formats,code:i.code.formats}),y=r.const("fDef",(0,Ht._)`${h}[${o}]`),A=r.let("fType"),m=r.let("format");r.if((0,Ht._)`typeof ${y} == "object" && !(${y} instanceof RegExp)`,()=>r.assign(A,(0,Ht._)`${y}.type || "string"`).assign(m,(0,Ht._)`${y}.validate`),()=>r.assign(A,(0,Ht._)`"string"`).assign(m,y)),e.fail$data((0,Ht.or)(v(),C()));function v(){return i.strictSchema===!1?Ht.nil:(0,Ht._)`${o} && !${m}`}function C(){const B=l.$async?(0,Ht._)`(${y}.async ? await ${m}(${n}) : ${m}(${n}))`:(0,Ht._)`${m}(${n})`,T=(0,Ht._)`(typeof ${m} == "function" ? ${B} : ${m}.test(${n}))`;return(0,Ht._)`${m} && ${m} !== true && ${A} === ${t} && !${T}`}}function f(){const h=p.formats[s];if(!h){v();return}if(h===!0)return;const[y,A,m]=C(h);y===t&&e.pass(B());function v(){if(i.strictSchema===!1){p.logger.warn(T());return}throw new Error(T());function T(){return`unknown format "${s}" ignored in schema at path "${c}"`}}function C(T){const N=T instanceof RegExp?(0,Ht.regexpCode)(T):i.code.formats?(0,Ht._)`${i.code.formats}${(0,Ht.getProperty)(s)}`:void 0,R=r.scopeValue("formats",{key:s,ref:T,code:N});return typeof T=="object"&&!(T instanceof RegExp)?[T.type||"string",T.validate,(0,Ht._)`${R}.validate`]:["string",T,R]}function B(){if(typeof h=="object"&&!(h instanceof RegExp)&&h.async){if(!l.$async)throw new Error("async format in sync schema");return(0,Ht._)`await ${m}(${n})`}return typeof A=="function"?(0,Ht._)`${m}(${n})`:(0,Ht._)`${m}.test(${n})`}}}};F3.default=Pne;Object.defineProperty(A3,"__esModule",{value:!0});const kne=F3,One=[kne.default];A3.default=One;var va={};Object.defineProperty(va,"__esModule",{value:!0});va.contentVocabulary=va.metadataVocabulary=void 0;va.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];va.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"];Object.defineProperty(JE,"__esModule",{value:!0});const Ine=zE,Nne=XE,qne=i3,xne=A3,Yg=va,Rne=[Ine.default,Nne.default,(0,qne.default)(),xne.default,Yg.metadataVocabulary,Yg.contentVocabulary];JE.default=Rne;var C3={},dd={};Object.defineProperty(dd,"__esModule",{value:!0});dd.DiscrError=void 0;var Zg;(function(e){e.Tag="tag",e.Mapping="mapping"})(Zg||(dd.DiscrError=Zg={}));Object.defineProperty(C3,"__esModule",{value:!0});const Wo=st,Ih=dd,Qg=qr,jne=Ba,Mne=we,Lne={message:({params:{discrError:e,tagName:t}})=>e===Ih.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0,Wo._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},Une={keyword:"discriminator",type:"object",schemaType:"object",error:Lne,code(e){const{gen:t,data:r,schema:n,parentSchema:u,it:s}=e,{oneOf:o}=u;if(!s.opts.discriminator)throw new Error("discriminator: requires discriminator option");const a=n.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!o)throw new Error("discriminator: requires oneOf keyword");const i=t.let("valid",!1),c=t.const("tag",(0,Wo._)`${r}${(0,Wo.getProperty)(a)}`);t.if((0,Wo._)`typeof ${c} == "string"`,()=>l(),()=>e.error(!1,{discrError:Ih.DiscrError.Tag,tag:c,tagName:a})),e.ok(i);function l(){const f=d();t.if(!1);for(const h in f)t.elseIf((0,Wo._)`${c} === ${h}`),t.assign(i,p(f[h]));t.else(),e.error(!1,{discrError:Ih.DiscrError.Mapping,tag:c,tagName:a}),t.endIf()}function p(f){const h=t.name("valid"),y=e.subschema({keyword:"oneOf",schemaProp:f},h);return e.mergeEvaluated(y,Wo.Name),h}function d(){var f;const h={},y=m(u);let A=!0;for(let B=0;Bthis.addVocabulary(h)),this.opts.discriminator&&this.addKeyword(u.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;const h=this.opts.$data?this.$dataMetaSchema(s,o):s;this.addMetaSchema(h,a,!1),this.refs["http://json-schema.org/schema"]=a}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(a)?a:void 0)}}t.Ajv=i,e.exports=t=i,e.exports.Ajv=i,Object.defineProperty(t,"__esModule",{value:!0}),t.default=i;var c=$n;Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return c.KeywordCxt}});var l=st;Object.defineProperty(t,"_",{enumerable:!0,get:function(){return l._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return l.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return l.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return l.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return l.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return l.CodeGen}});var p=lc;Object.defineProperty(t,"ValidationError",{enumerable:!0,get:function(){return p.default}});var d=Ba;Object.defineProperty(t,"MissingRefError",{enumerable:!0,get:function(){return d.default}})})(wh,wh.exports);var Xne=wh.exports;const Yne="Root",Zne="object",Qne="Root Element",eue={base64String:{type:"string",pattern:"^[A-Za-z0-9/+=]*$"},tagString:{type:"string",pattern:"^[a-z][a-z0-9]*(:.+)?$"}},tue={id:{type:"string"},metadata:{type:"object",properties:{selectors:{type:"object",additionalProperties:{type:"string"}}},required:["selectors"],additionalProperties:!1},tags:{type:"array",items:{type:"string",$ref:"#/definitions/tagString"}},enums:{type:"object",properties:{ids:{$ref:"#/definitions/base64String"},wordLike:{$ref:"#/definitions/base64String"},notWordLike:{$ref:"#/definitions/base64String"},scopeBits:{$ref:"#/definitions/base64String"},graftTypes:{$ref:"#/definitions/base64String"}},required:["ids","wordLike","notWordLike","scopeBits","graftTypes"],additionalProperties:!1},docs:{type:"object",propertyNames:{type:"string"},additionalProperties:{type:"object",properties:{sequences:{type:"object",additionalProperties:{type:"object",properties:{type:{type:"string"},blocks:{type:"array",items:{type:"object",properties:{bs:{type:"string"},bg:{type:"string"},c:{type:"string"},is:{type:"string"},os:{type:"string"},nt:{type:"string"}},required:["bs","bg","c","is","os","nt"],additionalProperties:!1}},tags:{type:"array",items:{type:"string",$ref:"#/definitions/tagString"}},chapters:{type:"object",additionalProperties:{type:"string"}},chapterVerses:{type:"object",additionalProperties:{type:"string"}},tokensPresent:{type:"string"}},required:["blocks","tags"],additionalProperties:!1}},headers:{type:"object",additionalProperties:{type:"string"}},mainId:{type:"string"},tags:{type:"array",items:{type:"string",$ref:"#/definitions/tagString"}}},required:["sequences","headers","mainId","tags"],additionalProperties:!1}},additionalProperties:!1},rue=["id","enums","docs","tags"],nue=!1,uue={title:Yne,type:Zne,description:Qne,definitions:eue,properties:tue,required:rue,additionalProperties:nue},sue="version 0.1.0",oue="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_2_1/document_structure.json",aue="Document (Structure)",iue="A document, typically corresponding to a single USFM or USX book",cue="object",lue={schema:{type:"object",properties:{structure:{description:"The basic 'shape' of the content",type:"string",enum:["flat","nested"]},structure_version:{description:"the semantic version of the structure schema",type:"string"},constraints:{type:"array",items:{type:"object",properties:{name:{type:"string",enum:["perf","sofria"]},version:{description:"the semantic version of the constraint schema",type:"string"}},additionalProperties:!1,required:["name","version"]}}},required:["structure","structure_version","constraints"],additionalProperties:!1},metadata:{description:"Metadata describing the document and the translation it belongs to",type:"object",properties:{translation:{type:"object",description:"Metadata concerning the translation to which the document belongs",properties:{tags:{description:"Tags attached to the translation",type:"array",items:{type:"string"}},properties:{type:"object",description:"Key/value properties attached to the translation",additionalProperties:{type:"string"}},selectors:{type:"object",description:"Proskomma selectors for the translation that, together, provide a primary key in the translation store",additionalProperties:{type:"string"}}},additionalProperties:{type:"string"},required:["id"]},document:{type:"object",description:"Metadata concerning the document itself",properties:{tags:{type:"array",description:"Tags attached to the document",items:{type:"string"}},properties:{type:"object",description:"Key/value properties attached to the document",additionalProperties:{type:"string"}},chapters:{type:"string",pattern:"^[1-9][0-9]*(-[1-9][0-9]*)?$"}},additionalProperties:{type:"string"}}},additionalProperties:!1},sequences:{type:"object",propertyNames:{pattern:"^\\S+$"},additionalProperties:{$ref:"./sequence_structure.json"}},sequence:{$ref:"./sequence_structure.json"},main_sequence_id:{type:"string"}},pue=["schema","metadata"],due=!1,fue={required:["sequences","main_sequence_id"],not:{required:["sequence"]}},Due={$comment:sue,$id:oue,title:aue,description:iue,type:cue,properties:lue,required:pue,additionalProperties:due,if:{properties:{schema:{type:"object",properties:{structure:{enum:["flat"]}}}}},then:fue,else:{required:["sequence"],allOf:[{not:{required:["sequences"]}},{not:{required:["main_sequence_id"]}}]}},hue="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_2_1/sequence_structure.json",mue="Sequence (Structure)",Eue="A sequence contains a 'flow' of one or more blocks",yue="object",vue={type:{description:"The type of sequence",type:"string"},preview_text:{description:"An optional field to provide some kind of printable label",type:"string"},blocks:{type:"array",description:"The blocks that, together, represent the 'flow' of the sequence",items:{$ref:"./block_structure.json"}}},gue=["type"],Aue=!1,Fue={$id:hue,title:mue,description:Eue,type:yue,properties:vue,required:gue,additionalProperties:Aue},Cue="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_2_1/block_structure.json",bue="Block (Structure)",Sue="A block, which represents either a paragraph of text or a graft",wue="object",_ue={type:{type:"string",description:"The type of block",enum:["paragraph","graft"]},subtype:{description:"A type-specific subtype",type:"string"},target:{description:"The id of the sequence containing graft content",type:"string"},sequence:{description:"The sequence containing graft content",$ref:"./sequence_structure.json"},preview_text:{description:"An optional field to provide some kind of printable label for a graft",type:"string"},new:{description:"If present and true, is interpreted as a request for the server to create a new graft",type:"boolean"},atts:{type:"object",description:"An object containing USFM attributes or subtype-specific additional information (such as the number of a verse or chapter). The value may be a boolean, a string or an array of strings",additionalProperties:{oneOf:[{type:"array",items:{type:"string"}},{type:"string"},{type:"boolean"}]}},content:{type:"array",description:"The content of the block",items:{oneOf:[{type:"string"},{$ref:"./contentElement_structure.json"}]}}},Bue=["type"],Tue=!1,$ue={required:["content"],allOf:[{not:{required:["new"]}},{not:{required:["preview_text"]}},{not:{required:["target"]}}]},Pue={$id:Cue,title:bue,description:Sue,type:wue,properties:_ue,required:Bue,additionalProperties:Tue,if:{properties:{type:{enum:["paragraph"]}}},then:$ue,else:{if:{required:["new"],properties:{new:{enum:[!0]}}},then:{allOf:[{oneOf:[{required:["subtype"]},{required:["sequence"]}]},{not:{required:["target"]}},{not:{required:["preview_text"]}},{not:{required:["content"]}}]},else:{oneOf:[{required:["target"]},{required:["sequence"]}]}}},kue="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_2_1/contentElement_structure.json",Oue="Content Element (Structure)",Iue="A content element, ie some form of (possibly nested) markup",Nue="object",que={type:{type:"string",description:"The type of element",enum:["mark","wrapper","start_milestone","end_milestone","graft"]},subtype:{description:"The subtype of the element, which is context-dependent",type:"string"},atts:{type:"object",description:"An object containing USFM attributes or subtype-specific additional information (such as the number of a verse or chapter). The value may be a boolean, a string or an array of strings",additionalProperties:{oneOf:[{type:"array",items:{type:"string"}},{type:"string"},{type:"boolean"}]}},target:{type:"string",description:"The id of the sequence containing graft content"},sequence:{description:"The sequence containing graft content",$ref:"./sequence_structure.json"},preview_text:{description:"An optional field to provide some kind of printable label for a graft",type:"string"},new:{type:"boolean",description:"If present and true, is interpreted as a request for the server to create a new graft"},content:{type:"array",description:"Nested content within the content element",items:{oneOf:[{type:"string"},{$ref:"./contentElement_structure.json"}]}},meta_content:{type:"array",description:"Non-Scripture content related to the content element, such as checking data or related resources",items:{oneOf:[{type:"string"},{$ref:"./contentElement_structure.json"}]}}},xue=["type"],Rue=!1,jue={$id:kue,title:Oue,description:Iue,type:Nue,properties:que,required:xue,additionalProperties:Rue},Mue="version 0.2.0",Lue="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/perf_document_constraint.json",Uue="object",Gue={sequences:{type:"object",propertyNames:{pattern:"^\\S+$"},additionalProperties:{$ref:"./perf_sequence_constraint.json"}}},Vue={$comment:Mue,$id:Lue,type:Uue,properties:Gue},Hue="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/perf_sequence_constraint.json",Wue="object",Jue={type:{type:"string",enum:["main","introduction","intro_title","intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv","footnote","note_caller","xref","pub_number","alt_number","esb_cat","fig","temp"]},blocks:{type:"array",items:{$ref:"./perf_block_constraint.json"}}},zue={$id:Hue,type:Wue,properties:Jue},Kue="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/perf_block_constraint.json",Xue="object",Yue={type:{type:"string",enum:["paragraph","graft"]},content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./perf_contentElement_constraint.json"}]}},meta_content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./perf_contentElement_constraint.json"}]}}},Zue={properties:{subtype:{enum:["introduction","intro_title","Intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv"]}}},Que={$id:Kue,type:Xue,properties:Yue,if:{properties:{type:{enum:["graft"]}}},then:Zue,else:{properties:{subtype:{type:"string",pattern:"^usfm:"}}}},ese="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/perf_contentElement_constraint.json",tse="object",rse=[{properties:{content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./perf_contentElement_constraint.json"}]}},meta_content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./perf_contentElement_constraint.json"}]}}}},{if:{properties:{type:{enum:["graft"]}}},then:{properties:{subtype:{enum:["footnote","xref","note_caller"]}},allOf:[{not:{required:["content"]}},{not:{required:["meta_content"]}}],if:{required:["new"],properties:{new:{enum:[!0]}}},then:{not:{anyOf:[{required:["target"]},{required:["preview_text"]}]}},else:{required:["target"]}}},{if:{properties:{type:{enum:["mark"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["chapter","verses"]},{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},if:{properties:{subtype:{enum:["chapter","verses"]}}},then:{type:"object",required:["atts"],properties:{atts:{type:"object",required:["number"],maxProperties:1}}}}},{if:{properties:{type:{enum:["wrapper"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["meta_content"]},{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},if:{properties:{subtype:{enum:["meta_content"]}}},then:{not:{required:["atts"]}}}},{if:{properties:{type:{enum:["start_milestone"]}}},then:{properties:{subtype:{type:"string",oneOf:[{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}}}},{if:{properties:{type:{enum:["end_milestone"]}}},then:{properties:{subtype:{type:"string",oneOf:[{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},not:{required:["atts"]}}}],nse={$id:ese,type:tse,allOf:rse},use="version 0.2.0",sse="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/sofria_document_constraint.json",ose="object",ase={sequences:{type:"object",propertyNames:{pattern:"^\\S+$"},additionalProperties:{$ref:"./sofria_sequence_constraint.json"}}},ise={$comment:use,$id:sse,type:ose,properties:ase},cse="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/sofria_sequence_constraint.json",lse="object",pse={type:{type:"string",enum:["main","introduction","intro_title","intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv","footnote","note_caller","xref","pub_number","alt_number","esb_cat","fig","temp"]},blocks:{type:"array",items:{$ref:"./sofria_block_constraint.json"}}},dse={$id:cse,type:lse,properties:pse},fse="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/sofria_block_constraint.json",Dse="object",hse={type:{type:"string",enum:["paragraph","graft"]},content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./sofria_contentElement_constraint.json"}]}},meta_content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./sofria_contentElement_constraint.json"}]}}},mse={properties:{subtype:{enum:["introduction","intro_title","Intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv"]}}},Ese={$id:fse,type:Dse,properties:hse,if:{properties:{type:{enum:["graft"]}}},then:mse,else:{properties:{subtype:{type:"string",pattern:"^usfm:"}}}},yse="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_2_1/sofria_contentElement_constraint.json",vse="object",gse=[{properties:{content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./sofria_contentElement_constraint.json"}]}},meta_content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./sofria_contentElement_constraint.json"}]}}}},{if:{properties:{type:{enum:["graft"]}}},then:{properties:{subtype:{enum:["footnote","xref","note_caller"]}},allOf:[{not:{required:["content"]}},{not:{required:["meta_content"]}}],if:{required:["new"],properties:{new:{enum:[!0]}}},then:{not:{anyOf:[{required:["block"]},{required:["preview_text"]}]}},else:{required:["block"]}}},{if:{properties:{type:{enum:["mark"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["chapter_label","verses_label"]},{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},if:{properties:{subtype:{enum:["chapter","verses"]}}},then:{type:"object",required:["atts"],properties:{atts:{type:"object",required:["number"],maxProperties:1}}}}},{if:{properties:{type:{enum:["wrapper"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["meta_content","chapter","verses"]},{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},if:{properties:{subtype:{enum:["meta_content"]}}},then:{not:{required:["atts"]}}}},{if:{properties:{type:{enum:["start_milestone"]}}},then:{properties:{subtype:{type:"string",oneOf:[{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}}}},{if:{properties:{type:{enum:["end_milestone"]}}},then:{properties:{subtype:{type:"string",oneOf:[{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},not:{required:["atts"]}}}],Ase={$id:yse,type:vse,allOf:gse},Fse="version 0.1.0",Cse="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_3_0/document_structure.json",bse="Document (Structure)",Sse="A document, typically corresponding to a single USFM or USX book",wse="object",_se={schema:{type:"object",properties:{structure:{description:"The basic 'shape' of the content",type:"string",enum:["flat","nested"]},structure_version:{description:"the semantic version of the structure schema",type:"string"},constraints:{type:"array",items:{type:"object",properties:{name:{type:"string",enum:["perf","sofria"]},version:{description:"the semantic version of the constraint schema",type:"string"}},additionalProperties:!1,required:["name","version"]}}},required:["structure","structure_version","constraints"],additionalProperties:!1},metadata:{description:"Metadata describing the document and the translation it belongs to",type:"object",properties:{translation:{type:"object",description:"Metadata concerning the translation to which the document belongs",properties:{tags:{description:"Tags attached to the translation",type:"array",items:{type:"string"}},properties:{type:"object",description:"Key/value properties attached to the translation",additionalProperties:{type:"string"}},selectors:{type:"object",description:"Proskomma selectors for the translation that, together, provide a primary key in the translation store",additionalProperties:{type:"string"}}},additionalProperties:{type:"string"},required:["id"]},document:{type:"object",description:"Metadata concerning the document itself",properties:{tags:{type:"array",description:"Tags attached to the document",items:{type:"string"}},properties:{type:"object",description:"Key/value properties attached to the document",additionalProperties:{type:"string"}},chapters:{type:"string",pattern:"^[1-9][0-9]*(-[1-9][0-9]*)?$"}},additionalProperties:{type:"string"}}},additionalProperties:!1},hooks:{type:"array",$ref:"./hook_structure.json"},sequences:{type:"object",propertyNames:{pattern:"^\\S+$"},additionalProperties:{$ref:"./sequence_structure.json"}},sequence:{$ref:"./sequence_structure.json"},main_sequence_id:{type:"string"}},Bse=["schema","metadata"],Tse=!1,$se={required:["sequences","main_sequence_id"],not:{required:["sequence"]}},Pse={$comment:Fse,$id:Cse,title:bse,description:Sse,type:wse,properties:_se,required:Bse,additionalProperties:Tse,if:{properties:{schema:{type:"object",properties:{structure:{enum:["flat"]}}}}},then:$se,else:{required:["sequence"],allOf:[{not:{required:["sequences"]}},{not:{required:["main_sequence_id"]}}]}},kse="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_3_0/sequence_structure.json",Ose="Sequence (Structure)",Ise="A sequence contains a 'flow' of one or more blocks",Nse="object",qse={type:{description:"The type of sequence",type:"string"},preview_text:{description:"An optional field to provide some kind of printable label",type:"string"},blocks:{type:"array",description:"The blocks that, together, represent the 'flow' of the sequence",items:{$ref:"./block_structure.json"}},hooks:{type:"array",$ref:"./hook_structure.json"}},xse=["type"],Rse=!1,jse={$id:kse,title:Ose,description:Ise,type:Nse,properties:qse,required:xse,additionalProperties:Rse},Mse="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_3_0/block_structure.json",Lse="Block (Structure)",Use="A block, which represents either a paragraph of text or a graft",Gse="object",Vse={type:{type:"string",description:"The type of block",enum:["paragraph","row","node","lookup","graft"]},subtype:{description:"A type-specific subtype",type:"string"},target:{description:"The id of the sequence containing graft content",type:"string"},sequence:{description:"The sequence containing graft content",$ref:"./sequence_structure.json"},preview_text:{description:"An optional field to provide some kind of printable label for a graft",type:"string"},new:{description:"If present and true, is interpreted as a request for the server to create a new graft",type:"boolean"},atts:{type:"object",description:"An object containing USFM attributes or subtype-specific additional information (such as the number of a verse or chapter). The value may be a boolean, a string or an array of strings",additionalProperties:{oneOf:[{type:"array",items:{type:"string"}},{type:"string"},{type:"boolean"}]}},content:{type:"array",description:"The content of the block",items:{oneOf:[{type:"string"},{$ref:"./contentElement_structure.json"}]}},hooks:{type:"array",$ref:"./hook_structure.json"}},Hse=["type"],Wse=!1,Jse={required:["content"],allOf:[{not:{required:["new"]}},{not:{required:["preview_text"]}},{not:{required:["target"]}}]},zse={$id:Mse,title:Lse,description:Use,type:Gse,properties:Vse,required:Hse,additionalProperties:Wse,if:{properties:{type:{enum:["paragraph","row","node","lookup"]}}},then:Jse,else:{if:{required:["new"],properties:{new:{enum:[!0]}}},then:{allOf:[{oneOf:[{required:["subtype"]},{required:["sequence"]}]},{not:{required:["target"]}},{not:{required:["preview_text"]}},{not:{required:["content"]}}]},else:{oneOf:[{required:["target"]},{required:["sequence"]}]}}},Kse="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_3_0/contentElement_structure.json",Xse="Content Element (Structure)",Yse="A content element, ie some form of (possibly nested) markup",Zse="object",Qse={type:{type:"string",description:"The type of element",enum:["mark","wrapper","start_milestone","end_milestone","graft"]},subtype:{description:"The subtype of the element, which is context-dependent",type:"string"},atts:{type:"object",description:"An object containing USFM attributes or subtype-specific additional information (such as the number of a verse or chapter). The value may be a boolean, a string or an array of strings",additionalProperties:{oneOf:[{type:"array",items:{type:"string"}},{type:"string"},{type:"boolean"}]}},target:{type:"string",description:"The id of the sequence containing graft content"},sequence:{description:"The sequence containing graft content",$ref:"./sequence_structure.json"},preview_text:{description:"An optional field to provide some kind of printable label for a graft",type:"string"},new:{type:"boolean",description:"If present and true, is interpreted as a request for the server to create a new graft"},content:{type:"array",description:"Nested content within the content element",items:{oneOf:[{type:"string"},{$ref:"./contentElement_structure.json"}]}},meta_content:{type:"array",description:"Non-Scripture content related to the content element, such as checking data or related resources",items:{oneOf:[{type:"string"},{$ref:"./contentElement_structure.json"}]}},hooks:{type:"array",$ref:"./hook_structure.json"}},eoe=["type"],toe=!1,roe={$id:Kse,title:Xse,description:Yse,type:Zse,properties:Qse,required:eoe,additionalProperties:toe},noe="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_3_0/hook_structure.json",uoe="Hook (Structure)",soe="Hooks, ie typed labels that may be used to link documents",ooe="array",aoe={type:"array",items:[{type:"string",oneOf:[{enum:["bcv_ref","book_ref"]},{pattern:"^x-(app|publisher)-[a-z][a-z0-9]+-\\S{2,256}$"},{pattern:"^x-local-\\S{2,256}$"}]},{type:"string",oneOf:[{enum:["label"]},{pattern:"^\\w{1,255}$"}]}],minItems:2,maxItems:2},ioe={$id:noe,title:uoe,description:soe,type:ooe,items:aoe},coe="version 0.3.0",loe="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/perf_document_constraint.json",poe="object",doe={hooks:{type:"array"},sequences:{type:"object",propertyNames:{pattern:"^\\S+$"},additionalProperties:{$ref:"./perf_sequence_constraint.json"}}},foe={$comment:coe,$id:loe,type:poe,properties:doe},Doe="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/perf_sequence_constraint.json",hoe="object",moe={type:{type:"string",enum:["main","introduction","intro_title","intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv","footnote","note_caller","xref","pub_number","alt_number","esb_cat","fig","temp"]},blocks:{type:"array",items:{$ref:"./perf_block_constraint.json"}}},Eoe={$id:Doe,type:hoe,properties:moe},yoe="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/perf_block_constraint.json",voe="object",goe={type:{type:"string",enum:["paragraph","graft","row","node","lookup"]},content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./perf_contentElement_constraint.json"}]}},meta_content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./perf_contentElement_constraint.json"}]}}},Aoe={properties:{subtype:{enum:["introduction","intro_title","Intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv"]}}},Foe={$id:yoe,type:voe,properties:goe,if:{properties:{type:{enum:["graft"]}}},then:Aoe,else:{if:{properties:{type:{enum:["row"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["row:heading","row:body"]}]}}},else:{if:{properties:{type:{enum:["node"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["node"]},{pattern:"^x-\\S{1,256}$"}]},atts:{type:"object",properties:{id:{type:"string"},parent:{type:"string"},children:{type:"array",items:{type:"string"}}},required:["id"],additionalProperties:!1}}},else:{if:{properties:{type:{enum:["lookup"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["lookup"]},{pattern:"^x-\\S{1,256}$"}]},atts:{type:"object",properties:{primary:{type:"string"},secondary:{type:"array",items:{type:"string"}}},required:["primary"],additionalProperties:!1}}},else:{properties:{subtype:{type:"string",oneOf:[{pattern:"^usfm:"},{pattern:"^x-\\S{1,256}$"}]}}}}}}},Coe="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/perf_contentElement_constraint.json",boe="object",Soe=[{properties:{content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./perf_contentElement_constraint.json"}]}},meta_content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./perf_contentElement_constraint.json"}]}}}},{if:{properties:{type:{enum:["graft"]}}},then:{properties:{subtype:{enum:["footnote","xref","note_caller"]}},allOf:[{not:{required:["content"]}},{not:{required:["meta_content"]}}],if:{required:["new"],properties:{new:{enum:[!0]}}},then:{not:{anyOf:[{required:["target"]},{required:["preview_text"]}]}},else:{required:["target"]}}},{if:{properties:{type:{enum:["mark"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["chapter","verses","alt_chapter","alt_verse","pub_chapter","pub_verse"]},{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},if:{properties:{subtype:{enum:["chapter","verses"]}}},then:{type:"object",required:["atts"],properties:{atts:{type:"object",required:["number"],maxProperties:1}}}}},{if:{properties:{type:{enum:["wrapper"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["meta_content"]},{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},if:{properties:{subtype:{enum:["meta_content"]}}},then:{not:{required:["atts"]}}}},{if:{properties:{type:{enum:["start_milestone"]}}},then:{properties:{subtype:{type:"string",oneOf:[{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}}}},{if:{properties:{type:{enum:["end_milestone"]}}},then:{properties:{subtype:{type:"string",oneOf:[{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},not:{required:["atts"]}}}],woe={$id:Coe,type:boe,allOf:Soe},_oe="version 0.3.0",Boe="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/sofria_document_constraint.json",Toe="object",$oe={sequence:{$ref:"./sofria_sequence_constraint.json"}},Poe={$comment:_oe,$id:Boe,type:Toe,properties:$oe},koe="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/sofria_sequence_constraint.json",Ooe="object",Ioe={type:{type:"string",enum:["main","introduction","intro_title","intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv","footnote","note_caller","xref","pub_number","alt_number","esb_cat","fig","temp"]},blocks:{type:"array",items:{$ref:"./sofria_block_constraint.json"}}},Noe={$id:koe,type:Ooe,properties:Ioe},qoe="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/sofria_block_constraint.json",xoe="object",Roe={type:{type:"string",enum:["paragraph","graft"]},content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./sofria_contentElement_constraint.json"}]}},meta_content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./sofria_contentElement_constraint.json"}]}}},joe={properties:{subtype:{enum:["introduction","intro_title","Intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv"]}}},Moe={$id:qoe,type:xoe,properties:Roe,if:{properties:{type:{enum:["graft"]}}},then:joe,else:{properties:{subtype:{type:"string",pattern:"^usfm:"}}}},Loe="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_3_0/sofria_contentElement_constraint.json",Uoe="object",Goe=[{properties:{content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./sofria_contentElement_constraint.json"}]}},meta_content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./sofria_contentElement_constraint.json"}]}}}},{if:{properties:{type:{enum:["graft"]}}},then:{properties:{subtype:{enum:["footnote","xref","note_caller"]}},allOf:[{not:{required:["content"]}},{not:{required:["meta_content"]}}],if:{required:["new"],properties:{new:{enum:[!0]}}},then:{not:{anyOf:[{required:["blocks"]},{required:["preview_text"]}]}},else:{required:["sequence"]}}},{if:{properties:{type:{enum:["mark"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["chapter_label","verses_label","alt_chapter","alt_verse","pub_chapter","pub_verse"]},{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},if:{properties:{subtype:{enum:["chapter","verses"]}}},then:{type:"object",required:["atts"],properties:{atts:{type:"object",required:["number"],maxProperties:1}}}}},{if:{properties:{type:{enum:["wrapper"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["meta_content","chapter","verses"]},{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},if:{properties:{subtype:{enum:["meta_content"]}}},then:{not:{required:["atts"]}}}},{if:{properties:{type:{enum:["start_milestone"]}}},then:{properties:{subtype:{type:"string",oneOf:[{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}}}},{if:{properties:{type:{enum:["end_milestone"]}}},then:{properties:{subtype:{type:"string",oneOf:[{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},not:{required:["atts"]}}}],Voe={$id:Loe,type:Uoe,allOf:Goe},Hoe="version 0.1.0",Woe="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_4_0/document_structure.json",Joe="Document (Structure)",zoe="A document, typically corresponding to a single USFM or USX book",Koe="object",Xoe={schema:{type:"object",properties:{structure:{description:"The basic 'shape' of the content",type:"string",enum:["flat","nested"]},structure_version:{description:"the semantic version of the structure schema",type:"string"},constraints:{type:"array",items:{type:"object",properties:{name:{type:"string",enum:["perf","sofria"]},version:{description:"the semantic version of the constraint schema",type:"string"}},additionalProperties:!1,required:["name","version"]}}},required:["structure","structure_version","constraints"],additionalProperties:!1},metadata:{description:"Metadata describing the document and the translation it belongs to",type:"object",properties:{translation:{type:"object",description:"Metadata concerning the translation to which the document belongs",properties:{tags:{description:"Tags attached to the translation",type:"array",items:{type:"string"}},properties:{type:"object",description:"Key/value properties attached to the translation",additionalProperties:{type:"string"}},selectors:{type:"object",description:"Proskomma selectors for the translation that, together, provide a primary key in the translation store",additionalProperties:{type:"string"}}},additionalProperties:{type:"string"},required:["id"]},document:{type:"object",description:"Metadata concerning the document itself",properties:{tags:{type:"array",description:"Tags attached to the document",items:{type:"string"}},properties:{type:"object",description:"Key/value properties attached to the document",additionalProperties:{type:"string"}},chapters:{type:"string",pattern:"^[1-9][0-9]*(-[1-9][0-9]*)?$"}},additionalProperties:{type:"string"}}},additionalProperties:!1},hooks:{type:"array",$ref:"./hook_structure.json"},sequences:{type:"object",propertyNames:{pattern:"^\\S+$"},additionalProperties:{$ref:"./sequence_structure.json"}},sequence:{$ref:"./sequence_structure.json"},main_sequence_id:{type:"string"}},Yoe=["schema","metadata"],Zoe=!1,Qoe={required:["sequences","main_sequence_id"],not:{required:["sequence"]}},eae={$comment:Hoe,$id:Woe,title:Joe,description:zoe,type:Koe,properties:Xoe,required:Yoe,additionalProperties:Zoe,if:{properties:{schema:{type:"object",properties:{structure:{enum:["flat"]}}}}},then:Qoe,else:{required:["sequence"],allOf:[{not:{required:["sequences"]}},{not:{required:["main_sequence_id"]}}]}},tae="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_4_0/sequence_structure.json",rae="Sequence (Structure)",nae="A sequence contains a 'flow' of one or more blocks",uae="object",sae={type:{description:"The type of sequence",type:"string"},preview_text:{description:"An optional field to provide some kind of printable label",type:"string"},blocks:{type:"array",description:"The blocks that, together, represent the 'flow' of the sequence",items:{$ref:"./block_structure.json"}},hooks:{type:"array",$ref:"./hook_structure.json"}},oae=["type"],aae=!1,iae={$id:tae,title:rae,description:nae,type:uae,properties:sae,required:oae,additionalProperties:aae},cae="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_4_0/block_structure.json",lae="Block (Structure)",pae="A block, which represents either a paragraph of text or a graft",dae="object",fae={type:{type:"string",description:"The type of block",enum:["paragraph","row","graft"]},subtype:{description:"A type-specific subtype",type:"string"},target:{description:"The id of the sequence containing graft content",type:"string"},sequence:{description:"The sequence containing graft content",$ref:"./sequence_structure.json"},preview_text:{description:"An optional field to provide some kind of printable label for a graft",type:"string"},new:{description:"If present and true, is interpreted as a request for the server to create a new graft",type:"boolean"},atts:{type:"object",description:"An object containing USFM attributes or subtype-specific additional information (such as the number of a verse or chapter). The value may be a boolean, a string or an array of strings",additionalProperties:{oneOf:[{type:"array",items:{type:"string"}},{type:"string"},{type:"boolean"}]}},content:{type:"array",description:"The content of the block",items:{oneOf:[{type:"string"},{$ref:"./contentElement_structure.json"}]}},hooks:{type:"array",$ref:"./hook_structure.json"}},Dae=["type"],hae=!1,mae={required:["content"],allOf:[{not:{required:["new"]}},{not:{required:["preview_text"]}},{not:{required:["target"]}}]},Eae={$id:cae,title:lae,description:pae,type:dae,properties:fae,required:Dae,additionalProperties:hae,if:{properties:{type:{enum:["paragraph","row"]}}},then:mae,else:{if:{required:["new"],properties:{new:{enum:[!0]}}},then:{allOf:[{oneOf:[{required:["subtype"]},{required:["sequence"]}]},{not:{required:["target"]}},{not:{required:["preview_text"]}},{not:{required:["content"]}}]},else:{oneOf:[{required:["target"]},{required:["sequence"]}]}}},yae="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_4_0/contentElement_structure.json",vae="Content Element (Structure)",gae="A content element, ie some form of (possibly nested) markup",Aae="object",Fae={type:{type:"string",description:"The type of element",enum:["mark","wrapper","start_milestone","end_milestone","graft"]},subtype:{description:"The subtype of the element, which is context-dependent",type:"string"},atts:{type:"object",description:"An object containing USFM attributes or subtype-specific additional information (such as the number of a verse or chapter). The value may be a boolean, a string or an array of strings",additionalProperties:{oneOf:[{type:"array",items:{type:"string"}},{type:"string"},{type:"boolean"},{type:"number"}]}},target:{type:"string",description:"The id of the sequence containing graft content"},sequence:{description:"The sequence containing graft content",$ref:"./sequence_structure.json"},preview_text:{description:"An optional field to provide some kind of printable label for a graft",type:"string"},new:{type:"boolean",description:"If present and true, is interpreted as a request for the server to create a new graft"},content:{type:"array",description:"Nested content within the content element",items:{oneOf:[{type:"string"},{$ref:"./contentElement_structure.json"}]}},meta_content:{type:"array",description:"Non-Scripture content related to the content element, such as checking data or related resources",items:{oneOf:[{type:"string"},{$ref:"./contentElement_structure.json"}]}},hooks:{type:"array",$ref:"./hook_structure.json"}},Cae=["type"],bae=!1,Sae={$id:yae,title:vae,description:gae,type:Aae,properties:Fae,required:Cae,additionalProperties:bae},wae="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/structure/0_4_0/hook_structure.json",_ae="Hook (Structure)",Bae="Hooks, ie typed labels that may be used to link documents",Tae="array",$ae={type:"array",items:[{type:"string",oneOf:[{enum:["bcv_ref","book_ref"]},{pattern:"^x-(app|publisher)-[a-z][a-z0-9]+-\\S{2,256}$"},{pattern:"^x-local-\\S{2,256}$"}]},{type:"string",oneOf:[{enum:["label"]},{pattern:"^\\w{1,255}$"}]}],minItems:2,maxItems:2},Pae={$id:wae,title:_ae,description:Bae,type:Tae,items:$ae},kae="version 0.3.0",Oae="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_4_0/perf_document_constraint.json",Iae="object",Nae={hooks:{type:"array"},sequences:{type:"object",propertyNames:{pattern:"^\\S+$"},additionalProperties:{$ref:"./perf_sequence_constraint.json"}}},qae={$comment:kae,$id:Oae,type:Iae,properties:Nae},xae="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_4_0/perf_sequence_constraint.json",Rae="object",jae={type:{type:"string",enum:["main","introduction","intro_title","intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv","footnote","note_caller","xref","pub_number","alt_number","esb_cat","fig","temp"]},blocks:{type:"array",items:{$ref:"./perf_block_constraint.json"}}},Mae={$id:xae,type:Rae,properties:jae},Lae="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_4_0/perf_block_constraint.json",Uae="object",Gae={type:{type:"string",enum:["paragraph","graft","row","node","lookup"]},content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./perf_contentElement_constraint.json"}]}},meta_content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./perf_contentElement_constraint.json"}]}}},Vae={properties:{subtype:{enum:["introduction","intro_title","Intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv"]}}},Hae={$id:Lae,type:Uae,properties:Gae,if:{properties:{type:{enum:["graft"]}}},then:Vae,else:{if:{properties:{type:{enum:["row"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["row:heading","row:body"]}]}}},else:{if:{properties:{type:{enum:["node"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["node"]},{pattern:"^x-\\S{1,256}$"}]},atts:{type:"object",properties:{id:{type:"string"},parent:{type:"string"},children:{type:"array",items:{type:"string"}}},required:["id"],additionalProperties:!1}}},else:{if:{properties:{type:{enum:["lookup"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["lookup"]},{pattern:"^x-\\S{1,256}$"}]},atts:{type:"object",properties:{primary:{type:"string"},secondary:{type:"array",items:{type:"string"}}},required:["primary"],additionalProperties:!1}}},else:{properties:{subtype:{type:"string",oneOf:[{pattern:"^usfm:"},{pattern:"^x-\\S{1,256}$"}]}}}}}}},Wae="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_4_0/perf_contentElement_constraint.json",Jae="object",zae=[{properties:{content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./perf_contentElement_constraint.json"}]}},meta_content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./perf_contentElement_constraint.json"}]}}}},{if:{properties:{type:{enum:["graft"]}}},then:{properties:{subtype:{enum:["footnote","xref","note_caller"]}},allOf:[{not:{required:["content"]}},{not:{required:["meta_content"]}}],if:{required:["new"],properties:{new:{enum:[!0]}}},then:{not:{anyOf:[{required:["target"]},{required:["preview_text"]}]}},else:{required:["target"]}}},{if:{properties:{type:{enum:["mark"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["chapter","verses","alt_chapter","alt_verse","pub_chapter","pub_verse"]},{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},if:{properties:{subtype:{enum:["chapter","verses"]}}},then:{type:"object",required:["atts"],properties:{atts:{type:"object",required:["number"],maxProperties:1}}}}},{if:{properties:{type:{enum:["wrapper"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["meta_content"]},{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},if:{properties:{subtype:{enum:["meta_content"]}}},then:{not:{required:["atts"]}}}},{if:{properties:{type:{enum:["start_milestone"]}}},then:{properties:{subtype:{type:"string",oneOf:[{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}}}},{if:{properties:{type:{enum:["end_milestone"]}}},then:{properties:{subtype:{type:"string",oneOf:[{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},not:{required:["atts"]}}}],Kae={$id:Wae,type:Jae,allOf:zae},Xae="version 0.3.0",Yae="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_4_0/sofria_document_constraint.json",Zae="object",Qae={sequence:{$ref:"./sofria_sequence_constraint.json"}},eie={$comment:Xae,$id:Yae,type:Zae,properties:Qae},tie="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_4_0/sofria_sequence_constraint.json",rie="object",nie={type:{type:"string",enum:["main","introduction","intro_title","intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv","footnote","note_caller","xref","pub_number","alt_number","esb_cat","fig","temp"]},blocks:{type:"array",items:{$ref:"./sofria_block_constraint.json"}}},uie={$id:tie,type:rie,properties:nie},sie="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_4_0/sofria_block_constraint.json",oie="object",aie={type:{type:"string",enum:["paragraph","graft","row"]},content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./sofria_contentElement_constraint.json"}]}},meta_content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./sofria_contentElement_constraint.json"}]}}},iie={properties:{subtype:{enum:["introduction","intro_title","Intro_end_title","title","end_title","heading","remark","sidebar","table","tree","kv"]}}},cie={$id:sie,type:oie,properties:aie,if:{properties:{type:{enum:["graft"]}}},then:iie,else:{if:{properties:{type:{enum:["row"]}}},then:{properties:{subtype:{type:"string",enum:["usfm:tr","pk"]}}},else:{properties:{subtype:{type:"string",pattern:"^usfm:"}}}}},lie="https://github.com/Proskomma/proskomma-json-tools/tree/main/src/schema/constraint/0_4_0/sofria_contentElement_constraint.json",pie="object",die=[{properties:{content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./sofria_contentElement_constraint.json"}]}},meta_content:{type:"array",items:{oneOf:[{type:"string"},{$ref:"./sofria_contentElement_constraint.json"}]}}}},{if:{properties:{type:{enum:["graft"]}}},then:{properties:{subtype:{enum:["footnote","xref","note_caller"]}},allOf:[{not:{required:["content"]}},{not:{required:["meta_content"]}}],if:{required:["new"],properties:{new:{enum:[!0]}}},then:{not:{anyOf:[{required:["blocks"]},{required:["preview_text"]}]}},else:{required:["sequence"]}}},{if:{properties:{type:{enum:["mark"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["chapter_label","verses_label","alt_chapter","alt_verse","pub_chapter","pub_verse"]},{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},if:{properties:{subtype:{enum:["chapter","verses"]}}},then:{type:"object",required:["atts"],properties:{atts:{type:"object",required:["number"],maxProperties:1}}}}},{if:{properties:{type:{enum:["wrapper"]}}},then:{properties:{subtype:{type:"string",oneOf:[{enum:["meta_content","chapter","verses","cell"]},{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},if:{properties:{subtype:{enum:["meta_content"]}}},then:{not:{required:["atts"]}}}},{if:{properties:{type:{enum:["start_milestone"]}}},then:{properties:{subtype:{type:"string",oneOf:[{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}}}},{if:{properties:{type:{enum:["end_milestone"]}}},then:{properties:{subtype:{type:"string",oneOf:[{pattern:"^[A-Za-z][A-Za-z0-9]*:\\S+$"},{pattern:"^x-\\S+$"}]}},not:{required:["atts"]}}}],fie={$id:lie,type:pie,allOf:die};var mt=Xne,Die=uue,xf=Due,ko=Fue,Oo=Pue,Io=jue,hie=Vue,eA=zue,tA=Que,rA=nse,mie=ise,nA=dse,uA=Ese,sA=Ase,Rf=Pse,No=jse,qo=zse,xo=roe,Mn=ioe,Eie=foe,oA=Eoe,aA=Foe,iA=woe,yie=Poe,cA=Noe,lA=Moe,pA=Voe,jf=eae,Ro=iae,jo=Eae,Mo=Sae,Ln=Pae,vie=qae,dA=Mae,fA=Hae,DA=Kae,gie=eie,hA=uie,mA=cie,EA=fie;let Aie=class{constructor(){this.schema={structure:{},constraint:{},proskomma:{}};for(var[t,r]of[["succinct",{"0.2.0":[{name:"Proskomma Serialized Succinct",validator:new mt().compile(Die)}]}]])this.schema.proskomma[t]=r;for(var[n,u]of[["document",{"0.2.1":[{name:"Document Structure",validator:new mt().addSchema(Io).addSchema(Oo).addSchema(ko).compile(xf)}],"0.3.0":[{name:"Document Structure",validator:new mt().addSchema(Mn).addSchema(xo).addSchema(qo).addSchema(No).compile(Rf)}],"0.4.0":[{name:"Document Structure",validator:new mt().addSchema(Ln).addSchema(Mo).addSchema(jo).addSchema(Ro).compile(jf)}]}],["sequence",{"0.2.1":[{name:"Sequence Structure",validator:new mt().addSchema(Io).addSchema(Oo).compile(ko)}],"0.3.0":[{name:"Sequence Structure",validator:new mt().addSchema(Mn).addSchema(xo).addSchema(qo).compile(No)}],"0.4.0":[{name:"Sequence Structure",validator:new mt().addSchema(Ln).addSchema(Mo).addSchema(jo).compile(Ro)}]}]])this.schema.structure[n]=u;for(var[s,o]of[["perfDocument",{"0.2.1":[{name:"Document Structure",validator:new mt().addSchema(Io).addSchema(Oo).addSchema(ko).compile(xf)},{name:"PERF Document",validator:new mt().addSchema(rA).addSchema(tA).addSchema(eA).compile(hie)}],"0.3.0":[{name:"Document Structure",validator:new mt().addSchema(Mn).addSchema(xo).addSchema(qo).addSchema(No).compile(Rf)},{name:"PERF Document",validator:new mt().addSchema(Mn).addSchema(iA).addSchema(aA).addSchema(oA).compile(Eie)}],"0.4.0":[{name:"Document Structure",validator:new mt().addSchema(Ln).addSchema(Mo).addSchema(jo).addSchema(Ro).compile(jf)},{name:"PERF Document",validator:new mt().addSchema(Ln).addSchema(DA).addSchema(fA).addSchema(dA).compile(vie)}]}],["perfSequence",{"0.2.1":[{name:"Sequence Structure",validator:new mt().addSchema(Io).addSchema(Oo).compile(ko)},{name:"PERF Sequence",validator:new mt().addSchema(rA).addSchema(tA).compile(eA)}],"0.3.0":[{name:"Sequence Structure",validator:new mt().addSchema(Mn).addSchema(xo).addSchema(qo).compile(No)},{name:"PERF Sequence",validator:new mt().addSchema(Mn).addSchema(iA).addSchema(aA).compile(oA)}],"0.4.0":[{name:"Sequence Structure",validator:new mt().addSchema(Ln).addSchema(Mo).addSchema(jo).compile(Ro)},{name:"PERF Sequence",validator:new mt().addSchema(Ln).addSchema(DA).addSchema(fA).compile(dA)}]}],["sofriaDocument",{"0.2.1":[{name:"Document Structure",validator:new mt().addSchema(Io).addSchema(Oo).addSchema(ko).compile(xf)},{name:"SOFRIA Document",validator:new mt().addSchema(sA).addSchema(uA).addSchema(nA).compile(mie)}],"0.3.0":[{name:"Document Structure",validator:new mt().addSchema(Mn).addSchema(xo).addSchema(qo).addSchema(No).compile(Rf)},{name:"SOFRIA Document",validator:new mt().addSchema(Mn).addSchema(pA).addSchema(lA).addSchema(cA).compile(yie)}],"0.4.0":[{name:"Document Structure",validator:new mt().addSchema(Ln).addSchema(Mo).addSchema(jo).addSchema(Ro).compile(jf)},{name:"SOFRIA Document",validator:new mt().addSchema(Ln).addSchema(EA).addSchema(mA).addSchema(hA).compile(gie)}]}],["sofriaSequence",{"0.2.1":[{name:"Sequence Structure",validator:new mt().addSchema(Io).addSchema(Oo).compile(ko)},{name:"SOFRIA Sequence",validator:new mt().addSchema(sA).addSchema(uA).compile(nA)}],"0.3.0":[{name:"Sequence Structure",validator:new mt().addSchema(Mn).addSchema(xo).addSchema(qo).compile(No)},{name:"SOFRIA Sequence",validator:new mt().addSchema(Mn).addSchema(pA).addSchema(lA).compile(cA)}],"0.4.0":[{name:"Sequence Structure",validator:new mt().addSchema(Ln).addSchema(Mo).addSchema(jo).compile(Ro)},{name:"SOFRIA Sequence",validator:new mt().addSchema(Ln).addSchema(EA).addSchema(mA).compile(hA)}]}]])this.schema.constraint[s]=o}schemaInfo(){var t={};for(var[r,n]of Object.entries(this.schema)){t[r]={};for(var[u,s]of Object.entries(n)){t[r][u]={};for(var[o,a]of Object.entries(s))t[r][u][o]=a.map(i=>i.name)}}return t}validate(t,r,n,u){if(u===void 0)throw new Error("data argument is missing. Usage: validate(schemaType, schemaKey, schemaVersion, data)");if(u===null)throw new Error("Data argument is null");var s=Object.keys(this.schema);if(!s.includes(t))throw new Error("Schema type must be one of ".concat(s.map(l=>"'".concat(l,"'")).join(", "),", not '").concat(t,"'"));if(!this.schema[t][r])throw new Error("Unknown ".concat(t," schema key ").concat(r));if(!this.schema[t][r][n])throw new Error("Unknown version ".concat(n," for ").concat(t," schema key ").concat(r));var o=this.schema[t][r][n],a;for(var{name:i,validator:c}of o)if(a={validatorName:i,isValid:c(u),errors:c.errors},!a.isValid)break;return{requested:{schemaType:t,schemaKey:r,schemaVersion:n},lastSchema:a.validatorName,isValid:a.isValid,errors:a.errors}}};var Fie=Aie,Cie=["qs","qac","litl","lik","liv","fr","fq","fqa","fk","fl","fw","fp","fv","ft","fdc","fm","xo","xk","xq","xt","xta","xop","xot","xnt","xdc","rq","add","bk","dc","k","nd","ord","pn","png","qt","sig","sls","tl","wj","em","bd","it","bdit","no","sc","sup","ior","iqt","th","thr","tc","tcr"],bie=["ms","mr","s","sr","r","qa","sp","sd"],Sie=["cd","p","m","po","pr","cls","pmo","pm","pmc","pmr","pi","mi","nb","pc","ph","b","q","qr","qc","qa","qm","qd","lh","li","lf","lim","d"],wie=["imt","is","imte"],_ie=["ip","ipi","im","imi","ipq","imq","ipr","iq","ib","ili","iot","io","iex"],Bie={characterTags:Cie,bodyTags:Sie,headingTags:bie,introHeadingTags:wie,introBodyTags:_ie},Nh={exports:{}},cw={exports:{}},Mf,yA;function hr(){if(yA)return Mf;yA=1;var e=function(t){return t&&t.Math===Math&&t};return Mf=e(typeof globalThis=="object"&&globalThis)||e(typeof window=="object"&&window)||e(typeof self=="object"&&self)||e(typeof Ce=="object"&&Ce)||e(typeof Ce=="object"&&Ce)||function(){return this}()||Function("return this")(),Mf}var Zt=function(e){try{return!!e()}catch{return!0}},Lf,vA;function fd(){if(vA)return Lf;vA=1;var e=Zt;return Lf=!e(function(){var t=(function(){}).bind();return typeof t!="function"||t.hasOwnProperty("prototype")}),Lf}var Tie=fd(),lw=Function.prototype,gA=lw.apply,AA=lw.call,pw=typeof Reflect=="object"&&Reflect.apply||(Tie?AA.bind(gA):function(){return AA.apply(gA,arguments)}),Uf,FA;function Jt(){if(FA)return Uf;FA=1;var e=fd(),t=Function.prototype,r=t.call,n=e&&t.bind.bind(r,r);return Uf=e?n:function(u){return function(){return r.apply(u,arguments)}},Uf}var Gf,CA;function uo(){if(CA)return Gf;CA=1;var e=Jt(),t=e({}.toString),r=e("".slice);return Gf=function(n){return r(t(n),8,-1)},Gf}var $ie=uo(),Pie=Jt(),b3=function(e){if($ie(e)==="Function")return Pie(e)},Vf,bA;function vr(){if(bA)return Vf;bA=1;var e=typeof document=="object"&&document.all;return Vf=typeof e>"u"&&e!==void 0?function(t){return typeof t=="function"||t===e}:function(t){return typeof t=="function"},Vf}var S3={},kie=Zt,Kr=!kie(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7}),Oie=fd(),dl=Function.prototype.call,In=Oie?dl.bind(dl):function(){return dl.apply(dl,arguments)},w3={},dw={}.propertyIsEnumerable,fw=Object.getOwnPropertyDescriptor,Iie=fw&&!dw.call({1:2},1);w3.f=Iie?function(t){var r=fw(this,t);return!!r&&r.enumerable}:dw;var dc=function(e,t){return{enumerable:!(e&1),configurable:!(e&2),writable:!(e&4),value:t}},Hf,SA;function _3(){if(SA)return Hf;SA=1;var e=Jt(),t=Zt,r=uo(),n=Object,u=e("".split);return Hf=t(function(){return!n("z").propertyIsEnumerable(0)})?function(s){return r(s)==="String"?u(s,""):n(s)}:n,Hf}var Wf,wA;function B3(){return wA||(wA=1,Wf=function(e){return e==null}),Wf}var Jf,_A;function fc(){if(_A)return Jf;_A=1;var e=B3(),t=TypeError;return Jf=function(r){if(e(r))throw new t("Can't call method on "+r);return r},Jf}var zf,BA;function fs(){if(BA)return zf;BA=1;var e=_3(),t=fc();return zf=function(r){return e(t(r))},zf}var Kf,TA;function Nn(){if(TA)return Kf;TA=1;var e=vr();return Kf=function(t){return typeof t=="object"?t!==null:e(t)},Kf}var uu={},Xf,$A;function ku(){if($A)return Xf;$A=1;var e=uu,t=hr(),r=vr(),n=function(u){return r(u)?u:void 0};return Xf=function(u,s){return arguments.length<2?n(e[u])||n(t[u]):e[u]&&e[u][s]||t[u]&&t[u][s]},Xf}var Yf,PA;function cn(){if(PA)return Yf;PA=1;var e=Jt();return Yf=e({}.isPrototypeOf),Yf}var Zf,kA;function Dc(){if(kA)return Zf;kA=1;var e=hr(),t=e.navigator,r=t&&t.userAgent;return Zf=r?String(r):"",Zf}var Qf,OA;function hc(){if(OA)return Qf;OA=1;var e=hr(),t=Dc(),r=e.process,n=e.Deno,u=r&&r.versions||n&&n.version,s=u&&u.v8,o,a;return s&&(o=s.split("."),a=o[0]>0&&o[0]<4?1:+(o[0]+o[1])),!a&&t&&(o=t.match(/Edge\/(\d+)/),(!o||o[1]>=74)&&(o=t.match(/Chrome\/(\d+)/),o&&(a=+o[1]))),Qf=a,Qf}var e1,IA;function Pa(){if(IA)return e1;IA=1;var e=hc(),t=Zt,r=hr(),n=r.String;return e1=!!Object.getOwnPropertySymbols&&!t(function(){var u=Symbol("symbol detection");return!n(u)||!(Object(u)instanceof Symbol)||!Symbol.sham&&e&&e<41}),e1}var t1,NA;function Dw(){if(NA)return t1;NA=1;var e=Pa();return t1=e&&!Symbol.sham&&typeof Symbol.iterator=="symbol",t1}var Nie=ku(),qie=vr(),xie=cn(),Rie=Dw(),jie=Object,mc=Rie?function(e){return typeof e=="symbol"}:function(e){var t=Nie("Symbol");return qie(t)&&xie(t.prototype,jie(e))},r1,qA;function Dd(){if(qA)return r1;qA=1;var e=String;return r1=function(t){try{return e(t)}catch{return"Object"}},r1}var Mie=vr(),Lie=Dd(),Uie=TypeError,ka=function(e){if(Mie(e))return e;throw new Uie(Lie(e)+" is not a function")},Gie=ka,Vie=B3(),T3=function(e,t){var r=e[t];return Vie(r)?void 0:Gie(r)},n1=In,u1=vr(),s1=Nn(),Hie=TypeError,Wie=function(e,t){var r,n;if(t==="string"&&u1(r=e.toString)&&!s1(n=n1(r,e))||u1(r=e.valueOf)&&!s1(n=n1(r,e))||t!=="string"&&u1(r=e.toString)&&!s1(n=n1(r,e)))return n;throw new Hie("Can't convert object to primitive value")},hw={exports:{}},o1,xA;function Ec(){return xA||(xA=1,o1=!0),o1}var RA=hr(),Jie=Object.defineProperty,zie=function(e,t){try{Jie(RA,e,{value:t,configurable:!0,writable:!0})}catch{RA[e]=t}return t},Kie=Ec(),Xie=hr(),Yie=zie,jA="__core-js_shared__",MA=hw.exports=Xie[jA]||Yie(jA,{});(MA.versions||(MA.versions=[])).push({version:"3.38.1",mode:Kie?"pure":"global",copyright:"© 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.38.1/LICENSE",source:"https://github.com/zloirock/core-js"});var $3=hw.exports,a1,LA;function Oa(){if(LA)return a1;LA=1;var e=$3;return a1=function(t,r){return e[t]||(e[t]=r||{})},a1}var i1,UA;function Ou(){if(UA)return i1;UA=1;var e=fc(),t=Object;return i1=function(r){return t(e(r))},i1}var c1,GA;function Mr(){if(GA)return c1;GA=1;var e=Jt(),t=Ou(),r=e({}.hasOwnProperty);return c1=Object.hasOwn||function(u,s){return r(t(u),s)},c1}var l1,VA;function P3(){if(VA)return l1;VA=1;var e=Jt(),t=0,r=Math.random(),n=e(1 .toString);return l1=function(u){return"Symbol("+(u===void 0?"":u)+")_"+n(++t+r,36)},l1}var p1,HA;function ar(){if(HA)return p1;HA=1;var e=hr(),t=Oa(),r=Mr(),n=P3(),u=Pa(),s=Dw(),o=e.Symbol,a=t("wks"),i=s?o.for||o:o&&o.withoutSetter||n;return p1=function(c){return r(a,c)||(a[c]=u&&r(o,c)?o[c]:i("Symbol."+c)),a[c]},p1}var Zie=In,WA=Nn(),JA=mc,Qie=T3,ece=Wie,tce=ar(),rce=TypeError,nce=tce("toPrimitive"),uce=function(e,t){if(!WA(e)||JA(e))return e;var r=Qie(e,nce),n;if(r){if(t===void 0&&(t="default"),n=Zie(r,e,t),!WA(n)||JA(n))return n;throw new rce("Can't convert object to primitive value")}return t===void 0&&(t="number"),ece(e,t)},sce=uce,oce=mc,k3=function(e){var t=sce(e,"string");return oce(t)?t:t+""},ace=hr(),zA=Nn(),qh=ace.document,ice=zA(qh)&&zA(qh.createElement),mw=function(e){return ice?qh.createElement(e):{}},cce=Kr,lce=Zt,pce=mw,Ew=!cce&&!lce(function(){return Object.defineProperty(pce("div"),"a",{get:function(){return 7}}).a!==7}),dce=Kr,fce=In,Dce=w3,hce=dc,mce=fs(),Ece=k3,yce=Mr(),vce=Ew,KA=Object.getOwnPropertyDescriptor;S3.f=dce?KA:function(t,r){if(t=mce(t),r=Ece(r),vce)try{return KA(t,r)}catch{}if(yce(t,r))return hce(!fce(Dce.f,t,r),t[r])};var gce=Zt,Ace=vr(),Fce=/#|\.prototype\./,yc=function(e,t){var r=bce[Cce(e)];return r===wce?!0:r===Sce?!1:Ace(t)?gce(t):!!t},Cce=yc.normalize=function(e){return String(e).replace(Fce,".").toLowerCase()},bce=yc.data={},Sce=yc.NATIVE="N",wce=yc.POLYFILL="P",_ce=yc,XA=b3,Bce=ka,Tce=fd(),$ce=XA(XA.bind),O3=function(e,t){return Bce(e),t===void 0?e:Tce?$ce(e,t):function(){return e.apply(t,arguments)}},qn={},Pce=Kr,kce=Zt,yw=Pce&&kce(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42}),Oce=Nn(),Ice=String,Nce=TypeError,Ds=function(e){if(Oce(e))return e;throw new Nce(Ice(e)+" is not an object")},qce=Kr,xce=Ew,Rce=yw,fl=Ds,YA=k3,jce=TypeError,d1=Object.defineProperty,Mce=Object.getOwnPropertyDescriptor,f1="enumerable",D1="configurable",h1="writable";qn.f=qce?Rce?function(t,r,n){if(fl(t),r=YA(r),fl(n),typeof t=="function"&&r==="prototype"&&"value"in n&&h1 in n&&!n[h1]){var u=Mce(t,r);u&&u[h1]&&(t[r]=n.value,n={configurable:D1 in n?n[D1]:u[D1],enumerable:f1 in n?n[f1]:u[f1],writable:!1})}return d1(t,r,n)}:d1:function(t,r,n){if(fl(t),r=YA(r),fl(n),xce)try{return d1(t,r,n)}catch{}if("get"in n||"set"in n)throw new jce("Accessors not supported");return"value"in n&&(t[r]=n.value),t};var Lce=Kr,Uce=qn,Gce=dc,vc=Lce?function(e,t,r){return Uce.f(e,t,Gce(1,r))}:function(e,t,r){return e[t]=r,e},Ka=hr(),Vce=pw,Hce=b3,Wce=vr(),Jce=S3.f,zce=_ce,Lo=uu,Kce=O3,Uo=vc,ZA=Mr(),Xce=function(e){var t=function(r,n,u){if(this instanceof t){switch(arguments.length){case 0:return new e;case 1:return new e(r);case 2:return new e(r,n)}return new e(r,n,u)}return Vce(e,this,arguments)};return t.prototype=e.prototype,t},xt=function(e,t){var r=e.target,n=e.global,u=e.stat,s=e.proto,o=n?Ka:u?Ka[r]:Ka[r]&&Ka[r].prototype,a=n?Lo:Lo[r]||Uo(Lo,r,{})[r],i=a.prototype,c,l,p,d,f,h,y,A,m;for(d in t)c=zce(n?d:r+(u?".":"#")+d,e.forced),l=!c&&o&&ZA(o,d),h=a[d],l&&(e.dontCallGetSet?(m=Jce(o,d),y=m&&m.value):y=o[d]),f=l&&y?y:t[d],!(!c&&!s&&typeof h==typeof f)&&(e.bind&&l?A=Kce(f,Ka):e.wrap&&l?A=Xce(f):s&&Wce(f)?A=Hce(f):A=f,(e.sham||f&&f.sham||h&&h.sham)&&Uo(A,"sham",!0),Uo(a,d,A),s&&(p=r+"Prototype",ZA(Lo,p)||Uo(Lo,p,{}),Uo(Lo[p],d,f),e.real&&i&&(c||!i[d])&&Uo(i,d,f)))},Yce=xt,Zce=Kr,QA=qn.f;Yce({target:"Object",stat:!0,forced:Object.defineProperty!==QA,sham:!Zce},{defineProperty:QA});var Qce=uu,vw=Qce.Object,ele=cw.exports=function(t,r,n){return vw.defineProperty(t,r,n)};vw.defineProperty.sham&&(ele.sham=!0);var tle=cw.exports,rle=tle,nle=rle,hs=nle,gw={exports:{}};(function(e){function t(r){return r&&r.__esModule?r:{default:r}}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports})(gw);var ms=gw.exports,Dl={exports:{}},eF={},m1,tF;function Ia(){if(tF)return m1;tF=1;var e=uo();return m1=Array.isArray||function(r){return e(r)==="Array"},m1}var E1,rF;function I3(){if(rF)return E1;rF=1;var e=ar(),t=e("toStringTag"),r={};return r[t]="z",E1=String(r)==="[object z]",E1}var y1,nF;function gc(){if(nF)return y1;nF=1;var e=I3(),t=vr(),r=uo(),n=ar(),u=n("toStringTag"),s=Object,o=r(function(){return arguments}())==="Arguments",a=function(i,c){try{return i[c]}catch{}};return y1=e?r:function(i){var c,l,p;return i===void 0?"Undefined":i===null?"Null":typeof(l=a(c=s(i),u))=="string"?l:o?r(c):(p=r(c))==="Object"&&t(c.callee)?"Arguments":p},y1}var v1,uF;function ule(){if(uF)return v1;uF=1;var e=Jt(),t=vr(),r=$3,n=e(Function.toString);return t(r.inspectSource)||(r.inspectSource=function(u){return n(u)}),v1=r.inspectSource,v1}var g1,sF;function N3(){if(sF)return g1;sF=1;var e=Jt(),t=Zt,r=vr(),n=gc(),u=ku(),s=ule(),o=function(){},a=u("Reflect","construct"),i=/^\s*(?:class|function)\b/,c=e(i.exec),l=!i.test(o),p=function(h){if(!r(h))return!1;try{return a(o,[],h),!0}catch{return!1}},d=function(h){if(!r(h))return!1;switch(n(h)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return l||!!c(i,s(h))}catch{return!0}};return d.sham=!0,g1=!a||t(function(){var f;return p(p.call)||!p(Object)||!p(function(){f=!0})||f})?d:p,g1}var A1,oF;function sle(){if(oF)return A1;oF=1;var e=Math.ceil,t=Math.floor;return A1=Math.trunc||function(n){var u=+n;return(u>0?t:e)(u)},A1}var F1,aF;function q3(){if(aF)return F1;aF=1;var e=sle();return F1=function(t){var r=+t;return r!==r||r===0?0:e(r)},F1}var C1,iF;function Aw(){if(iF)return C1;iF=1;var e=q3(),t=Math.max,r=Math.min;return C1=function(n,u){var s=e(n);return s<0?t(s+u,0):r(s,u)},C1}var b1,cF;function ole(){if(cF)return b1;cF=1;var e=q3(),t=Math.min;return b1=function(r){var n=e(r);return n>0?t(n,9007199254740991):0},b1}var S1,lF;function Es(){if(lF)return S1;lF=1;var e=ole();return S1=function(t){return e(t.length)},S1}var w1,pF;function x3(){if(pF)return w1;pF=1;var e=Kr,t=qn,r=dc;return w1=function(n,u,s){e?t.f(n,u,r(0,s)):n[u]=s},w1}var _1,dF;function R3(){if(dF)return _1;dF=1;var e=Zt,t=ar(),r=hc(),n=t("species");return _1=function(u){return r>=51||!e(function(){var s=[],o=s.constructor={};return o[n]=function(){return{foo:1}},s[u](Boolean).foo!==1})},_1}var B1,fF;function hd(){if(fF)return B1;fF=1;var e=Jt();return B1=e([].slice),B1}var DF;function ale(){if(DF)return eF;DF=1;var e=xt,t=Ia(),r=N3(),n=Nn(),u=Aw(),s=Es(),o=fs(),a=x3(),i=ar(),c=R3(),l=hd(),p=c("slice"),d=i("species"),f=Array,h=Math.max;return e({target:"Array",proto:!0,forced:!p},{slice:function(A,m){var v=o(this),C=s(v),B=u(A,C),T=u(m===void 0?C:m,C),N,R,J;if(t(v)&&(N=v.constructor,r(N)&&(N===f||t(N.prototype))?N=void 0:n(N)&&(N=N[d],N===null&&(N=void 0)),N===f||N===void 0))return l(v,B,T);for(R=new(N===void 0?f:N)(h(T-B,0)),J=0;B=f?i?"":void 0:(h=s(p,d),h<55296||h>56319||d+1===f||(y=s(p,d+1))<56320||y>57343?i?u(p,d):h:i?o(p,d,d+2):(h-55296<<10)+(y-56320)+65536)}};return N1={codeAt:a(!1),charAt:a(!0)},N1}var q1,CF;function ple(){if(CF)return q1;CF=1;var e=hr(),t=vr(),r=e.WeakMap;return q1=t(r)&&/native code/.test(String(r)),q1}var x1,bF;function md(){if(bF)return x1;bF=1;var e=Oa(),t=P3(),r=e("keys");return x1=function(n){return r[n]||(r[n]=t(n))},x1}var R1,SF;function Ed(){return SF||(SF=1,R1={}),R1}var j1,wF;function j3(){if(wF)return j1;wF=1;var e=ple(),t=hr(),r=Nn(),n=vc,u=Mr(),s=$3,o=md(),a=Ed(),i="Object already initialized",c=t.TypeError,l=t.WeakMap,p,d,f,h=function(v){return f(v)?d(v):p(v,{})},y=function(v){return function(C){var B;if(!r(C)||(B=d(C)).type!==v)throw new c("Incompatible receiver, "+v+" required");return B}};if(e||s.state){var A=s.state||(s.state=new l);A.get=A.get,A.has=A.has,A.set=A.set,p=function(v,C){if(A.has(v))throw new c(i);return C.facade=v,A.set(v,C),C},d=function(v){return A.get(v)||{}},f=function(v){return A.has(v)}}else{var m=o("state");a[m]=!0,p=function(v,C){if(u(v,m))throw new c(i);return C.facade=v,n(v,m,C),C},d=function(v){return u(v,m)?v[m]:{}},f=function(v){return u(v,m)}}return j1={set:p,get:d,has:f,enforce:h,getterFor:y},j1}var M1,_F;function dle(){if(_F)return M1;_F=1;var e=Kr,t=Mr(),r=Function.prototype,n=e&&Object.getOwnPropertyDescriptor,u=t(r,"name"),s=u&&(function(){}).name==="something",o=u&&(!e||e&&n(r,"name").configurable);return M1={EXISTS:u,PROPER:s,CONFIGURABLE:o},M1}var L1={},U1,BF;function Cw(){if(BF)return U1;BF=1;var e=fs(),t=Aw(),r=Es(),n=function(u){return function(s,o,a){var i=e(s),c=r(i);if(c===0)return!u&&-1;var l=t(a,c),p;if(u&&o!==o){for(;c>l;)if(p=i[l++],p!==p)return!0}else for(;c>l;l++)if((u||l in i)&&i[l]===o)return u||l||0;return!u&&-1}};return U1={includes:n(!0),indexOf:n(!1)},U1}var G1,TF;function bw(){if(TF)return G1;TF=1;var e=Jt(),t=Mr(),r=fs(),n=Cw().indexOf,u=Ed(),s=e([].push);return G1=function(o,a){var i=r(o),c=0,l=[],p;for(p in i)!t(u,p)&&t(i,p)&&s(l,p);for(;a.length>c;)t(i,p=a[c++])&&(~n(l,p)||s(l,p));return l},G1}var V1,$F;function M3(){return $F||($F=1,V1=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]),V1}var H1,PF;function Sw(){if(PF)return H1;PF=1;var e=bw(),t=M3();return H1=Object.keys||function(n){return e(n,t)},H1}var kF;function ww(){if(kF)return L1;kF=1;var e=Kr,t=yw,r=qn,n=Ds,u=fs(),s=Sw();return L1.f=e&&!t?Object.defineProperties:function(a,i){n(a);for(var c=u(i),l=s(i),p=l.length,d=0,f;p>d;)r.f(a,f=l[d++],c[f]);return a},L1}var W1,OF;function fle(){if(OF)return W1;OF=1;var e=ku();return W1=e("document","documentElement"),W1}var J1,IF;function yd(){if(IF)return J1;IF=1;var e=Ds,t=ww(),r=M3(),n=Ed(),u=fle(),s=mw,o=md(),a=">",i="<",c="prototype",l="script",p=o("IE_PROTO"),d=function(){},f=function(v){return i+l+a+v+i+"/"+l+a},h=function(v){v.write(f("")),v.close();var C=v.parentWindow.Object;return v=null,C},y=function(){var v=s("iframe"),C="java"+l+":",B;return v.style.display="none",u.appendChild(v),v.src=String(C),B=v.contentWindow.document,B.open(),B.write(f("document.F=Object")),B.close(),B.F},A,m=function(){try{A=new ActiveXObject("htmlfile")}catch{}m=typeof document<"u"?document.domain&&A?h(A):y():h(A);for(var v=r.length;v--;)delete m[c][r[v]];return m()};return n[p]=!0,J1=Object.create||function(C,B){var T;return C!==null?(d[c]=e(C),T=new d,d[c]=null,T[p]=C):T=m(),B===void 0?T:t.f(T,B)},J1}var z1,NF;function Dle(){if(NF)return z1;NF=1;var e=Zt;return z1=!e(function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}),z1}var K1,qF;function _w(){if(qF)return K1;qF=1;var e=Mr(),t=vr(),r=Ou(),n=md(),u=Dle(),s=n("IE_PROTO"),o=Object,a=o.prototype;return K1=u?o.getPrototypeOf:function(i){var c=r(i);if(e(c,s))return c[s];var l=c.constructor;return t(l)&&c instanceof l?l.prototype:c instanceof o?a:null},K1}var X1,xF;function vd(){if(xF)return X1;xF=1;var e=vc;return X1=function(t,r,n,u){return u&&u.enumerable?t[r]=n:e(t,r,n),t},X1}var Y1,RF;function Bw(){if(RF)return Y1;RF=1;var e=Zt,t=vr(),r=Nn(),n=yd(),u=_w(),s=vd(),o=ar(),a=Ec(),i=o("iterator"),c=!1,l,p,d;[].keys&&(d=[].keys(),"next"in d?(p=u(u(d)),p!==Object.prototype&&(l=p)):c=!0);var f=!r(l)||e(function(){var h={};return l[i].call(h)!==h});return f?l={}:a&&(l=n(l)),t(l[i])||s(l,i,function(){return this}),Y1={IteratorPrototype:l,BUGGY_SAFARI_ITERATORS:c},Y1}var Z1,jF;function hle(){if(jF)return Z1;jF=1;var e=I3(),t=gc();return Z1=e?{}.toString:function(){return"[object "+t(this)+"]"},Z1}var Q1,MF;function Na(){if(MF)return Q1;MF=1;var e=I3(),t=qn.f,r=vc,n=Mr(),u=hle(),s=ar(),o=s("toStringTag");return Q1=function(a,i,c,l){var p=c?a:a&&a.prototype;p&&(n(p,o)||t(p,o,{configurable:!0,value:i}),l&&!e&&r(p,"toString",u))},Q1}var e0,LF;function qa(){return LF||(LF=1,e0={}),e0}var t0,UF;function mle(){if(UF)return t0;UF=1;var e=Bw().IteratorPrototype,t=yd(),r=dc,n=Na(),u=qa(),s=function(){return this};return t0=function(o,a,i,c){var l=a+" Iterator";return o.prototype=t(e,{next:r(+!c,i)}),n(o,l,!1,!0),u[l]=s,o},t0}var r0,GF;function Ele(){if(GF)return r0;GF=1;var e=Jt(),t=ka;return r0=function(r,n,u){try{return e(t(Object.getOwnPropertyDescriptor(r,n)[u]))}catch{}},r0}var n0,VF;function yle(){if(VF)return n0;VF=1;var e=Nn();return n0=function(t){return e(t)||t===null},n0}var u0,HF;function vle(){if(HF)return u0;HF=1;var e=yle(),t=String,r=TypeError;return u0=function(n){if(e(n))return n;throw new r("Can't set "+t(n)+" as a prototype")},u0}var s0,WF;function gle(){if(WF)return s0;WF=1;var e=Ele(),t=Nn(),r=fc(),n=vle();return s0=Object.setPrototypeOf||("__proto__"in{}?function(){var u=!1,s={},o;try{o=e(Object.prototype,"__proto__","set"),o(s,[]),u=s instanceof Array}catch{}return function(i,c){return r(i),n(c),t(i)&&(u?o(i,c):i.__proto__=c),i}}():void 0),s0}var o0,JF;function Tw(){if(JF)return o0;JF=1;var e=xt,t=In,r=Ec(),n=dle(),u=vr(),s=mle(),o=_w(),a=gle(),i=Na(),c=vc,l=vd(),p=ar(),d=qa(),f=Bw(),h=n.PROPER,y=n.CONFIGURABLE,A=f.IteratorPrototype,m=f.BUGGY_SAFARI_ITERATORS,v=p("iterator"),C="keys",B="values",T="entries",N=function(){return this};return o0=function(R,J,q,G,ee,K,ue){s(q,J,G);var oe=function(D){if(D===ee&&pe)return pe;if(!m&&D&&D in fe)return fe[D];switch(D){case C:return function(){return new q(this,D)};case B:return function(){return new q(this,D)};case T:return function(){return new q(this,D)}}return function(){return new q(this)}},de=J+" Iterator",he=!1,fe=R.prototype,ge=fe[v]||fe["@@iterator"]||ee&&fe[ee],pe=!m&&ge||oe(ee),z=J==="Array"&&fe.entries||ge,O,E,F;if(z&&(O=o(z.call(new R)),O!==Object.prototype&&O.next&&(!r&&o(O)!==A&&(a?a(O,A):u(O[v])||l(O,v,N)),i(O,de,!0,!0),r&&(d[de]=N))),h&&ee===B&&ge&&ge.name!==B&&(!r&&y?c(fe,"name",B):(he=!0,pe=function(){return t(ge,this)})),ee)if(E={values:oe(B),keys:K?pe:oe(C),entries:oe(T)},ue)for(F in E)(m||he||!(F in fe))&&l(fe,F,E[F]);else e({target:J,proto:!0,forced:m||he},E);return(!r||ue)&&fe[v]!==pe&&l(fe,v,pe,{name:ee}),d[J]=pe,E},o0}var a0,zF;function $w(){return zF||(zF=1,a0=function(e,t){return{value:e,done:t}}),a0}var KF;function Pw(){if(KF)return gF;KF=1;var e=lle().charAt,t=vs(),r=j3(),n=Tw(),u=$w(),s="String Iterator",o=r.set,a=r.getterFor(s);return n(String,"String",function(i){o(this,{type:s,string:t(i),index:0})},function(){var c=a(this),l=c.string,p=c.index,d;return p>=l.length?u(void 0,!0):(d=e(l,p),c.index+=d.length,u(d,!1))}),gF}var XF={},i0,YF;function Ale(){if(YF)return i0;YF=1;var e=In,t=Ds,r=T3;return i0=function(n,u,s){var o,a;t(n);try{if(o=r(n,"return"),!o){if(u==="throw")throw s;return s}o=e(o,n)}catch(i){a=!0,o=i}if(u==="throw")throw s;if(a)throw o;return t(o),s},i0}var c0,ZF;function Fle(){if(ZF)return c0;ZF=1;var e=Ds,t=Ale();return c0=function(r,n,u,s){try{return s?n(e(u)[0],u[1]):n(u)}catch(o){t(r,"throw",o)}},c0}var l0,QF;function Cle(){if(QF)return l0;QF=1;var e=ar(),t=qa(),r=e("iterator"),n=Array.prototype;return l0=function(u){return u!==void 0&&(t.Array===u||n[r]===u)},l0}var p0,eC;function L3(){if(eC)return p0;eC=1;var e=gc(),t=T3,r=B3(),n=qa(),u=ar(),s=u("iterator");return p0=function(o){if(!r(o))return t(o,s)||t(o,"@@iterator")||n[e(o)]},p0}var d0,tC;function ble(){if(tC)return d0;tC=1;var e=In,t=ka,r=Ds,n=Dd(),u=L3(),s=TypeError;return d0=function(o,a){var i=arguments.length<2?u(o):a;if(t(i))return r(e(i,o));throw new s(n(o)+" is not iterable")},d0}var f0,rC;function Sle(){if(rC)return f0;rC=1;var e=O3,t=In,r=Ou(),n=Fle(),u=Cle(),s=N3(),o=Es(),a=x3(),i=ble(),c=L3(),l=Array;return f0=function(d){var f=r(d),h=s(this),y=arguments.length,A=y>1?arguments[1]:void 0,m=A!==void 0;m&&(A=e(A,y>2?arguments[2]:void 0));var v=c(f),C=0,B,T,N,R,J,q;if(v&&!(this===l&&u(v)))for(T=h?new this:[],R=i(f,v),J=R.next;!(N=t(J,R)).done;C++)q=m?n(R,A,[N.value,C],!0):N.value,a(T,C,q);else for(B=o(f),T=h?new this(B):l(B);B>C;C++)q=m?A(f[C],C):f[C],a(T,C,q);return T.length=C,T},f0}var D0,nC;function wle(){if(nC)return D0;nC=1;var e=ar(),t=e("iterator"),r=!1;try{var n=0,u={next:function(){return{done:!!n++}},return:function(){r=!0}};u[t]=function(){return this},Array.from(u,function(){throw 2})}catch{}return D0=function(s,o){try{if(!o&&!r)return!1}catch{return!1}var a=!1;try{var i={};i[t]=function(){return{next:function(){return{done:a=!0}}}},s(i)}catch{}return a},D0}var uC;function _le(){if(uC)return XF;uC=1;var e=xt,t=Sle(),r=wle(),n=!r(function(u){Array.from(u)});return e({target:"Array",stat:!0,forced:n},{from:t}),XF}var h0,sC;function Ble(){if(sC)return h0;sC=1,Pw(),_le();var e=uu;return h0=e.Array.from,h0}var m0,oC;function kw(){if(oC)return m0;oC=1;var e=Ble();return m0=e,m0}var E0,aC;function Ow(){return aC||(aC=1,E0=kw()),E0}var iC={},y0,cC;function Iw(){if(cC)return y0;cC=1;var e=TypeError,t=9007199254740991;return y0=function(r){if(r>t)throw e("Maximum allowed index exceeded");return r},y0}var v0,lC;function Tle(){if(lC)return v0;lC=1;var e=Ia(),t=N3(),r=Nn(),n=ar(),u=n("species"),s=Array;return v0=function(o){var a;return e(o)&&(a=o.constructor,t(a)&&(a===s||e(a.prototype))?a=void 0:r(a)&&(a=a[u],a===null&&(a=void 0))),a===void 0?s:a},v0}var g0,pC;function Nw(){if(pC)return g0;pC=1;var e=Tle();return g0=function(t,r){return new(e(t))(r===0?0:r)},g0}var dC;function qw(){if(dC)return iC;dC=1;var e=xt,t=Zt,r=Ia(),n=Nn(),u=Ou(),s=Es(),o=Iw(),a=x3(),i=Nw(),c=R3(),l=ar(),p=hc(),d=l("isConcatSpreadable"),f=p>=51||!t(function(){var A=[];return A[d]=!1,A.concat()[0]!==A}),h=function(A){if(!n(A))return!1;var m=A[d];return m!==void 0?!!m:r(A)},y=!f||!c("concat");return e({target:"Array",proto:!0,arity:1,forced:y},{concat:function(m){var v=u(this),C=i(v,0),B=0,T,N,R,J,q;for(T=-1,R=arguments.length;TJ;J++)if((y||J in T)&&(ee=T[J],K=R(ee,J,B),i))if(c)G[J]=K;else if(K)switch(i){case 3:return!0;case 5:return ee;case 6:return J;case 2:o(G,ee)}else switch(i){case 4:return!1;case 7:o(G,ee)}return f?-1:p||d?d:G}};return B0={forEach:a(0),map:a(1),filter:a(2),some:a(3),every:a(4),find:a(5),findIndex:a(6),filterReject:a(7)},B0}var CC;function kle(){if(CC)return DC;CC=1;var e=xt,t=hr(),r=In,n=Jt(),u=Ec(),s=Kr,o=Pa(),a=Zt,i=Mr(),c=cn(),l=Ds,p=fs(),d=k3,f=vs(),h=dc,y=yd(),A=Sw(),m=xw(),v=$le(),C=Rw(),B=S3,T=qn,N=ww(),R=w3,J=vd(),q=Ple(),G=Oa(),ee=md(),K=Ed(),ue=P3(),oe=ar(),de=jw(),he=Rt(),fe=Mw(),ge=Na(),pe=j3(),z=U3().forEach,O=ee("hidden"),E="Symbol",F="prototype",D=pe.set,g=pe.getterFor(E),P=Object[F],b=t.Symbol,w=b&&b[F],I=t.RangeError,$=t.TypeError,M=t.QObject,L=B.f,Y=T.f,be=v.f,Ne=R.f,Ve=n([].push),Me=G("symbols"),Fe=G("op-symbols"),qe=G("wks"),Pe=!M||!M[F]||!M[F].findChild,Be=function(U,X,re){var ve=L(P,X);ve&&delete P[X],Y(U,X,re),ve&&U!==P&&Y(P,X,ve)},le=s&&a(function(){return y(Y({},"a",{get:function(){return Y(this,"a",{value:7}).a}})).a!==7})?Be:Y,Te=function(U,X){var re=Me[U]=y(w);return D(re,{type:E,tag:U,description:X}),s||(re.description=X),re},W=function(X,re,ve){X===P&&W(Fe,re,ve),l(X);var Se=d(re);return l(ve),i(Me,Se)?(ve.enumerable?(i(X,O)&&X[O][Se]&&(X[O][Se]=!1),ve=y(ve,{enumerable:h(0,!1)})):(i(X,O)||Y(X,O,h(1,y(null))),X[O][Se]=!0),le(X,Se,ve)):Y(X,Se,ve)},se=function(X,re){l(X);var ve=p(re),Se=A(ve).concat(x(ve));return z(Se,function(Oe){(!s||r(k,ve,Oe))&&W(X,Oe,ve[Oe])}),X},ce=function(X,re){return re===void 0?y(X):se(y(X),re)},k=function(X){var re=d(X),ve=r(Ne,this,re);return this===P&&i(Me,re)&&!i(Fe,re)?!1:ve||!i(this,re)||!i(Me,re)||i(this,O)&&this[O][re]?ve:!0},S=function(X,re){var ve=p(X),Se=d(re);if(!(ve===P&&i(Me,Se)&&!i(Fe,Se))){var Oe=L(ve,Se);return Oe&&i(Me,Se)&&!(i(ve,O)&&ve[O][Se])&&(Oe.enumerable=!0),Oe}},_=function(X){var re=be(p(X)),ve=[];return z(re,function(Se){!i(Me,Se)&&!i(K,Se)&&Ve(ve,Se)}),ve},x=function(U){var X=U===P,re=be(X?Fe:p(U)),ve=[];return z(re,function(Se){i(Me,Se)&&(!X||i(P,Se))&&Ve(ve,Me[Se])}),ve};return o||(b=function(){if(c(w,this))throw new $("Symbol is not a constructor");var X=!arguments.length||arguments[0]===void 0?void 0:f(arguments[0]),re=ue(X),ve=function(Se){var Oe=this===void 0?t:this;Oe===P&&r(ve,Fe,Se),i(Oe,O)&&i(Oe[O],re)&&(Oe[O][re]=!1);var Ie=h(1,Se);try{le(Oe,re,Ie)}catch(Ke){if(!(Ke instanceof I))throw Ke;Be(Oe,re,Ie)}};return s&&Pe&&le(P,re,{configurable:!0,set:ve}),Te(re,X)},w=b[F],J(w,"toString",function(){return g(this).tag}),J(b,"withoutSetter",function(U){return Te(ue(U),U)}),R.f=k,T.f=W,N.f=se,B.f=S,m.f=v.f=_,C.f=x,de.f=function(U){return Te(oe(U),U)},s&&(q(w,"description",{configurable:!0,get:function(){return g(this).description}}),u||J(P,"propertyIsEnumerable",k,{unsafe:!0}))),e({global:!0,constructor:!0,wrap:!0,forced:!o,sham:!o},{Symbol:b}),z(A(qe),function(U){he(U)}),e({target:E,stat:!0,forced:!o},{useSetter:function(){Pe=!0},useSimple:function(){Pe=!1}}),e({target:"Object",stat:!0,forced:!o,sham:!s},{create:ce,defineProperty:W,defineProperties:se,getOwnPropertyDescriptor:S}),e({target:"Object",stat:!0,forced:!o},{getOwnPropertyNames:_}),fe(),ge(b,E),K[O]=!0,DC}var bC={},T0,SC;function Lw(){if(SC)return T0;SC=1;var e=Pa();return T0=e&&!!Symbol.for&&!!Symbol.keyFor,T0}var wC;function Ole(){if(wC)return bC;wC=1;var e=xt,t=ku(),r=Mr(),n=vs(),u=Oa(),s=Lw(),o=u("string-to-symbol-registry"),a=u("symbol-to-string-registry");return e({target:"Symbol",stat:!0,forced:!s},{for:function(i){var c=n(i);if(r(o,c))return o[c];var l=t("Symbol")(c);return o[c]=l,a[l]=c,l}}),bC}var _C={},BC;function Ile(){if(BC)return _C;BC=1;var e=xt,t=Mr(),r=mc,n=Dd(),u=Oa(),s=Lw(),o=u("symbol-to-string-registry");return e({target:"Symbol",stat:!0,forced:!s},{keyFor:function(i){if(!r(i))throw new TypeError(n(i)+" is not a symbol");if(t(o,i))return o[i]}}),_C}var TC={},$0,$C;function Nle(){if($C)return $0;$C=1;var e=Jt(),t=Ia(),r=vr(),n=uo(),u=vs(),s=e([].push);return $0=function(o){if(r(o))return o;if(t(o)){for(var a=o.length,i=[],c=0;c=h.length)return f.target=null,o(void 0,!0);switch(f.kind){case"keys":return o(y,!1);case"values":return o(h[y],!1)}return o([y,h[y]],!1)},"values");var d=r.Arguments=r.Array;if(t("keys"),t("values"),t("entries"),!a&&i&&d.name!=="values")try{u(d,"name",{value:"values"})}catch{}return O0}var I0,fb;function tpe(){return fb||(fb=1,I0={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}),I0}var Db;function Gw(){if(Db)return lb;Db=1,Uw();var e=tpe(),t=hr(),r=Na(),n=qa();for(var u in e)r(t[u],u),n[u]=n.Array;return lb}var N0,hb;function Vw(){if(hb)return N0;hb=1;var e=Qle();return Gw(),N0=e,N0}var q0,mb;function Hw(){return mb||(mb=1,q0=Vw()),q0}var x0,Eb;function rpe(){if(Eb)return x0;Eb=1,Uw(),Pw();var e=L3();return x0=e,x0}var R0,yb;function npe(){if(yb)return R0;yb=1;var e=rpe();return Gw(),R0=e,R0}var j0,vb;function upe(){if(vb)return j0;vb=1;var e=npe();return j0=e,j0}var M0,gb;function spe(){if(gb)return M0;gb=1;var e=upe();return M0=e,M0}var L0,Ab;function Ww(){return Ab||(Ab=1,L0=spe()),L0}var U0,Fb;function Jw(){return Fb||(Fb=1,U0=Ww()),U0}var Cb={},bb;function ope(){if(bb)return Cb;bb=1;var e=xt,t=Ia();return e({target:"Array",stat:!0},{isArray:t}),Cb}var G0,Sb;function ape(){if(Sb)return G0;Sb=1,ope();var e=uu;return G0=e.Array.isArray,G0}var V0,wb;function zw(){if(wb)return V0;wb=1;var e=ape();return V0=e,V0}var H0,_b;function Kw(){return _b||(_b=1,H0=zw()),H0}var W0={exports:{}},J0={exports:{}},z0,Bb;function ipe(){if(Bb)return z0;Bb=1;var e=zw();return z0=e,z0}var K0,Tb;function cpe(){if(Tb)return K0;Tb=1;var e=ipe();return K0=e,K0}var X0,$b;function lpe(){return $b||($b=1,X0=cpe()),X0}var Pb;function ppe(){return Pb||(Pb=1,function(e){var t=lpe();function r(n){if(t(n))return n}e.exports=r,e.exports.__esModule=!0,e.exports.default=e.exports}(J0)),J0.exports}var Y0={exports:{}},kb={},Ob;function dpe(){if(Ob)return kb;Ob=1;var e=ar(),t=qn.f,r=e("metadata"),n=Function.prototype;return n[r]===void 0&&t(n,r,{value:null}),kb}var Ib={},Nb;function fpe(){if(Nb)return Ib;Nb=1;var e=Rt();return e("asyncDispose"),Ib}var qb={},xb;function Dpe(){if(xb)return qb;xb=1;var e=Rt();return e("dispose"),qb}var Rb={},jb;function hpe(){if(jb)return Rb;jb=1;var e=Rt();return e("metadata"),Rb}var Z0,Mb;function mpe(){if(Mb)return Z0;Mb=1;var e=Vw();return dpe(),fpe(),Dpe(),hpe(),Z0=e,Z0}var Lb={},Q0,Ub;function Xw(){if(Ub)return Q0;Ub=1;var e=ku(),t=Jt(),r=e("Symbol"),n=r.keyFor,u=t(r.prototype.valueOf);return Q0=r.isRegisteredSymbol||function(o){try{return n(u(o))!==void 0}catch{return!1}},Q0}var Gb;function Epe(){if(Gb)return Lb;Gb=1;var e=xt,t=Xw();return e({target:"Symbol",stat:!0},{isRegisteredSymbol:t}),Lb}var Vb={},eD,Hb;function Yw(){if(Hb)return eD;Hb=1;for(var e=Oa(),t=ku(),r=Jt(),n=mc,u=ar(),s=t("Symbol"),o=s.isWellKnownSymbol,a=t("Object","getOwnPropertyNames"),i=r(s.prototype.valueOf),c=e("wks"),l=0,p=a(s),d=p.length;lr.length)&&(n=r.length);for(var u=0,s=Array(n);u0;)n[i]=n[--i];i!==o++&&(n[i]=a)}else for(var c=t(s/2),l=r(e(n,0,c),u),p=r(e(n,c),u),d=l.length,f=p.length,h=0,y=0;h3)){if(p)return!0;if(f)return f<603;var R="",J,q,G,ee;for(J=65;J<76;J++){switch(q=String.fromCharCode(J),J){case 66:case 69:case 70:case 72:G=3;break;case 68:case 71:G=4;break;default:G=2}for(ee=0;ee<47;ee++)h.push({k:q+ee,v:G})}for(h.sort(function(K,ue){return ue.v-K.v}),ee=0;eeo(q)?1:-1}};return e({target:"Array",proto:!0,forced:T},{sort:function(J){J!==void 0&&r(J);var q=n(this);if(B)return J===void 0?y(q):y(q,J);var G=[],ee=u(q),K,ue;for(ue=0;ue>>0||(l(c,y)?16:10))}:o,xD}var Q4;function pde(){if(Q4)return K4;Q4=1;var e=xt,t=lde();return e({global:!0,forced:parseInt!==t},{parseInt:t}),K4}var RD,eS;function dde(){if(eS)return RD;eS=1,pde();var e=uu;return RD=e.parseInt,RD}var jD,tS;function fde(){if(tS)return jD;tS=1;var e=dde();return jD=e,jD}var MD,rS;function Dde(){return rS||(rS=1,MD=fde()),MD}var nS={},uS;function hde(){if(uS)return nS;uS=1;var e=xt,t=b3,r=Cw().indexOf,n=gd(),u=t([].indexOf),s=!!u&&1/u([1],1,-0)<0,o=s||!n("indexOf");return e({target:"Array",proto:!0,forced:o},{indexOf:function(i){var c=arguments.length>1?arguments[1]:void 0;return s?u(this,i,c)||0:r(this,i,c)}}),nS}var LD,sS;function mde(){if(sS)return LD;sS=1,hde();var e=ys();return LD=e("Array","indexOf"),LD}var UD,oS;function Ede(){if(oS)return UD;oS=1;var e=cn(),t=mde(),r=Array.prototype;return UD=function(n){var u=n.indexOf;return n===r||e(r,n)&&u===r.indexOf?t:u},UD}var GD,aS;function yde(){if(aS)return GD;aS=1;var e=Ede();return GD=e,GD}var VD,iS;function Ad(){return iS||(iS=1,VD=yde()),VD}var cS={},HD,lS;function vde(){if(lS)return HD;lS=1;var e=U3().forEach,t=gd(),r=t("forEach");return HD=r?[].forEach:function(u){return e(this,u,arguments.length>1?arguments[1]:void 0)},HD}var pS;function gde(){if(pS)return cS;pS=1;var e=xt,t=vde();return e({target:"Array",proto:!0,forced:[].forEach!==t},{forEach:t}),cS}var WD,dS;function Ade(){if(dS)return WD;dS=1,gde();var e=ys();return WD=e("Array","forEach"),WD}var JD,fS;function Fde(){if(fS)return JD;fS=1;var e=Ade();return JD=e,JD}var zD,DS;function Cde(){if(DS)return zD;DS=1;var e=gc(),t=Mr(),r=cn(),n=Fde(),u=Array.prototype,s={DOMTokenList:!0,NodeList:!0};return zD=function(o){var a=o.forEach;return o===u||r(u,o)&&a===u.forEach||t(s,e(o))?n:a},zD}var KD,hS;function e_(){return hS||(hS=1,KD=Cde()),KD}var mS={},ES;function bde(){if(ES)return mS;ES=1;var e=xt,t=Kr,r=yd();return e({target:"Object",stat:!0,sham:!t},{create:r}),mS}var XD,yS;function Sde(){if(yS)return XD;yS=1,bde();var e=uu,t=e.Object;return XD=function(n,u){return t.create(n,u)},XD}var YD,vS;function wde(){if(vS)return YD;vS=1;var e=Sde();return YD=e,YD}var ZD,gS;function _de(){return gS||(gS=1,ZD=wde()),ZD}var QD,AS;function Bde(){if(AS)return QD;AS=1,qw();var e=ys();return QD=e("Array","concat"),QD}var e2,FS;function Tde(){if(FS)return e2;FS=1;var e=cn(),t=Bde(),r=Array.prototype;return e2=function(n){var u=n.concat;return n===r||e(r,n)&&u===r.concat?t:u},e2}var t2,CS;function $de(){if(CS)return t2;CS=1;var e=Tde();return t2=e,t2}var r2,bS;function Fd(){return bS||(bS=1,r2=$de()),r2}var SS;function Pde(){return SS||(SS=1,function(e,t){var r=_p(),n=Ow(),u=Hw(),s=Jw(),o=Kw(),a=hs,i=ms;a(t,"__esModule",{value:!0}),t.default=void 0;var c=i(Zw()),l=i(Zpe()),p=i(ide()),d=i(_p()),f=i(Dde()),h=i(Ad()),y=i(e_()),A=i(_de()),m=i(Fd());function v(W,se){var ce=typeof u<"u"&&s(W)||W["@@iterator"];if(!ce){if(o(W)||(ce=C(W))||se){ce&&(W=ce);var k=0,S=function(){};return{s:S,n:function(){return k>=W.length?{done:!0}:{done:!1,value:W[k++]}},e:function(re){throw re},f:S}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var _=!0,x=!1,U;return{s:function(){ce=ce.call(W)},n:function(){var re=ce.next();return _=re.done,re},e:function(re){x=!0,U=re},f:function(){try{!_&&ce.return!=null&&ce.return()}finally{if(x)throw U}}}}function C(W,se){var ce;if(W){if(typeof W=="string")return B(W,se);var k=r(ce=Object.prototype.toString.call(W)).call(ce,8,-1);if(k==="Object"&&W.constructor&&(k=W.constructor.name),k==="Map"||k==="Set")return n(W);if(k==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(k))return B(W,se)}}function B(W,se){(se==null||se>W.length)&&(se=W.length);for(var ce=0,k=new Array(se);ce * Steven Levithan (c) 2007-present MIT License - */var T="xregexp",N={astral:!1,namespacing:!0},R={},J={},q={},G=[],ee="default",K="class",ue={default:/\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|\(\?(?:[:=!]|<[=!])|[?*+]\?|{\d+(?:,\d*)?}\??|[\s\S]/,class:/\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|[\s\S]/},oe=/\$(?:\{([^\}]+)\}|<([^>]+)>|(\d\d?|[\s\S]?))/g,de=/()??/.exec("")[1]===void 0,he=(0,l.default)(/x/)!==void 0;function fe(W){var se=!0;try{if(new RegExp("",W),W==="y"){var ce=function(){return"gy"}(),k=".a".replace(new RegExp("a",ce),".")==="..";k&&(se=!1)}}catch{se=!1}return se}var ge=fe("d"),pe=fe("s"),z=fe("u"),O=fe("y"),E={d:ge,g:!0,i:!0,m:!0,s:pe,u:z,y:O},F=pe?/[^dgimsuy]+/g:/[^dgimuy]+/g;function D(W,se,ce,k,S){var _;if(W[T]={captureNames:se},S)return W;if(W.__proto__)W.__proto__=le.prototype;else for(var x in le.prototype)W[x]=le.prototype[x];return W[T].source=ce,W[T].flags=k&&(0,p.default)(_=k.split("")).call(_).join(""),W}function g(W){return W.replace(/([\s\S])(?=[\s\S]*\1)/g,"")}function P(W,se){var ce;if(!le.isRegExp(W))throw new TypeError("Type RegExp expected");var k=W[T]||{},S=I(W),_="",x="",U=null,X=null;return se=se||{},se.removeG&&(x+="g"),se.removeY&&(x+="y"),x&&(S=S.replace(new RegExp("[".concat(x,"]+"),"g"),"")),se.addG&&(_+="g"),se.addY&&(_+="y"),_&&(S=g(S+_)),se.isInternalOnly||(k.source!==void 0&&(U=k.source),(0,l.default)(k)!=null&&(X=_?g((0,l.default)(k)+_):(0,l.default)(k))),W=D(new RegExp(se.source||W.source,S),$(W)?(0,d.default)(ce=k.captureNames).call(ce,0):null,U,X,se.isInternalOnly),W}function b(W){return(0,f.default)(W,16)}function w(W,se,ce){var k=W.index+W[0].length,S=W.input[W.index-1],_=W.input[k];return/^[()|]$/.test(S)||/^[()|]$/.test(_)||W.index===0||k===W.input.length||/\(\?(?:[:=!]|<[=!])$/.test(W.input.substring(W.index-4,W.index))||L(W.input,k,ce)?"":"(?:)"}function I(W){return he?(0,l.default)(W):/\/([a-z]*)$/i.exec(RegExp.prototype.toString.call(W))[1]}function $(W){return!!(W[T]&&W[T].captureNames)}function M(W){return(0,f.default)(W,10).toString(16)}function L(W,se,ce){var k=(0,h.default)(ce).call(ce,"x")!==-1?/^(?:\s|#[^#\n]*|\(\?#[^)]*\))*(?:[?*+]|{\d+(?:,\d*)?})/:/^(?:\(\?#[^)]*\))*(?:[?*+]|{\d+(?:,\d*)?})/;return k.test((0,d.default)(W).call(W,se))}function Y(W,se){return Object.prototype.toString.call(W)==="[object ".concat(se,"]")}function be(W){if(W==null)throw new TypeError("Cannot convert null or undefined to object");return W}function Ne(W){for(;W.length<4;)W="0".concat(W);return W}function Ve(W,se){if(g(se)!==se)throw new SyntaxError("Invalid duplicate regex flag ".concat(se));W=W.replace(/^\(\?([\w$]+)\)/,function(_,x){if(/[dgy]/.test(x))throw new SyntaxError("Cannot use flags dgy in mode modifier ".concat(_));return se=g(se+x),""});var ce=v(se),k;try{for(ce.s();!(k=ce.n()).done;){var S=k.value;if(!E[S])throw new SyntaxError("Unknown regex flag ".concat(S))}}catch(_){ce.e(_)}finally{ce.f()}return{pattern:W,flags:se}}function Me(W){var se={};return Y(W,"String")?((0,y.default)(le).call(le,W,/[^\s,]+/,function(ce){se[ce]=!0}),se):W}function Fe(W){if(!/^[\w$]$/.test(W))throw new Error("Flag must be a single character A-Za-z0-9_$");E[W]=!0}function qe(W,se,ce,k,S){for(var _=G.length,x=W[ce],U=null,X,re;_--;)if(re=G[_],!(re.leadChar&&re.leadChar!==x||re.scope!==k&&re.scope!=="all"||re.flag&&(0,h.default)(se).call(se,re.flag)===-1)&&(X=le.exec(W,re.regex,ce,"sticky"),X)){U={matchLength:X[0].length,output:re.handler.call(S,X,k,se),reparse:re.reparse};break}return U}function Pe(W){N.astral=W}function Be(W){N.namespacing=W}function le(W,se){if(le.isRegExp(W)){if(se!==void 0)throw new TypeError("Cannot supply flags when copying a RegExp");return P(W)}if(W=W===void 0?"":String(W),se=se===void 0?"":String(se),le.isInstalled("astral")&&(0,h.default)(se).call(se,"A")===-1&&(se+="A"),q[W]||(q[W]={}),!q[W][se]){for(var ce={hasNamedCapture:!1,captureNames:[]},k=ee,S="",_=0,x,U=Ve(W,se),X=U.pattern,re=(0,l.default)(U);_")}else if(xn)return"\\".concat(+xn+_);return Ke}if(!(Y(W,"Array")&&W.length))throw new TypeError("Must provide a nonempty array of patterns to merge");var X=/(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*\]/g,re=[],ve=v(W),Se;try{for(ve.s();!(Se=ve.n()).done;){var Oe=Se.value;le.isRegExp(Oe)?(_=S,x=Oe[T]&&Oe[T].captureNames||[],re.push(le(Oe.source).source.replace(X,U))):re.push(le.escape(Oe))}}catch(Ke){ve.e(Ke)}finally{ve.f()}var Ie=k==="none"?"":"|";return le(re.join(Ie),se)},R.exec=function(W){var se=this.lastIndex,ce=RegExp.prototype.exec.apply(this,arguments);if(ce){if(!de&&ce.length>1&&(0,h.default)(ce).call(ce,"")!==-1){var k,S=P(this,{removeG:!0,isInternalOnly:!0});(0,d.default)(k=String(W)).call(k,ce.index).replace(S,function(){for(var X=arguments.length,re=1;rece.index&&(this.lastIndex=ce.index)}return this.global||(this.lastIndex=se),ce},R.test=function(W){return!!R.exec.call(this,W)},R.match=function(W){if(!le.isRegExp(W))W=new RegExp(W);else if(W.global){var se=String.prototype.match.apply(this,arguments);return W.lastIndex=0,se}return R.exec.call(W,be(this))},R.replace=function(W,se){var ce=le.isRegExp(W),k,S,_;return ce?(W[T]&&(S=W[T].captureNames),k=W.lastIndex):W+="",Y(se,"Function")?_=String(this).replace(W,function(){for(var x=arguments.length,U=new Array(x),X=0;XCr)throw new SyntaxError("Backreference to undefined group ".concat(ve));return U[Ie]||""}throw new SyntaxError("Invalid token ".concat(ve))}}),ce&&(W.global?W.lastIndex=0:W.lastIndex=k),_},R.split=function(W,se){if(!le.isRegExp(W))return String.prototype.split.apply(this,arguments);var ce=String(this),k=[],S=W.lastIndex,_=0,x;return se=(se===void 0?-1:se)>>>0,(0,y.default)(le).call(le,ce,W,function(U){U.index+U[0].length>_&&(k.push((0,d.default)(ce).call(ce,_,U.index)),U.length>1&&U.indexse?(0,d.default)(k).call(k,0,se):k},le.addToken(/\\([ABCE-RTUVXYZaeg-mopqyz]|c(?![A-Za-z])|u(?![\dA-Fa-f]{4}|{[\dA-Fa-f]+})|x(?![\dA-Fa-f]{2}))/,function(W,se){if(W[1]==="B"&&se===ee)return W[0];throw new SyntaxError("Invalid escape ".concat(W[0]))},{scope:"all",leadChar:"\\"}),le.addToken(/\\u{([\dA-Fa-f]+)}/,function(W,se,ce){var k=b(W[1]);if(k>1114111)throw new SyntaxError("Invalid Unicode code point ".concat(W[0]));if(k<=65535)return"\\u".concat(Ne(M(k)));if(z&&(0,h.default)(ce).call(ce,"u")!==-1)return W[0];throw new SyntaxError("Cannot use Unicode code point above \\u{FFFF} without flag u")},{scope:"all",leadChar:"\\"}),le.addToken(/\(\?#[^)]*\)/,w,{leadChar:"("}),le.addToken(/\s+|#[^\n]*\n?/,w,{flag:"x"}),pe||le.addToken(/\./,function(){return"[\\s\\S]"},{flag:"s",leadChar:"."}),le.addToken(/\\k<([^>]+)>/,function(W){var se,ce,k=isNaN(W[1])?(0,h.default)(se=this.captureNames).call(se,W[1])+1:+W[1],S=W.index+W[0].length;if(!k||k>this.captureNames.length)throw new SyntaxError("Backreference to undefined group ".concat(W[0]));return(0,m.default)(ce="\\".concat(k)).call(ce,S===W.input.length||isNaN(W.input[S])?"":"(?:)")},{leadChar:"\\"}),le.addToken(/\\(\d+)/,function(W,se){if(!(se===ee&&/^[1-9]/.test(W[1])&&+W[1]<=this.captureNames.length)&&W[1]!=="0")throw new SyntaxError("Cannot use octal escape or backreference to undefined group ".concat(W[0]));return W[0]},{scope:"all",leadChar:"\\"}),le.addToken(/\(\?P?<((?:[\$A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])(?:[\$0-9A-Z_a-z\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05EF-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u07FD\u0800-\u082D\u0840-\u085B\u0860-\u086A\u0870-\u0887\u0889-\u088E\u0898-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u09FE\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3C-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C5D\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDD\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D81-\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1715\u171F-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u1820-\u1878\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B4C\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CD0-\u1CD2\u1CD4-\u1CFA\u1D00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA827\uA82C\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD27\uDD30-\uDD39\uDE80-\uDEA9\uDEAB\uDEAC\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF50\uDF70-\uDF85\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC00-\uDC46\uDC66-\uDC75\uDC7F-\uDCBA\uDCC2\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD44-\uDD47\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDC9-\uDDCC\uDDCE-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3B-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC5E-\uDC61\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF1D-\uDF2B\uDF30-\uDF39\uDF40-\uDF46]|\uD806[\uDC00-\uDC3A\uDCA0-\uDCE9\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD35\uDD37\uDD38\uDD3B-\uDD43\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD7\uDDDA-\uDDE1\uDDE3\uDDE4\uDE00-\uDE3E\uDE47\uDE50-\uDE99\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD8E\uDD90\uDD91\uDD93-\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF6\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF4F-\uDF87\uDF8F-\uDF9F\uDFE0\uDFE1\uDFE3\uDFE4\uDFF0\uDFF1]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD837[\uDF00-\uDF1E]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD00-\uDD2C\uDD30-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAE\uDEC0-\uDEF9]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4B\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A]|\uDB40[\uDD00-\uDDEF])*)>/,function(W){var se;if(!le.isInstalled("namespacing")&&(W[1]==="length"||W[1]==="__proto__"))throw new SyntaxError("Cannot use reserved word as capture name ".concat(W[0]));if((0,h.default)(se=this.captureNames).call(se,W[1])!==-1)throw new SyntaxError("Cannot use same name for multiple groups ".concat(W[0]));return this.captureNames.push(W[1]),this.hasNamedCapture=!0,"("},{leadChar:"("}),le.addToken(/\((?!\?)/,function(W,se,ce){return(0,h.default)(ce).call(ce,"n")!==-1?"(?:":(this.captureNames.push(null),"(")},{optionalFlags:"n",leadChar:"("});var Te=le;t.default=Te,e.exports=t.default}(Dl,Dl.exports)),Dl.exports}var hl={exports:{}},bS={},r2,SS;function Pde(){if(SS)return r2;SS=1;var e=ka,t=Ou(),r=w3(),n=Es(),u=TypeError,s="Reduce of empty array with no initial value",o=function(a){return function(i,c,l,p){var d=t(i),f=r(d),h=n(d);if(e(c),h===0&&l<2)throw new u(s);var y=a?h-1:0,A=a?-1:1;if(l<2)for(;;){if(y in f){p=f[y],y+=A;break}if(y+=A,a?y<0:h<=y)throw new u(s)}for(;a?y>=0:h>y;y+=A)y in f&&(p=c(p,f[y],y,d));return p}};return r2={left:o(!1),right:o(!0)},r2}var n2,wS;function kde(){if(wS)return n2;wS=1;var e=hr(),t=Dc(),r=uo(),n=function(u){return t.slice(0,u.length)===u};return n2=function(){return n("Bun/")?"BUN":n("Cloudflare-Workers")?"CLOUDFLARE":n("Deno/")?"DENO":n("Node.js/")?"NODE":e.Bun&&typeof Bun.version=="string"?"BUN":e.Deno&&typeof Deno.version=="object"?"DENO":r(e.process)==="process"?"NODE":e.window&&e.document?"BROWSER":"REST"}(),n2}var u2,_S;function Ode(){if(_S)return u2;_S=1;var e=kde();return u2=e==="NODE",u2}var BS;function Ide(){if(BS)return bS;BS=1;var e=xt,t=Pde().left,r=gd(),n=hc(),u=Ode(),s=!u&&n>79&&n<83,o=s||!r("reduce");return e({target:"Array",proto:!0,forced:o},{reduce:function(i){var c=arguments.length;return t(this,i,c,c>1?arguments[1]:void 0)}}),bS}var s2,TS;function Nde(){if(TS)return s2;TS=1,Ide();var e=ys();return s2=e("Array","reduce"),s2}var o2,$S;function qde(){if($S)return o2;$S=1;var e=cn(),t=Nde(),r=Array.prototype;return o2=function(n){var u=n.reduce;return n===r||e(r,n)&&u===r.reduce?t:u},o2}var a2,PS;function xde(){if(PS)return a2;PS=1;var e=qde();return a2=e,a2}var i2,kS;function Rde(){return kS||(kS=1,i2=xde()),i2}var OS={},IS;function jde(){if(IS)return OS;IS=1;var e=xt,t=L3().map,r=x3(),n=r("map");return e({target:"Array",proto:!0,forced:!n},{map:function(s){return t(this,s,arguments.length>1?arguments[1]:void 0)}}),OS}var c2,NS;function Mde(){if(NS)return c2;NS=1,jde();var e=ys();return c2=e("Array","map"),c2}var l2,qS;function Lde(){if(qS)return l2;qS=1;var e=cn(),t=Mde(),r=Array.prototype;return l2=function(n){var u=n.map;return n===r||e(r,n)&&u===r.map?t:u},l2}var p2,xS;function Ude(){if(xS)return p2;xS=1;var e=Lde();return p2=e,p2}var d2,RS;function Gde(){return RS||(RS=1,d2=Ude()),d2}var jS;function Vde(){return jS||(jS=1,function(e,t){var r=hs,n=ms;r(t,"__esModule",{value:!0}),t.default=void 0;var u=n(Rde()),s=n(Gde()),o=n(Ad()),a=n(Fd());/*! + */var T="xregexp",N={astral:!1,namespacing:!0},R={},J={},q={},G=[],ee="default",K="class",ue={default:/\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|\(\?(?:[:=!]|<[=!])|[?*+]\?|{\d+(?:,\d*)?}\??|[\s\S]/,class:/\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|[\s\S]/},oe=/\$(?:\{([^\}]+)\}|<([^>]+)>|(\d\d?|[\s\S]?))/g,de=/()??/.exec("")[1]===void 0,he=(0,l.default)(/x/)!==void 0;function fe(W){var se=!0;try{if(new RegExp("",W),W==="y"){var ce=function(){return"gy"}(),k=".a".replace(new RegExp("a",ce),".")==="..";k&&(se=!1)}}catch{se=!1}return se}var ge=fe("d"),pe=fe("s"),z=fe("u"),O=fe("y"),E={d:ge,g:!0,i:!0,m:!0,s:pe,u:z,y:O},F=pe?/[^dgimsuy]+/g:/[^dgimuy]+/g;function D(W,se,ce,k,S){var _;if(W[T]={captureNames:se},S)return W;if(W.__proto__)W.__proto__=le.prototype;else for(var x in le.prototype)W[x]=le.prototype[x];return W[T].source=ce,W[T].flags=k&&(0,p.default)(_=k.split("")).call(_).join(""),W}function g(W){return W.replace(/([\s\S])(?=[\s\S]*\1)/g,"")}function P(W,se){var ce;if(!le.isRegExp(W))throw new TypeError("Type RegExp expected");var k=W[T]||{},S=I(W),_="",x="",U=null,X=null;return se=se||{},se.removeG&&(x+="g"),se.removeY&&(x+="y"),x&&(S=S.replace(new RegExp("[".concat(x,"]+"),"g"),"")),se.addG&&(_+="g"),se.addY&&(_+="y"),_&&(S=g(S+_)),se.isInternalOnly||(k.source!==void 0&&(U=k.source),(0,l.default)(k)!=null&&(X=_?g((0,l.default)(k)+_):(0,l.default)(k))),W=D(new RegExp(se.source||W.source,S),$(W)?(0,d.default)(ce=k.captureNames).call(ce,0):null,U,X,se.isInternalOnly),W}function b(W){return(0,f.default)(W,16)}function w(W,se,ce){var k=W.index+W[0].length,S=W.input[W.index-1],_=W.input[k];return/^[()|]$/.test(S)||/^[()|]$/.test(_)||W.index===0||k===W.input.length||/\(\?(?:[:=!]|<[=!])$/.test(W.input.substring(W.index-4,W.index))||L(W.input,k,ce)?"":"(?:)"}function I(W){return he?(0,l.default)(W):/\/([a-z]*)$/i.exec(RegExp.prototype.toString.call(W))[1]}function $(W){return!!(W[T]&&W[T].captureNames)}function M(W){return(0,f.default)(W,10).toString(16)}function L(W,se,ce){var k=(0,h.default)(ce).call(ce,"x")!==-1?/^(?:\s|#[^#\n]*|\(\?#[^)]*\))*(?:[?*+]|{\d+(?:,\d*)?})/:/^(?:\(\?#[^)]*\))*(?:[?*+]|{\d+(?:,\d*)?})/;return k.test((0,d.default)(W).call(W,se))}function Y(W,se){return Object.prototype.toString.call(W)==="[object ".concat(se,"]")}function be(W){if(W==null)throw new TypeError("Cannot convert null or undefined to object");return W}function Ne(W){for(;W.length<4;)W="0".concat(W);return W}function Ve(W,se){if(g(se)!==se)throw new SyntaxError("Invalid duplicate regex flag ".concat(se));W=W.replace(/^\(\?([\w$]+)\)/,function(_,x){if(/[dgy]/.test(x))throw new SyntaxError("Cannot use flags dgy in mode modifier ".concat(_));return se=g(se+x),""});var ce=v(se),k;try{for(ce.s();!(k=ce.n()).done;){var S=k.value;if(!E[S])throw new SyntaxError("Unknown regex flag ".concat(S))}}catch(_){ce.e(_)}finally{ce.f()}return{pattern:W,flags:se}}function Me(W){var se={};return Y(W,"String")?((0,y.default)(le).call(le,W,/[^\s,]+/,function(ce){se[ce]=!0}),se):W}function Fe(W){if(!/^[\w$]$/.test(W))throw new Error("Flag must be a single character A-Za-z0-9_$");E[W]=!0}function qe(W,se,ce,k,S){for(var _=G.length,x=W[ce],U=null,X,re;_--;)if(re=G[_],!(re.leadChar&&re.leadChar!==x||re.scope!==k&&re.scope!=="all"||re.flag&&(0,h.default)(se).call(se,re.flag)===-1)&&(X=le.exec(W,re.regex,ce,"sticky"),X)){U={matchLength:X[0].length,output:re.handler.call(S,X,k,se),reparse:re.reparse};break}return U}function Pe(W){N.astral=W}function Be(W){N.namespacing=W}function le(W,se){if(le.isRegExp(W)){if(se!==void 0)throw new TypeError("Cannot supply flags when copying a RegExp");return P(W)}if(W=W===void 0?"":String(W),se=se===void 0?"":String(se),le.isInstalled("astral")&&(0,h.default)(se).call(se,"A")===-1&&(se+="A"),q[W]||(q[W]={}),!q[W][se]){for(var ce={hasNamedCapture:!1,captureNames:[]},k=ee,S="",_=0,x,U=Ve(W,se),X=U.pattern,re=(0,l.default)(U);_")}else if(xn)return"\\".concat(+xn+_);return Ke}if(!(Y(W,"Array")&&W.length))throw new TypeError("Must provide a nonempty array of patterns to merge");var X=/(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*\]/g,re=[],ve=v(W),Se;try{for(ve.s();!(Se=ve.n()).done;){var Oe=Se.value;le.isRegExp(Oe)?(_=S,x=Oe[T]&&Oe[T].captureNames||[],re.push(le(Oe.source).source.replace(X,U))):re.push(le.escape(Oe))}}catch(Ke){ve.e(Ke)}finally{ve.f()}var Ie=k==="none"?"":"|";return le(re.join(Ie),se)},R.exec=function(W){var se=this.lastIndex,ce=RegExp.prototype.exec.apply(this,arguments);if(ce){if(!de&&ce.length>1&&(0,h.default)(ce).call(ce,"")!==-1){var k,S=P(this,{removeG:!0,isInternalOnly:!0});(0,d.default)(k=String(W)).call(k,ce.index).replace(S,function(){for(var X=arguments.length,re=1;rece.index&&(this.lastIndex=ce.index)}return this.global||(this.lastIndex=se),ce},R.test=function(W){return!!R.exec.call(this,W)},R.match=function(W){if(!le.isRegExp(W))W=new RegExp(W);else if(W.global){var se=String.prototype.match.apply(this,arguments);return W.lastIndex=0,se}return R.exec.call(W,be(this))},R.replace=function(W,se){var ce=le.isRegExp(W),k,S,_;return ce?(W[T]&&(S=W[T].captureNames),k=W.lastIndex):W+="",Y(se,"Function")?_=String(this).replace(W,function(){for(var x=arguments.length,U=new Array(x),X=0;XCr)throw new SyntaxError("Backreference to undefined group ".concat(ve));return U[Ie]||""}throw new SyntaxError("Invalid token ".concat(ve))}}),ce&&(W.global?W.lastIndex=0:W.lastIndex=k),_},R.split=function(W,se){if(!le.isRegExp(W))return String.prototype.split.apply(this,arguments);var ce=String(this),k=[],S=W.lastIndex,_=0,x;return se=(se===void 0?-1:se)>>>0,(0,y.default)(le).call(le,ce,W,function(U){U.index+U[0].length>_&&(k.push((0,d.default)(ce).call(ce,_,U.index)),U.length>1&&U.indexse?(0,d.default)(k).call(k,0,se):k},le.addToken(/\\([ABCE-RTUVXYZaeg-mopqyz]|c(?![A-Za-z])|u(?![\dA-Fa-f]{4}|{[\dA-Fa-f]+})|x(?![\dA-Fa-f]{2}))/,function(W,se){if(W[1]==="B"&&se===ee)return W[0];throw new SyntaxError("Invalid escape ".concat(W[0]))},{scope:"all",leadChar:"\\"}),le.addToken(/\\u{([\dA-Fa-f]+)}/,function(W,se,ce){var k=b(W[1]);if(k>1114111)throw new SyntaxError("Invalid Unicode code point ".concat(W[0]));if(k<=65535)return"\\u".concat(Ne(M(k)));if(z&&(0,h.default)(ce).call(ce,"u")!==-1)return W[0];throw new SyntaxError("Cannot use Unicode code point above \\u{FFFF} without flag u")},{scope:"all",leadChar:"\\"}),le.addToken(/\(\?#[^)]*\)/,w,{leadChar:"("}),le.addToken(/\s+|#[^\n]*\n?/,w,{flag:"x"}),pe||le.addToken(/\./,function(){return"[\\s\\S]"},{flag:"s",leadChar:"."}),le.addToken(/\\k<([^>]+)>/,function(W){var se,ce,k=isNaN(W[1])?(0,h.default)(se=this.captureNames).call(se,W[1])+1:+W[1],S=W.index+W[0].length;if(!k||k>this.captureNames.length)throw new SyntaxError("Backreference to undefined group ".concat(W[0]));return(0,m.default)(ce="\\".concat(k)).call(ce,S===W.input.length||isNaN(W.input[S])?"":"(?:)")},{leadChar:"\\"}),le.addToken(/\\(\d+)/,function(W,se){if(!(se===ee&&/^[1-9]/.test(W[1])&&+W[1]<=this.captureNames.length)&&W[1]!=="0")throw new SyntaxError("Cannot use octal escape or backreference to undefined group ".concat(W[0]));return W[0]},{scope:"all",leadChar:"\\"}),le.addToken(/\(\?P?<((?:[\$A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])(?:[\$0-9A-Z_a-z\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05EF-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u07FD\u0800-\u082D\u0840-\u085B\u0860-\u086A\u0870-\u0887\u0889-\u088E\u0898-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u09FE\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3C-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C5D\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDD\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D81-\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1715\u171F-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u1820-\u1878\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B4C\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CD0-\u1CD2\u1CD4-\u1CFA\u1D00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA827\uA82C\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD27\uDD30-\uDD39\uDE80-\uDEA9\uDEAB\uDEAC\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF50\uDF70-\uDF85\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC00-\uDC46\uDC66-\uDC75\uDC7F-\uDCBA\uDCC2\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD44-\uDD47\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDC9-\uDDCC\uDDCE-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3B-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC5E-\uDC61\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF1D-\uDF2B\uDF30-\uDF39\uDF40-\uDF46]|\uD806[\uDC00-\uDC3A\uDCA0-\uDCE9\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD35\uDD37\uDD38\uDD3B-\uDD43\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD7\uDDDA-\uDDE1\uDDE3\uDDE4\uDE00-\uDE3E\uDE47\uDE50-\uDE99\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD8E\uDD90\uDD91\uDD93-\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF6\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF4F-\uDF87\uDF8F-\uDF9F\uDFE0\uDFE1\uDFE3\uDFE4\uDFF0\uDFF1]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD837[\uDF00-\uDF1E]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD00-\uDD2C\uDD30-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAE\uDEC0-\uDEF9]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4B\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A]|\uDB40[\uDD00-\uDDEF])*)>/,function(W){var se;if(!le.isInstalled("namespacing")&&(W[1]==="length"||W[1]==="__proto__"))throw new SyntaxError("Cannot use reserved word as capture name ".concat(W[0]));if((0,h.default)(se=this.captureNames).call(se,W[1])!==-1)throw new SyntaxError("Cannot use same name for multiple groups ".concat(W[0]));return this.captureNames.push(W[1]),this.hasNamedCapture=!0,"("},{leadChar:"("}),le.addToken(/\((?!\?)/,function(W,se,ce){return(0,h.default)(ce).call(ce,"n")!==-1?"(?:":(this.captureNames.push(null),"(")},{optionalFlags:"n",leadChar:"("});var Te=le;t.default=Te,e.exports=t.default}(Dl,Dl.exports)),Dl.exports}var hl={exports:{}},wS={},n2,_S;function kde(){if(_S)return n2;_S=1;var e=ka,t=Ou(),r=_3(),n=Es(),u=TypeError,s="Reduce of empty array with no initial value",o=function(a){return function(i,c,l,p){var d=t(i),f=r(d),h=n(d);if(e(c),h===0&&l<2)throw new u(s);var y=a?h-1:0,A=a?-1:1;if(l<2)for(;;){if(y in f){p=f[y],y+=A;break}if(y+=A,a?y<0:h<=y)throw new u(s)}for(;a?y>=0:h>y;y+=A)y in f&&(p=c(p,f[y],y,d));return p}};return n2={left:o(!1),right:o(!0)},n2}var u2,BS;function Ode(){if(BS)return u2;BS=1;var e=hr(),t=Dc(),r=uo(),n=function(u){return t.slice(0,u.length)===u};return u2=function(){return n("Bun/")?"BUN":n("Cloudflare-Workers")?"CLOUDFLARE":n("Deno/")?"DENO":n("Node.js/")?"NODE":e.Bun&&typeof Bun.version=="string"?"BUN":e.Deno&&typeof Deno.version=="object"?"DENO":r(e.process)==="process"?"NODE":e.window&&e.document?"BROWSER":"REST"}(),u2}var s2,TS;function Ide(){if(TS)return s2;TS=1;var e=Ode();return s2=e==="NODE",s2}var $S;function Nde(){if($S)return wS;$S=1;var e=xt,t=kde().left,r=gd(),n=hc(),u=Ide(),s=!u&&n>79&&n<83,o=s||!r("reduce");return e({target:"Array",proto:!0,forced:o},{reduce:function(i){var c=arguments.length;return t(this,i,c,c>1?arguments[1]:void 0)}}),wS}var o2,PS;function qde(){if(PS)return o2;PS=1,Nde();var e=ys();return o2=e("Array","reduce"),o2}var a2,kS;function xde(){if(kS)return a2;kS=1;var e=cn(),t=qde(),r=Array.prototype;return a2=function(n){var u=n.reduce;return n===r||e(r,n)&&u===r.reduce?t:u},a2}var i2,OS;function Rde(){if(OS)return i2;OS=1;var e=xde();return i2=e,i2}var c2,IS;function jde(){return IS||(IS=1,c2=Rde()),c2}var NS={},qS;function Mde(){if(qS)return NS;qS=1;var e=xt,t=U3().map,r=R3(),n=r("map");return e({target:"Array",proto:!0,forced:!n},{map:function(s){return t(this,s,arguments.length>1?arguments[1]:void 0)}}),NS}var l2,xS;function Lde(){if(xS)return l2;xS=1,Mde();var e=ys();return l2=e("Array","map"),l2}var p2,RS;function Ude(){if(RS)return p2;RS=1;var e=cn(),t=Lde(),r=Array.prototype;return p2=function(n){var u=n.map;return n===r||e(r,n)&&u===r.map?t:u},p2}var d2,jS;function Gde(){if(jS)return d2;jS=1;var e=Ude();return d2=e,d2}var f2,MS;function Vde(){return MS||(MS=1,f2=Gde()),f2}var LS;function Hde(){return LS||(LS=1,function(e,t){var r=hs,n=ms;r(t,"__esModule",{value:!0}),t.default=void 0;var u=n(jde()),s=n(Vde()),o=n(Ad()),a=n(Fd());/*! * XRegExp.build 5.1.1 * * Steven Levithan (c) 2012-present MIT License - */var i=function(l){var p="xregexp",d=/(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*\]/g,f=l.union([/\({{([\w$]+)}}\)|{{([\w$]+)}}/,d],"g",{conjunction:"or"});function h(C){var B=/^(?:\(\?:\))*\^/,T=/\$(?:\(\?:\))*$/;return B.test(C)&&T.test(C)&&T.test(C.replace(/\\[\s\S]/g,""))?C.replace(B,"").replace(T,""):C}function y(C,B){var T=B?"x":"";return l.isRegExp(C)?C[p]&&C[p].captureNames?C:l(C.source,T):l(C,T)}function A(C){return C instanceof RegExp?C:l.escape(C)}function m(C,B,T){return C["subpattern".concat(T)]=B,C}function v(C,B,T){var N=B1?R-1:0),q=1;q")):g="(?:",ue=K;var w=J[F].pattern.replace(d,function(I,$,M){if($){if(D=J[F].names[K-ue],++K,D)return"(?<".concat(D,">")}else if(M)return P=+M-1,J[F].names[P]?"\\k<".concat(J[F].names[P],">"):"\\".concat(+M+ue);return I});return(0,a.default)(b="".concat(g)).call(b,w,")")}if(O){if(D=he[oe],de[++oe]=++K,D)return"(?<".concat(D,">")}else if(E)return P=+E-1,he[P]?"\\k<".concat(he[P],">"):"\\".concat(de[+E]);return ge});return l(fe,T)}};t.default=i,e.exports=t.default}(hl,hl.exports)),hl.exports}var ml={exports:{}},MS;function Hde(){return MS||(MS=1,function(e,t){var r=hs,n=ms;r(t,"__esModule",{value:!0}),t.default=void 0;var u=n(Ad()),s=n(Fd()),o=n(_p());/*! + */var i=function(l){var p="xregexp",d=/(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*\]/g,f=l.union([/\({{([\w$]+)}}\)|{{([\w$]+)}}/,d],"g",{conjunction:"or"});function h(C){var B=/^(?:\(\?:\))*\^/,T=/\$(?:\(\?:\))*$/;return B.test(C)&&T.test(C)&&T.test(C.replace(/\\[\s\S]/g,""))?C.replace(B,"").replace(T,""):C}function y(C,B){var T=B?"x":"";return l.isRegExp(C)?C[p]&&C[p].captureNames?C:l(C.source,T):l(C,T)}function A(C){return C instanceof RegExp?C:l.escape(C)}function m(C,B,T){return C["subpattern".concat(T)]=B,C}function v(C,B,T){var N=B1?R-1:0),q=1;q")):g="(?:",ue=K;var w=J[F].pattern.replace(d,function(I,$,M){if($){if(D=J[F].names[K-ue],++K,D)return"(?<".concat(D,">")}else if(M)return P=+M-1,J[F].names[P]?"\\k<".concat(J[F].names[P],">"):"\\".concat(+M+ue);return I});return(0,a.default)(b="".concat(g)).call(b,w,")")}if(O){if(D=he[oe],de[++oe]=++K,D)return"(?<".concat(D,">")}else if(E)return P=+E-1,he[P]?"\\k<".concat(he[P],">"):"\\".concat(de[+E]);return ge});return l(fe,T)}};t.default=i,e.exports=t.default}(hl,hl.exports)),hl.exports}var ml={exports:{}},US;function Wde(){return US||(US=1,function(e,t){var r=hs,n=ms;r(t,"__esModule",{value:!0}),t.default=void 0;var u=n(Ad()),s=n(Fd()),o=n(_p());/*! * XRegExp.matchRecursive 5.1.1 * * Steven Levithan (c) 2009-present MIT License - */var a=function(c){function l(p,d,f,h){return{name:p,value:d,start:f,end:h}}c.matchRecursive=function(p,d,f,h,y){h=h||"",y=y||{};var A=(0,u.default)(h).call(h,"g")!==-1,m=(0,u.default)(h).call(h,"y")!==-1,v=h.replace(/y/g,"");d=c(d,v),f=c(f,v);var C,B=y,T=B.escapeChar;if(T){var N,R;if(T.length>1)throw new Error("Cannot use more than one escape character");T=c.escape(T),C=new RegExp((0,s.default)(N=(0,s.default)(R="(?:".concat(T,"[\\S\\s]|(?:(?!")).call(R,c.union([d,f],"",{conjunction:"or"}).source,")[^")).call(N,T,"])+)+"),h.replace(c._hasNativeFlag("s")?/[^imsu]/g:/[^imu]/g,""))}for(var J=0,q=0,G=0,ee=0,K,ue,oe,de,he=y.valueNames,fe=[];;){if(T&&(G+=(c.exec(p,C,G,"sticky")||[""])[0].length),oe=c.exec(p,d,G),de=c.exec(p,f,G),oe&&de&&(oe.index<=de.index?de=null:oe=null),oe||de)q=(oe||de).index,G=q+(oe||de)[0].length;else if(!J)break;if(m&&!J&&q>ee)break;if(oe)J||(K=q,ue=G),J+=1;else if(de&&J){if(J-=1,!J&&(he?(he[0]&&K>ee&&fe.push(l(he[0],(0,o.default)(p).call(p,ee,K),ee,K)),he[1]&&fe.push(l(he[1],(0,o.default)(p).call(p,K,ue),K,ue)),he[2]&&fe.push(l(he[2],(0,o.default)(p).call(p,ue,q),ue,q)),he[3]&&fe.push(l(he[3],(0,o.default)(p).call(p,q,G),q,G))):fe.push((0,o.default)(p).call(p,ue,q)),ee=G,!A))break}else{var ge=y.unbalanced||"error";if(ge==="skip"||ge==="skip-lazy")if(de)de=null;else{if(ge==="skip"){var pe=c.exec(p,d,K,"sticky")[0].length;G=K+(pe||1)}else G=K+1;J=0}else if(ge==="error"){var z,O=de?"right":"left",E=de?q:K;throw new Error((0,s.default)(z="Unbalanced ".concat(O," delimiter found in string at position ")).call(z,E))}else throw new Error("Unsupported value for unbalanced: ".concat(ge))}q===G&&(G+=1)}return A&&fe.length>0&&!m&&he&&he[0]&&p.length>ee&&fe.push(l(he[0],(0,o.default)(p).call(p,ee),ee,p.length)),fe}};t.default=a,e.exports=t.default}(ml,ml.exports)),ml.exports}var El={exports:{}},LS;function Wde(){return LS||(LS=1,function(e,t){var r=_p(),n=Pw(),u=Gw(),s=Hw(),o=Jw(),a=hs,i=ms;a(t,"__esModule",{value:!0}),t.default=void 0;var c=i(Xw()),l=i(Zw()),p=i(Fd()),d=i(Ad());function f(m,v){var C=typeof u<"u"&&s(m)||m["@@iterator"];if(!C){if(o(m)||(C=h(m))||v){C&&(m=C);var B=0,T=function(){};return{s:T,n:function(){return B>=m.length?{done:!0}:{done:!1,value:m[B++]}},e:function(G){throw G},f:T}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. + */var a=function(c){function l(p,d,f,h){return{name:p,value:d,start:f,end:h}}c.matchRecursive=function(p,d,f,h,y){h=h||"",y=y||{};var A=(0,u.default)(h).call(h,"g")!==-1,m=(0,u.default)(h).call(h,"y")!==-1,v=h.replace(/y/g,"");d=c(d,v),f=c(f,v);var C,B=y,T=B.escapeChar;if(T){var N,R;if(T.length>1)throw new Error("Cannot use more than one escape character");T=c.escape(T),C=new RegExp((0,s.default)(N=(0,s.default)(R="(?:".concat(T,"[\\S\\s]|(?:(?!")).call(R,c.union([d,f],"",{conjunction:"or"}).source,")[^")).call(N,T,"])+)+"),h.replace(c._hasNativeFlag("s")?/[^imsu]/g:/[^imu]/g,""))}for(var J=0,q=0,G=0,ee=0,K,ue,oe,de,he=y.valueNames,fe=[];;){if(T&&(G+=(c.exec(p,C,G,"sticky")||[""])[0].length),oe=c.exec(p,d,G),de=c.exec(p,f,G),oe&&de&&(oe.index<=de.index?de=null:oe=null),oe||de)q=(oe||de).index,G=q+(oe||de)[0].length;else if(!J)break;if(m&&!J&&q>ee)break;if(oe)J||(K=q,ue=G),J+=1;else if(de&&J){if(J-=1,!J&&(he?(he[0]&&K>ee&&fe.push(l(he[0],(0,o.default)(p).call(p,ee,K),ee,K)),he[1]&&fe.push(l(he[1],(0,o.default)(p).call(p,K,ue),K,ue)),he[2]&&fe.push(l(he[2],(0,o.default)(p).call(p,ue,q),ue,q)),he[3]&&fe.push(l(he[3],(0,o.default)(p).call(p,q,G),q,G))):fe.push((0,o.default)(p).call(p,ue,q)),ee=G,!A))break}else{var ge=y.unbalanced||"error";if(ge==="skip"||ge==="skip-lazy")if(de)de=null;else{if(ge==="skip"){var pe=c.exec(p,d,K,"sticky")[0].length;G=K+(pe||1)}else G=K+1;J=0}else if(ge==="error"){var z,O=de?"right":"left",E=de?q:K;throw new Error((0,s.default)(z="Unbalanced ".concat(O," delimiter found in string at position ")).call(z,E))}else throw new Error("Unsupported value for unbalanced: ".concat(ge))}q===G&&(G+=1)}return A&&fe.length>0&&!m&&he&&he[0]&&p.length>ee&&fe.push(l(he[0],(0,o.default)(p).call(p,ee),ee,p.length)),fe}};t.default=a,e.exports=t.default}(ml,ml.exports)),ml.exports}var El={exports:{}},GS;function Jde(){return GS||(GS=1,function(e,t){var r=_p(),n=Ow(),u=Hw(),s=Jw(),o=Kw(),a=hs,i=ms;a(t,"__esModule",{value:!0}),t.default=void 0;var c=i(Zw()),l=i(e_()),p=i(Fd()),d=i(Ad());function f(m,v){var C=typeof u<"u"&&s(m)||m["@@iterator"];if(!C){if(o(m)||(C=h(m))||v){C&&(m=C);var B=0,T=function(){};return{s:T,n:function(){return B>=m.length?{done:!0}:{done:!1,value:m[B++]}},e:function(G){throw G},f:T}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var N=!0,R=!1,J;return{s:function(){C=C.call(m)},n:function(){var G=C.next();return N=G.done,G},e:function(G){R=!0,J=G},f:function(){try{!N&&C.return!=null&&C.return()}finally{if(R)throw J}}}}function h(m,v){var C;if(m){if(typeof m=="string")return y(m,v);var B=r(C=Object.prototype.toString.call(m)).call(C,8,-1);if(B==="Object"&&m.constructor&&(B=m.constructor.name),B==="Map"||B==="Set")return n(m);if(B==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(B))return y(m,v)}}function y(m,v){(v==null||v>m.length)&&(v=m.length);for(var C=0,B=new Array(v);C * Steven Levithan (c) 2008-present MIT License - */var A=function(v){var C={},B={},T=v._dec,N=v._hex,R=v._pad4;function J(oe){return oe.replace(/[- _]+/g,"").toLowerCase()}function q(oe){var de=/^\\[xu](.+)/.exec(oe);return de?T(de[1]):oe.charCodeAt(oe[0]==="\\"?1:0)}function G(oe){var de="",he=-1;return(0,l.default)(v).call(v,oe,/(\\x..|\\u....|\\?[\s\S])(?:-(\\x..|\\u....|\\?[\s\S]))?/,function(fe){var ge=q(fe[1]);ge>he+1&&(de+="\\u".concat(R(N(he+1))),ge>he+2&&(de+="-\\u".concat(R(N(ge-1))))),he=q(fe[2]||fe[1])}),he<65535&&(de+="\\u".concat(R(N(he+1))),he<65534&&(de+="-\\uFFFF")),de}function ee(oe){var de="b!";return C[oe][de]||(C[oe][de]=G(C[oe].bmp))}function K(oe,de){var he=C[oe],fe="";if(he.bmp&&!he.isBmpLast){var ge;fe=(0,p.default)(ge="[".concat(he.bmp,"]")).call(ge,he.astral?"|":"")}if(he.astral&&(fe+=he.astral),he.isBmpLast&&he.bmp){var pe;fe+=(0,p.default)(pe="".concat(he.astral?"|":"","[")).call(pe,he.bmp,"]")}return de?"(?:(?!".concat(fe,")(?:[\uD800-\uDBFF][\uDC00-\uDFFF]|[\0-￿]))"):"(?:".concat(fe,")")}function ue(oe,de){var he=de?"a!":"a=";return C[oe][he]||(C[oe][he]=K(oe,de))}v.addToken(/\\([pP])(?:{(\^?)(?:(\w+)=)?([^}]*)}|([A-Za-z]))/,function(oe,de,he){var fe="Invalid double negation ",ge="Unknown Unicode token ",pe="Unicode token missing data ",z="Astral mode required for Unicode token ",O="Astral mode does not support Unicode tokens within character classes",E=(0,c.default)(oe,6),F=E[0],D=E[1],g=E[2],P=E[3],b=E[4],w=E[5],I=D==="P"||!!g,$=(0,d.default)(he).call(he,"A")!==-1,M=J(w||b),L=C[M];if(D==="P"&&g)throw new SyntaxError(fe+F);if(!C.hasOwnProperty(M))throw new SyntaxError(ge+F);if(P&&!(B[P]&&B[P][M]))throw new SyntaxError(ge+F);if(L.inverseOf){if(M=J(L.inverseOf),!C.hasOwnProperty(M)){var Y;throw new ReferenceError((0,p.default)(Y="".concat(pe+F," -> ")).call(Y,L.inverseOf))}L=C[M],I=!I}if(!(L.bmp||$))throw new SyntaxError(z+F);if($){if(de==="class")throw new SyntaxError(O);return ue(M,I)}return de==="class"?I?ee(M):L.bmp:"".concat((I?"[^":"[")+L.bmp,"]")},{scope:"all",optionalFlags:"A",leadChar:"\\"}),v.addUnicodeData=function(oe,de){var he="Unicode token requires name",fe="Unicode token has no character data ";de&&(B[de]={});var ge=f(oe),pe;try{for(ge.s();!(pe=ge.n()).done;){var z=pe.value;if(!z.name)throw new Error(he);if(!(z.inverseOf||z.bmp||z.astral))throw new Error(fe+z.name);var O=J(z.name);if(C[O]=z,de&&(B[de][O]=!0),z.alias){var E=J(z.alias);C[E]=z,de&&(B[de][E]=!0)}}}catch(F){ge.e(F)}finally{ge.f()}v.cache.flush("patterns")},v._getUnicodeProperty=function(oe){var de=J(oe);return C[de]}};t.default=A,e.exports=t.default}(El,El.exports)),El.exports}var yl={exports:{}},f2,US;function Jde(){return US||(US=1,f2=[{name:"C",alias:"Other",isBmpLast:!0,bmp:"\0--Ÿ­͸͹΀-΃΋΍΢԰՗՘֋֌֐׈-׏׫-׮׵-؅؜۝܎܏݋݌޲-޿߻߼࠮࠯࠿࡜࡝࡟࡫-࡯࢏-ࢗ࣢঄঍঎঑঒঩঱঳-঵঺঻৅৆৉৊৏-৖৘-৛৞৤৥৿਀਄਋-਎਑਒਩਱਴਷਺਻਽੃-੆੉੊੎-੐੒-੘੝੟-੥੷-઀઄઎઒઩઱઴઺઻૆૊૎૏૑-૟૤૥૲-૸଀଄଍଎଑଒଩଱଴଺଻୅୆୉୊୎-୔୘-୛୞୤୥୸-஁஄஋-஍஑஖-஘஛஝஠-஢஥-஧஫-஭஺-஽௃-௅௉௎௏௑-௖௘-௥௻-௿఍఑఩఺఻౅౉౎-౔౗౛౜౞౟౤౥౰-౶಍಑಩಴಺಻೅೉೎-೔೗-೜೟೤೥೰ೳ-೿഍഑൅൉൐-൓൤൥඀඄඗-඙඲඼඾඿෇-෉෋-෎෕෗෠-෥෰෱෵-฀฻-฾๜-຀຃຅຋຤຦຾຿໅໇໎໏໚໛໠-໿཈཭-཰྘྽࿍࿛-࿿჆჈-჌჎჏቉቎቏቗቙቞቟኉኎኏኱኶኷኿዁዆዇዗጑጖጗፛፜፽-፿᎚-᎟᏶᏷᏾᏿᚝-᚟᛹-᛿᜖-᜞᜷-᜿᝔-᝟᝭᝱᝴-᝿៞៟៪-៯៺-៿᠎᠚-᠟᡹-᡿᢫-᢯᣶-᣿᤟᤬-᤯᤼-᤿᥁-᥃᥮᥯᥵-᥿᦬-᦯᧊-᧏᧛-᧝᨜᨝᩟᩽᩾᪊-᪏᪚-᪟᪮᪯᫏-᫿᭍-᭏᭿᯴-᯻᰸-᰺᱊-᱌Ᲊ-᲏᲻᲼᳈-᳏᳻-᳿἖἗἞἟὆὇὎὏὘὚὜὞὾὿᾵῅῔῕῜῰῱῵῿​-‏‪-‮⁠-⁲⁳₏₝-₟⃁-⃏⃱-⃿↌-↏␧-␿⑋-⑟⭴⭵⮖⳴-⳸⴦⴨-⴬⴮⴯⵨-⵮⵱-⵾⶗-⶟⶧⶯⶷⶿⷇⷏⷗⷟⹞-⹿⺚⻴-⻿⿖-⿯⿼-⿿぀゗゘㄀-㄄㄰㆏㇤-㇯㈟꒍-꒏꓇-꓏꘬-꘿꛸-꛿Ɤ-꟏꟒꟔Ꟛ-꟱꠭-꠯꠺-꠿꡸-꡿꣆-꣍꣚-꣟꥔-꥞꥽-꥿꧎꧚-꧝꧿꨷-꨿꩎꩏꩚꩛꫃-꫚꫷-꬀꬇꬈꬏꬐꬗-꬟꬧꬯꭬-꭯꯮꯯꯺-꯿힤-힯퟇-퟊퟼-﩮﩯﫚-﫿﬇-﬒﬘-﬜﬷﬽﬿﭂﭅﯃-﯒﶐﶑﷈-﷎﷐-﷯︚-︟﹓﹧﹬-﹯﹵﻽-＀﾿-￁￈￉￐￑￘￙￝-￟￧￯-￾￿",astral:"\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDCFF\uDD03-\uDD06\uDD34-\uDD36\uDD8F\uDD9D-\uDD9F\uDDA1-\uDDCF\uDDFE-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEDF\uDEFC-\uDEFF\uDF24-\uDF2C\uDF4B-\uDF4F\uDF7B-\uDF7F\uDF9E\uDFC4-\uDFC7\uDFD6-\uDFFF]|\uD801[\uDC9E\uDC9F\uDCAA-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDD6E\uDD7B\uDD8B\uDD93\uDD96\uDDA2\uDDB2\uDDBA\uDDBD-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDF7F\uDF86\uDFB1\uDFBB-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56\uDC9F-\uDCA6\uDCB0-\uDCDF\uDCF3\uDCF6-\uDCFA\uDD1C-\uDD1E\uDD3A-\uDD3E\uDD40-\uDD7F\uDDB8-\uDDBB\uDDD0\uDDD1\uDE04\uDE07-\uDE0B\uDE14\uDE18\uDE36\uDE37\uDE3B-\uDE3E\uDE49-\uDE4F\uDE59-\uDE5F\uDEA0-\uDEBF\uDEE7-\uDEEA\uDEF7-\uDEFF\uDF36-\uDF38\uDF56\uDF57\uDF73-\uDF77\uDF92-\uDF98\uDF9D-\uDFA8\uDFB0-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCF9\uDD28-\uDD2F\uDD3A-\uDE5F\uDE7F\uDEAA\uDEAE\uDEAF\uDEB2-\uDEFF\uDF28-\uDF2F\uDF5A-\uDF6F\uDF8A-\uDFAF\uDFCC-\uDFDF\uDFF7-\uDFFF]|\uD804[\uDC4E-\uDC51\uDC76-\uDC7E\uDCBD\uDCC3-\uDCCF\uDCE9-\uDCEF\uDCFA-\uDCFF\uDD35\uDD48-\uDD4F\uDD77-\uDD7F\uDDE0\uDDF5-\uDDFF\uDE12\uDE3F-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEAA-\uDEAF\uDEEB-\uDEEF\uDEFA-\uDEFF\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A\uDF45\uDF46\uDF49\uDF4A\uDF4E\uDF4F\uDF51-\uDF56\uDF58-\uDF5C\uDF64\uDF65\uDF6D-\uDF6F\uDF75-\uDFFF]|\uD805[\uDC5C\uDC62-\uDC7F\uDCC8-\uDCCF\uDCDA-\uDD7F\uDDB6\uDDB7\uDDDE-\uDDFF\uDE45-\uDE4F\uDE5A-\uDE5F\uDE6D-\uDE7F\uDEBA-\uDEBF\uDECA-\uDEFF\uDF1B\uDF1C\uDF2C-\uDF2F\uDF47-\uDFFF]|\uD806[\uDC3C-\uDC9F\uDCF3-\uDCFE\uDD07\uDD08\uDD0A\uDD0B\uDD14\uDD17\uDD36\uDD39\uDD3A\uDD47-\uDD4F\uDD5A-\uDD9F\uDDA8\uDDA9\uDDD8\uDDD9\uDDE5-\uDDFF\uDE48-\uDE4F\uDEA3-\uDEAF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC37\uDC46-\uDC4F\uDC6D-\uDC6F\uDC90\uDC91\uDCA8\uDCB7-\uDCFF\uDD07\uDD0A\uDD37-\uDD39\uDD3B\uDD3E\uDD48-\uDD4F\uDD5A-\uDD5F\uDD66\uDD69\uDD8F\uDD92\uDD99-\uDD9F\uDDAA-\uDEDF\uDEF9-\uDFAF\uDFB1-\uDFBF\uDFF2-\uDFFE]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC6F\uDC75-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80E-\uD810\uD812-\uD819\uD824-\uD82A\uD82D\uD82E\uD830-\uD832\uD83F\uD87B-\uD87D\uD87F\uD885-\uDB3F\uDB41-\uDBFF][\uDC00-\uDFFF]|\uD80B[\uDC00-\uDF8F\uDFF3-\uDFFF]|\uD80D[\uDC2F-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F\uDE6A-\uDE6D\uDEBF\uDECA-\uDECF\uDEEE\uDEEF\uDEF6-\uDEFF\uDF46-\uDF4F\uDF5A\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDE3F\uDE9B-\uDEFF\uDF4B-\uDF4E\uDF88-\uDF8E\uDFA0-\uDFDF\uDFE5-\uDFEF\uDFF2-\uDFFF]|\uD821[\uDFF8-\uDFFF]|\uD823[\uDCD6-\uDCFF\uDD09-\uDFFF]|\uD82B[\uDC00-\uDFEF\uDFF4\uDFFC\uDFFF]|\uD82C[\uDD23-\uDD4F\uDD53-\uDD63\uDD68-\uDD6F\uDEFC-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A\uDC9B\uDCA0-\uDFFF]|\uD833[\uDC00-\uDEFF\uDF2E\uDF2F\uDF47-\uDF4F\uDFC4-\uDFFF]|\uD834[\uDCF6-\uDCFF\uDD27\uDD28\uDD73-\uDD7A\uDDEB-\uDDFF\uDE46-\uDEDF\uDEF4-\uDEFF\uDF57-\uDF5F\uDF79-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDFCC\uDFCD]|\uD836[\uDE8C-\uDE9A\uDEA0\uDEB0-\uDFFF]|\uD837[\uDC00-\uDEFF\uDF1F-\uDFFF]|\uD838[\uDC07\uDC19\uDC1A\uDC22\uDC25\uDC2B-\uDCFF\uDD2D-\uDD2F\uDD3E\uDD3F\uDD4A-\uDD4D\uDD50-\uDE8F\uDEAF-\uDEBF\uDEFA-\uDEFE\uDF00-\uDFFF]|\uD839[\uDC00-\uDFDF\uDFE7\uDFEC\uDFEF\uDFFF]|\uD83A[\uDCC5\uDCC6\uDCD7-\uDCFF\uDD4C-\uDD4F\uDD5A-\uDD5D\uDD60-\uDFFF]|\uD83B[\uDC00-\uDC70\uDCB5-\uDD00\uDD3E-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDEEF\uDEF2-\uDFFF]|\uD83C[\uDC2C-\uDC2F\uDC94-\uDC9F\uDCAF\uDCB0\uDCC0\uDCD0\uDCF6-\uDCFF\uDDAE-\uDDE5\uDE03-\uDE0F\uDE3C-\uDE3F\uDE49-\uDE4F\uDE52-\uDE5F\uDE66-\uDEFF]|\uD83D[\uDED8-\uDEDC\uDEED-\uDEEF\uDEFD-\uDEFF\uDF74-\uDF7F\uDFD9-\uDFDF\uDFEC-\uDFEF\uDFF1-\uDFFF]|\uD83E[\uDC0C-\uDC0F\uDC48-\uDC4F\uDC5A-\uDC5F\uDC88-\uDC8F\uDCAE\uDCAF\uDCB2-\uDCFF\uDE54-\uDE5F\uDE6E\uDE6F\uDE75-\uDE77\uDE7D-\uDE7F\uDE87-\uDE8F\uDEAD-\uDEAF\uDEBB-\uDEBF\uDEC6-\uDECF\uDEDA-\uDEDF\uDEE8-\uDEEF\uDEF7-\uDEFF\uDF93\uDFCB-\uDFEF\uDFFA-\uDFFF]|\uD869[\uDEE0-\uDEFF]|\uD86D[\uDF39-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDEAF]|\uD87A[\uDFE1-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uD884[\uDF4B-\uDFFF]|\uDB40[\uDC00-\uDCFF\uDDF0-\uDFFF]"},{name:"Cc",alias:"Control",bmp:"\0--Ÿ"},{name:"Cf",alias:"Format",bmp:"­؀-؅؜۝܏࢐࢑࣢᠎​-‏‪-‮⁠-⁤⁦-\uFEFF-",astral:"\uD804[\uDCBD\uDCCD]|\uD80D[\uDC30-\uDC38]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]"},{name:"Cn",alias:"Unassigned",bmp:"͸͹΀-΃΋΍΢԰՗՘֋֌֐׈-׏׫-׮׵-׿܎݋݌޲-޿߻߼࠮࠯࠿࡜࡝࡟࡫-࡯࢏࢒-ࢗ঄঍঎঑঒঩঱঳-঵঺঻৅৆৉৊৏-৖৘-৛৞৤৥৿਀਄਋-਎਑਒਩਱਴਷਺਻਽੃-੆੉੊੎-੐੒-੘੝੟-੥੷-઀઄઎઒઩઱઴઺઻૆૊૎૏૑-૟૤૥૲-૸଀଄଍଎଑଒଩଱଴଺଻୅୆୉୊୎-୔୘-୛୞୤୥୸-஁஄஋-஍஑஖-஘஛஝஠-஢஥-஧஫-஭஺-஽௃-௅௉௎௏௑-௖௘-௥௻-௿఍఑఩఺఻౅౉౎-౔౗౛౜౞౟౤౥౰-౶಍಑಩಴಺಻೅೉೎-೔೗-೜೟೤೥೰ೳ-೿഍഑൅൉൐-൓൤൥඀඄඗-඙඲඼඾඿෇-෉෋-෎෕෗෠-෥෰෱෵-฀฻-฾๜-຀຃຅຋຤຦຾຿໅໇໎໏໚໛໠-໿཈཭-཰྘྽࿍࿛-࿿჆჈-჌჎჏቉቎቏቗቙቞቟኉኎኏኱኶኷኿዁዆዇዗጑጖጗፛፜፽-፿᎚-᎟᏶᏷᏾᏿᚝-᚟᛹-᛿᜖-᜞᜷-᜿᝔-᝟᝭᝱᝴-᝿៞៟៪-៯៺-៿᠚-᠟᡹-᡿᢫-᢯᣶-᣿᤟᤬-᤯᤼-᤿᥁-᥃᥮᥯᥵-᥿᦬-᦯᧊-᧏᧛-᧝᨜᨝᩟᩽᩾᪊-᪏᪚-᪟᪮᪯᫏-᫿᭍-᭏᭿᯴-᯻᰸-᰺᱊-᱌Ᲊ-᲏᲻᲼᳈-᳏᳻-᳿἖἗἞἟὆὇὎὏὘὚὜὞὾὿᾵῅῔῕῜῰῱῵῿⁥⁲⁳₏₝-₟⃁-⃏⃱-⃿↌-↏␧-␿⑋-⑟⭴⭵⮖⳴-⳸⴦⴨-⴬⴮⴯⵨-⵮⵱-⵾⶗-⶟⶧⶯⶷⶿⷇⷏⷗⷟⹞-⹿⺚⻴-⻿⿖-⿯⿼-⿿぀゗゘㄀-㄄㄰㆏㇤-㇯㈟꒍-꒏꓇-꓏꘬-꘿꛸-꛿Ɤ-꟏꟒꟔Ꟛ-꟱꠭-꠯꠺-꠿꡸-꡿꣆-꣍꣚-꣟꥔-꥞꥽-꥿꧎꧚-꧝꧿꨷-꨿꩎꩏꩚꩛꫃-꫚꫷-꬀꬇꬈꬏꬐꬗-꬟꬧꬯꭬-꭯꯮꯯꯺-꯿힤-힯퟇-퟊퟼-퟿﩮﩯﫚-﫿﬇-﬒﬘-﬜﬷﬽﬿﭂﭅﯃-﯒﶐﶑﷈-﷎﷐-﷯︚-︟﹓﹧﹬-﹯﹵﻽﻾＀﾿-￁￈￉￐￑￘￙￝-￟￧￯-￸￾￿",astral:"\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDCFF\uDD03-\uDD06\uDD34-\uDD36\uDD8F\uDD9D-\uDD9F\uDDA1-\uDDCF\uDDFE-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEDF\uDEFC-\uDEFF\uDF24-\uDF2C\uDF4B-\uDF4F\uDF7B-\uDF7F\uDF9E\uDFC4-\uDFC7\uDFD6-\uDFFF]|\uD801[\uDC9E\uDC9F\uDCAA-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDD6E\uDD7B\uDD8B\uDD93\uDD96\uDDA2\uDDB2\uDDBA\uDDBD-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDF7F\uDF86\uDFB1\uDFBB-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56\uDC9F-\uDCA6\uDCB0-\uDCDF\uDCF3\uDCF6-\uDCFA\uDD1C-\uDD1E\uDD3A-\uDD3E\uDD40-\uDD7F\uDDB8-\uDDBB\uDDD0\uDDD1\uDE04\uDE07-\uDE0B\uDE14\uDE18\uDE36\uDE37\uDE3B-\uDE3E\uDE49-\uDE4F\uDE59-\uDE5F\uDEA0-\uDEBF\uDEE7-\uDEEA\uDEF7-\uDEFF\uDF36-\uDF38\uDF56\uDF57\uDF73-\uDF77\uDF92-\uDF98\uDF9D-\uDFA8\uDFB0-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCF9\uDD28-\uDD2F\uDD3A-\uDE5F\uDE7F\uDEAA\uDEAE\uDEAF\uDEB2-\uDEFF\uDF28-\uDF2F\uDF5A-\uDF6F\uDF8A-\uDFAF\uDFCC-\uDFDF\uDFF7-\uDFFF]|\uD804[\uDC4E-\uDC51\uDC76-\uDC7E\uDCC3-\uDCCC\uDCCE\uDCCF\uDCE9-\uDCEF\uDCFA-\uDCFF\uDD35\uDD48-\uDD4F\uDD77-\uDD7F\uDDE0\uDDF5-\uDDFF\uDE12\uDE3F-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEAA-\uDEAF\uDEEB-\uDEEF\uDEFA-\uDEFF\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A\uDF45\uDF46\uDF49\uDF4A\uDF4E\uDF4F\uDF51-\uDF56\uDF58-\uDF5C\uDF64\uDF65\uDF6D-\uDF6F\uDF75-\uDFFF]|\uD805[\uDC5C\uDC62-\uDC7F\uDCC8-\uDCCF\uDCDA-\uDD7F\uDDB6\uDDB7\uDDDE-\uDDFF\uDE45-\uDE4F\uDE5A-\uDE5F\uDE6D-\uDE7F\uDEBA-\uDEBF\uDECA-\uDEFF\uDF1B\uDF1C\uDF2C-\uDF2F\uDF47-\uDFFF]|\uD806[\uDC3C-\uDC9F\uDCF3-\uDCFE\uDD07\uDD08\uDD0A\uDD0B\uDD14\uDD17\uDD36\uDD39\uDD3A\uDD47-\uDD4F\uDD5A-\uDD9F\uDDA8\uDDA9\uDDD8\uDDD9\uDDE5-\uDDFF\uDE48-\uDE4F\uDEA3-\uDEAF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC37\uDC46-\uDC4F\uDC6D-\uDC6F\uDC90\uDC91\uDCA8\uDCB7-\uDCFF\uDD07\uDD0A\uDD37-\uDD39\uDD3B\uDD3E\uDD48-\uDD4F\uDD5A-\uDD5F\uDD66\uDD69\uDD8F\uDD92\uDD99-\uDD9F\uDDAA-\uDEDF\uDEF9-\uDFAF\uDFB1-\uDFBF\uDFF2-\uDFFE]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC6F\uDC75-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80E-\uD810\uD812-\uD819\uD824-\uD82A\uD82D\uD82E\uD830-\uD832\uD83F\uD87B-\uD87D\uD87F\uD885-\uDB3F\uDB41-\uDB7F][\uDC00-\uDFFF]|\uD80B[\uDC00-\uDF8F\uDFF3-\uDFFF]|\uD80D[\uDC2F\uDC39-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F\uDE6A-\uDE6D\uDEBF\uDECA-\uDECF\uDEEE\uDEEF\uDEF6-\uDEFF\uDF46-\uDF4F\uDF5A\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDE3F\uDE9B-\uDEFF\uDF4B-\uDF4E\uDF88-\uDF8E\uDFA0-\uDFDF\uDFE5-\uDFEF\uDFF2-\uDFFF]|\uD821[\uDFF8-\uDFFF]|\uD823[\uDCD6-\uDCFF\uDD09-\uDFFF]|\uD82B[\uDC00-\uDFEF\uDFF4\uDFFC\uDFFF]|\uD82C[\uDD23-\uDD4F\uDD53-\uDD63\uDD68-\uDD6F\uDEFC-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A\uDC9B\uDCA4-\uDFFF]|\uD833[\uDC00-\uDEFF\uDF2E\uDF2F\uDF47-\uDF4F\uDFC4-\uDFFF]|\uD834[\uDCF6-\uDCFF\uDD27\uDD28\uDDEB-\uDDFF\uDE46-\uDEDF\uDEF4-\uDEFF\uDF57-\uDF5F\uDF79-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDFCC\uDFCD]|\uD836[\uDE8C-\uDE9A\uDEA0\uDEB0-\uDFFF]|\uD837[\uDC00-\uDEFF\uDF1F-\uDFFF]|\uD838[\uDC07\uDC19\uDC1A\uDC22\uDC25\uDC2B-\uDCFF\uDD2D-\uDD2F\uDD3E\uDD3F\uDD4A-\uDD4D\uDD50-\uDE8F\uDEAF-\uDEBF\uDEFA-\uDEFE\uDF00-\uDFFF]|\uD839[\uDC00-\uDFDF\uDFE7\uDFEC\uDFEF\uDFFF]|\uD83A[\uDCC5\uDCC6\uDCD7-\uDCFF\uDD4C-\uDD4F\uDD5A-\uDD5D\uDD60-\uDFFF]|\uD83B[\uDC00-\uDC70\uDCB5-\uDD00\uDD3E-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDEEF\uDEF2-\uDFFF]|\uD83C[\uDC2C-\uDC2F\uDC94-\uDC9F\uDCAF\uDCB0\uDCC0\uDCD0\uDCF6-\uDCFF\uDDAE-\uDDE5\uDE03-\uDE0F\uDE3C-\uDE3F\uDE49-\uDE4F\uDE52-\uDE5F\uDE66-\uDEFF]|\uD83D[\uDED8-\uDEDC\uDEED-\uDEEF\uDEFD-\uDEFF\uDF74-\uDF7F\uDFD9-\uDFDF\uDFEC-\uDFEF\uDFF1-\uDFFF]|\uD83E[\uDC0C-\uDC0F\uDC48-\uDC4F\uDC5A-\uDC5F\uDC88-\uDC8F\uDCAE\uDCAF\uDCB2-\uDCFF\uDE54-\uDE5F\uDE6E\uDE6F\uDE75-\uDE77\uDE7D-\uDE7F\uDE87-\uDE8F\uDEAD-\uDEAF\uDEBB-\uDEBF\uDEC6-\uDECF\uDEDA-\uDEDF\uDEE8-\uDEEF\uDEF7-\uDEFF\uDF93\uDFCB-\uDFEF\uDFFA-\uDFFF]|\uD869[\uDEE0-\uDEFF]|\uD86D[\uDF39-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDEAF]|\uD87A[\uDFE1-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uD884[\uDF4B-\uDFFF]|\uDB40[\uDC00\uDC02-\uDC1F\uDC80-\uDCFF\uDDF0-\uDFFF]|[\uDBBF\uDBFF][\uDFFE\uDFFF]"},{name:"Co",alias:"Private_Use",bmp:"-",astral:"[\uDB80-\uDBBE\uDBC0-\uDBFE][\uDC00-\uDFFF]|[\uDBBF\uDBFF][\uDC00-\uDFFD]"},{name:"Cs",alias:"Surrogate",bmp:"\uD800-\uDFFF"},{name:"L",alias:"Letter",bmp:"A-Za-zªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛱ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢄᢇ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎↃↄⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々〆〱-〵〻〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛥꜗ-ꜟꜢ-ꞈꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",astral:"\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A]"},{name:"LC",alias:"Cased_Letter",bmp:"A-Za-zµÀ-ÖØ-öø-ƺƼ-ƿDŽ-ʓʕ-ʯͰ-ͳͶͷͻ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՠ-ֈႠ-ჅჇჍა-ჺჽ-ჿᎠ-Ᏽᏸ-ᏽᲀ-ᲈᲐ-ᲺᲽ-Ჿᴀ-ᴫᵫ-ᵷᵹ-ᶚḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℴℹℼ-ℿⅅ-ⅉⅎↃↄⰀ-ⱻⱾ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭꙀ-ꙭꚀ-ꚛꜢ-ꝯꝱ-ꞇꞋ-ꞎꞐ-ꟊꟐꟑꟓꟕ-ꟙꟵꟶꟺꬰ-ꭚꭠ-ꭨꭰ-ꮿff-stﬓ-ﬗA-Za-z",astral:"\uD801[\uDC00-\uDC4F\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC]|\uD803[\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD806[\uDCA0-\uDCDF]|\uD81B[\uDE40-\uDE7F]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF09\uDF0B-\uDF1E]|\uD83A[\uDD00-\uDD43]"},{name:"Ll",alias:"Lowercase_Letter",bmp:"a-zµß-öø-ÿāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįıijĵķĸĺļľŀłńņňʼnŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷźżž-ƀƃƅƈƌƍƒƕƙ-ƛƞơƣƥƨƪƫƭưƴƶƹƺƽ-ƿdžljnjǎǐǒǔǖǘǚǜǝǟǡǣǥǧǩǫǭǯǰdzǵǹǻǽǿȁȃȅȇȉȋȍȏȑȓȕȗșțȝȟȡȣȥȧȩȫȭȯȱȳ-ȹȼȿɀɂɇɉɋɍɏ-ʓʕ-ʯͱͳͷͻ-ͽΐά-ώϐϑϕ-ϗϙϛϝϟϡϣϥϧϩϫϭϯ-ϳϵϸϻϼа-џѡѣѥѧѩѫѭѯѱѳѵѷѹѻѽѿҁҋҍҏґғҕҗҙқҝҟҡңҥҧҩҫҭүұҳҵҷҹһҽҿӂӄӆӈӊӌӎӏӑӓӕӗәӛӝӟӡӣӥӧөӫӭӯӱӳӵӷӹӻӽӿԁԃԅԇԉԋԍԏԑԓԕԗԙԛԝԟԡԣԥԧԩԫԭԯՠ-ֈა-ჺჽ-ჿᏸ-ᏽᲀ-ᲈᴀ-ᴫᵫ-ᵷᵹ-ᶚḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕ-ẝẟạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹỻỽỿ-ἇἐ-ἕἠ-ἧἰ-ἷὀ-ὅὐ-ὗὠ-ὧὰ-ώᾀ-ᾇᾐ-ᾗᾠ-ᾧᾰ-ᾴᾶᾷιῂ-ῄῆῇῐ-ΐῖῗῠ-ῧῲ-ῴῶῷℊℎℏℓℯℴℹℼℽⅆ-ⅉⅎↄⰰ-ⱟⱡⱥⱦⱨⱪⱬⱱⱳⱴⱶ-ⱻⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣⳤⳬⳮⳳⴀ-ⴥⴧⴭꙁꙃꙅꙇꙉꙋꙍꙏꙑꙓꙕꙗꙙꙛꙝꙟꙡꙣꙥꙧꙩꙫꙭꚁꚃꚅꚇꚉꚋꚍꚏꚑꚓꚕꚗꚙꚛꜣꜥꜧꜩꜫꜭꜯ-ꜱꜳꜵꜷꜹꜻꜽꜿꝁꝃꝅꝇꝉꝋꝍꝏꝑꝓꝕꝗꝙꝛꝝꝟꝡꝣꝥꝧꝩꝫꝭꝯꝱ-ꝸꝺꝼꝿꞁꞃꞅꞇꞌꞎꞑꞓ-ꞕꞗꞙꞛꞝꞟꞡꞣꞥꞧꞩꞯꞵꞷꞹꞻꞽꞿꟁꟃꟈꟊꟑꟓꟕꟗꟙꟶꟺꬰ-ꭚꭠ-ꭨꭰ-ꮿff-stﬓ-ﬗa-z",astral:"\uD801[\uDC28-\uDC4F\uDCD8-\uDCFB\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC]|\uD803[\uDCC0-\uDCF2]|\uD806[\uDCC0-\uDCDF]|\uD81B[\uDE60-\uDE7F]|\uD835[\uDC1A-\uDC33\uDC4E-\uDC54\uDC56-\uDC67\uDC82-\uDC9B\uDCB6-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDCEA-\uDD03\uDD1E-\uDD37\uDD52-\uDD6B\uDD86-\uDD9F\uDDBA-\uDDD3\uDDEE-\uDE07\uDE22-\uDE3B\uDE56-\uDE6F\uDE8A-\uDEA5\uDEC2-\uDEDA\uDEDC-\uDEE1\uDEFC-\uDF14\uDF16-\uDF1B\uDF36-\uDF4E\uDF50-\uDF55\uDF70-\uDF88\uDF8A-\uDF8F\uDFAA-\uDFC2\uDFC4-\uDFC9\uDFCB]|\uD837[\uDF00-\uDF09\uDF0B-\uDF1E]|\uD83A[\uDD22-\uDD43]"},{name:"Lm",alias:"Modifier_Letter",bmp:"ʰ-ˁˆ-ˑˠ-ˤˬˮʹͺՙـۥۦߴߵߺࠚࠤࠨࣉॱๆໆჼៗᡃᪧᱸ-ᱽᴬ-ᵪᵸᶛ-ᶿⁱⁿₐ-ₜⱼⱽⵯⸯ々〱-〵〻ゝゞー-ヾꀕꓸ-ꓽꘌꙿꚜꚝꜗ-ꜟꝰꞈꟲ-ꟴꟸꟹꧏꧦꩰꫝꫳꫴꭜ-ꭟꭩー゙゚",astral:"\uD801[\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD81A[\uDF40-\uDF43]|\uD81B[\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD838[\uDD37-\uDD3D]|𞥋"},{name:"Lo",alias:"Other_Letter",bmp:"ªºƻǀ-ǃʔא-תׯ-ײؠ-ؿف-يٮٯٱ-ۓەۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪࠀ-ࠕࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣈऄ-हऽॐक़-ॡॲ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๅກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎᄀ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛱ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៜᠠ-ᡂᡄ-ᡸᢀ-ᢄᢇ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱷᳩ-ᳬᳮ-ᳳᳵᳶᳺℵ-ℸⴰ-ⵧⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ〆〼ぁ-ゖゟァ-ヺヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꀔꀖ-ꒌꓐ-ꓷꔀ-ꘋꘐ-ꘟꘪꘫꙮꚠ-ꛥꞏꟷꟻ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧠ-ꧤꧧ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩯꩱ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛꫜꫠ-ꫪꫲꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎יִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼヲ-ッア-ンᅠ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",astral:"\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC50-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF4A\uDF50]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|𝼊|\uD838[\uDD00-\uDD2C\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A]"},{name:"Lt",alias:"Titlecase_Letter",bmp:"DžLjNjDzᾈ-ᾏᾘ-ᾟᾨ-ᾯᾼῌῼ"},{name:"Lu",alias:"Uppercase_Letter",bmp:"A-ZÀ-ÖØ-ÞĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮİIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŸŹŻŽƁƂƄƆƇƉ-ƋƎ-ƑƓƔƖ-ƘƜƝƟƠƢƤƦƧƩƬƮƯƱ-ƳƵƷƸƼDŽLJNJǍǏǑǓǕǗǙǛǞǠǢǤǦǨǪǬǮDZǴǶ-ǸǺǼǾȀȂȄȆȈȊȌȎȐȒȔȖȘȚȜȞȠȢȤȦȨȪȬȮȰȲȺȻȽȾɁɃ-ɆɈɊɌɎͰͲͶͿΆΈ-ΊΌΎΏΑ-ΡΣ-ΫϏϒ-ϔϘϚϜϞϠϢϤϦϨϪϬϮϴϷϹϺϽ-ЯѠѢѤѦѨѪѬѮѰѲѴѶѸѺѼѾҀҊҌҎҐҒҔҖҘҚҜҞҠҢҤҦҨҪҬҮҰҲҴҶҸҺҼҾӀӁӃӅӇӉӋӍӐӒӔӖӘӚӜӞӠӢӤӦӨӪӬӮӰӲӴӶӸӺӼӾԀԂԄԆԈԊԌԎԐԒԔԖԘԚԜԞԠԢԤԦԨԪԬԮԱ-ՖႠ-ჅჇჍᎠ-ᏵᲐ-ᲺᲽ-ᲿḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẞẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸỺỼỾἈ-ἏἘ-ἝἨ-ἯἸ-ἿὈ-ὍὙὛὝὟὨ-ὯᾸ-ΆῈ-ΉῘ-ΊῨ-ῬῸ-Ώℂℇℋ-ℍℐ-ℒℕℙ-ℝℤΩℨK-ℭℰ-ℳℾℿⅅↃⰀ-ⰯⱠⱢ-ⱤⱧⱩⱫⱭ-ⱰⱲⱵⱾ-ⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚⳜⳞⳠⳢⳫⳭⳲꙀꙂꙄꙆꙈꙊꙌꙎꙐꙒꙔꙖꙘꙚꙜꙞꙠꙢꙤꙦꙨꙪꙬꚀꚂꚄꚆꚈꚊꚌꚎꚐꚒꚔꚖꚘꚚꜢꜤꜦꜨꜪꜬꜮꜲꜴꜶꜸꜺꜼꜾꝀꝂꝄꝆꝈꝊꝌꝎꝐꝒꝔꝖꝘꝚꝜꝞꝠꝢꝤꝦꝨꝪꝬꝮꝹꝻꝽꝾꞀꞂꞄꞆꞋꞍꞐꞒꞖꞘꞚꞜꞞꞠꞢꞤꞦꞨꞪ-ꞮꞰ-ꞴꞶꞸꞺꞼꞾꟀꟂꟄ-ꟇꟉꟐꟖꟘꟵA-Z",astral:"\uD801[\uDC00-\uDC27\uDCB0-\uDCD3\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95]|\uD803[\uDC80-\uDCB2]|\uD806[\uDCA0-\uDCBF]|\uD81B[\uDE40-\uDE5F]|\uD835[\uDC00-\uDC19\uDC34-\uDC4D\uDC68-\uDC81\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB5\uDCD0-\uDCE9\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD38\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD6C-\uDD85\uDDA0-\uDDB9\uDDD4-\uDDED\uDE08-\uDE21\uDE3C-\uDE55\uDE70-\uDE89\uDEA8-\uDEC0\uDEE2-\uDEFA\uDF1C-\uDF34\uDF56-\uDF6E\uDF90-\uDFA8\uDFCA]|\uD83A[\uDD00-\uDD21]"},{name:"M",alias:"Mark",bmp:"̀-ͯ҃-҉֑-ׇֽֿׁׂׅׄؐ-ًؚ-ٰٟۖ-ۜ۟-۪ۤۧۨ-ܑۭܰ-݊ަ-ް߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࢘-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣঁ-ঃ়া-ৄেৈো-্ৗৢৣ৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑੰੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣஂா-ூெ-ைொ-்ௗఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣඁ-ඃ්ා-ුූෘ-ෟෲෳัิ-ฺ็-๎ັິ-ຼ່-ໍ༹༘༙༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏႚ-ႝ፝-፟ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝᠋-᠍᠏ᢅᢆᢩᤠ-ᤫᤰ-᤻ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼᪰-ᫎᬀ-ᬄ᬴-᭄᭫-᭳ᮀ-ᮂᮡ-ᮭ᯦-᯳ᰤ-᰷᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿⃐-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꙯-꙲ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣠-꣱ꣿꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀ꧥꨩ-ꨶꩃꩌꩍꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭ﬞ︀-️︠-︯",astral:"\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDEAB\uDEAC\uDF46-\uDF50\uDF82-\uDF85]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC70\uDC73\uDC74\uDC7F-\uDC82\uDCB0-\uDCBA\uDCC2\uDD00-\uDD02\uDD27-\uDD34\uDD45\uDD46\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDDC9-\uDDCC\uDDCE\uDDCF\uDE2C-\uDE37\uDE3E\uDEDF-\uDEEA\uDF00-\uDF03\uDF3B\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC35-\uDC46\uDC5E\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDDDC\uDDDD\uDE30-\uDE40\uDEAB-\uDEB7\uDF1D-\uDF2B]|\uD806[\uDC2C-\uDC3A\uDD30-\uDD35\uDD37\uDD38\uDD3B-\uDD3E\uDD40\uDD42\uDD43\uDDD1-\uDDD7\uDDDA-\uDDE0\uDDE4\uDE01-\uDE0A\uDE33-\uDE39\uDE3B-\uDE3E\uDE47\uDE51-\uDE5B\uDE8A-\uDE99]|\uD807[\uDC2F-\uDC36\uDC38-\uDC3F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD8A-\uDD8E\uDD90\uDD91\uDD93-\uDD97\uDEF3-\uDEF6]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF4F\uDF51-\uDF87\uDF8F-\uDF92\uDFE4\uDFF0\uDFF1]|\uD82F[\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD30-\uDD36\uDEAE\uDEEC-\uDEEF]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uDB40[\uDD00-\uDDEF]"},{name:"Mc",alias:"Spacing_Mark",bmp:"ःऻा-ीॉ-ौॎॏংঃা-ীেৈোৌৗਃਾ-ੀઃા-ીૉોૌଂଃାୀେୈୋୌୗாிுூெ-ைொ-ௌௗఁ-ఃు-ౄಂಃಾೀ-ೄೇೈೊೋೕೖംഃാ-ീെ-ൈൊ-ൌൗංඃා-ෑෘ-ෟෲෳ༾༿ཿါာေးျြၖၗၢ-ၤၧ-ၭႃႄႇ-ႌႏႚ-ႜ᜕᜴ាើ-ៅះៈᤣ-ᤦᤩ-ᤫᤰᤱᤳ-ᤸᨙᨚᩕᩗᩡᩣᩤᩭ-ᩲᬄᬵᬻᬽ-ᭁᭃ᭄ᮂᮡᮦᮧ᮪ᯧᯪ-ᯬᯮ᯲᯳ᰤ-ᰫᰴᰵ᳡᳷〮〯ꠣꠤꠧꢀꢁꢴ-ꣃꥒ꥓ꦃꦴꦵꦺꦻꦾ-꧀ꨯꨰꨳꨴꩍꩻꩽꫫꫮꫯꫵꯣꯤꯦꯧꯩꯪ꯬",astral:"\uD804[\uDC00\uDC02\uDC82\uDCB0-\uDCB2\uDCB7\uDCB8\uDD2C\uDD45\uDD46\uDD82\uDDB3-\uDDB5\uDDBF\uDDC0\uDDCE\uDE2C-\uDE2E\uDE32\uDE33\uDE35\uDEE0-\uDEE2\uDF02\uDF03\uDF3E\uDF3F\uDF41-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63]|\uD805[\uDC35-\uDC37\uDC40\uDC41\uDC45\uDCB0-\uDCB2\uDCB9\uDCBB-\uDCBE\uDCC1\uDDAF-\uDDB1\uDDB8-\uDDBB\uDDBE\uDE30-\uDE32\uDE3B\uDE3C\uDE3E\uDEAC\uDEAE\uDEAF\uDEB6\uDF20\uDF21\uDF26]|\uD806[\uDC2C-\uDC2E\uDC38\uDD30-\uDD35\uDD37\uDD38\uDD3D\uDD40\uDD42\uDDD1-\uDDD3\uDDDC-\uDDDF\uDDE4\uDE39\uDE57\uDE58\uDE97]|\uD807[\uDC2F\uDC3E\uDCA9\uDCB1\uDCB4\uDD8A-\uDD8E\uDD93\uDD94\uDD96\uDEF5\uDEF6]|\uD81B[\uDF51-\uDF87\uDFF0\uDFF1]|\uD834[\uDD65\uDD66\uDD6D-\uDD72]"},{name:"Me",alias:"Enclosing_Mark",bmp:"҈҉᪾⃝-⃠⃢-⃤꙰-꙲"},{name:"Mn",alias:"Nonspacing_Mark",bmp:"̀-ͯ҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-ٰٟۖ-ۜ۟-۪ۤۧۨ-ܑۭܰ-݊ަ-ް߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࢘-࢟࣊-ࣣ࣡-ंऺ़ु-ै्॑-ॗॢॣঁ়ু-ৄ্ৢৣ৾ਁਂ਼ੁੂੇੈੋ-੍ੑੰੱੵઁં઼ુ-ૅેૈ્ૢૣૺ-૿ଁ଼ିୁ-ୄ୍୕ୖୢୣஂீ்ఀఄ఼ా-ీె-ైొ-్ౕౖౢౣಁ಼ಿೆೌ್ೢೣഀഁ഻഼ു-ൄ്ൢൣඁ්ි-ුූัิ-ฺ็-๎ັິ-ຼ່-ໍཱ༹༘༙༵༷-ཾྀ-྄྆྇ྍ-ྗྙ-ྼ࿆ိ-ူဲ-့္်ွှၘၙၞ-ၠၱ-ၴႂႅႆႍႝ፝-፟ᜒ-᜔ᜲᜳᝒᝓᝲᝳ឴឵ិ-ួំ៉-៓៝᠋-᠍᠏ᢅᢆᢩᤠ-ᤢᤧᤨᤲ᤹-᤻ᨘᨗᨛᩖᩘ-ᩞ᩠ᩢᩥ-ᩬᩳ-᩿᩼᪰-᪽ᪿ-ᫎᬀ-ᬃ᬴ᬶ-ᬺᬼᭂ᭫-᭳ᮀᮁᮢ-ᮥᮨᮩ᮫-ᮭ᯦ᯨᯩᯭᯯ-ᯱᰬ-ᰳᰶ᰷᳐-᳔᳒-᳢᳠-᳨᳭᳴᳸᳹᷀-᷿⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〭꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠥꠦ꠬꣄ꣅ꣠-꣱ꣿꤦ-꤭ꥇ-ꥑꦀ-ꦂ꦳ꦶ-ꦹꦼꦽꧥꨩ-ꨮꨱꨲꨵꨶꩃꩌꩼꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫬꫭ꫶ꯥꯨ꯭ﬞ︀-️︠-︯",astral:"\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDEAB\uDEAC\uDF46-\uDF50\uDF82-\uDF85]|\uD804[\uDC01\uDC38-\uDC46\uDC70\uDC73\uDC74\uDC7F-\uDC81\uDCB3-\uDCB6\uDCB9\uDCBA\uDCC2\uDD00-\uDD02\uDD27-\uDD2B\uDD2D-\uDD34\uDD73\uDD80\uDD81\uDDB6-\uDDBE\uDDC9-\uDDCC\uDDCF\uDE2F-\uDE31\uDE34\uDE36\uDE37\uDE3E\uDEDF\uDEE3-\uDEEA\uDF00\uDF01\uDF3B\uDF3C\uDF40\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC38-\uDC3F\uDC42-\uDC44\uDC46\uDC5E\uDCB3-\uDCB8\uDCBA\uDCBF\uDCC0\uDCC2\uDCC3\uDDB2-\uDDB5\uDDBC\uDDBD\uDDBF\uDDC0\uDDDC\uDDDD\uDE33-\uDE3A\uDE3D\uDE3F\uDE40\uDEAB\uDEAD\uDEB0-\uDEB5\uDEB7\uDF1D-\uDF1F\uDF22-\uDF25\uDF27-\uDF2B]|\uD806[\uDC2F-\uDC37\uDC39\uDC3A\uDD3B\uDD3C\uDD3E\uDD43\uDDD4-\uDDD7\uDDDA\uDDDB\uDDE0\uDE01-\uDE0A\uDE33-\uDE38\uDE3B-\uDE3E\uDE47\uDE51-\uDE56\uDE59-\uDE5B\uDE8A-\uDE96\uDE98\uDE99]|\uD807[\uDC30-\uDC36\uDC38-\uDC3D\uDC3F\uDC92-\uDCA7\uDCAA-\uDCB0\uDCB2\uDCB3\uDCB5\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD90\uDD91\uDD95\uDD97\uDEF3\uDEF4]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF4F\uDF8F-\uDF92\uDFE4]|\uD82F[\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD67-\uDD69\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD30-\uDD36\uDEAE\uDEEC-\uDEEF]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uDB40[\uDD00-\uDDEF]"},{name:"N",alias:"Number",bmp:"0-9²³¹¼-¾٠-٩۰-۹߀-߉०-९০-৯৴-৹੦-੯૦-૯୦-୯୲-୷௦-௲౦-౯౸-౾೦-೯൘-൞൦-൸෦-෯๐-๙໐-໙༠-༳၀-၉႐-႙፩-፼ᛮ-ᛰ០-៩៰-៹᠐-᠙᥆-᥏᧐-᧚᪀-᪉᪐-᪙᭐-᭙᮰-᮹᱀-᱉᱐-᱙⁰⁴-⁹₀-₉⅐-ↂↅ-↉①-⒛⓪-⓿❶-➓⳽〇〡-〩〸-〺㆒-㆕㈠-㈩㉈-㉏㉑-㉟㊀-㊉㊱-㊿꘠-꘩ꛦ-ꛯ꠰-꠵꣐-꣙꤀-꤉꧐-꧙꧰-꧹꩐-꩙꯰-꯹0-9",astral:"\uD800[\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDEE1-\uDEFB\uDF20-\uDF23\uDF41\uDF4A\uDFD1-\uDFD5]|\uD801[\uDCA0-\uDCA9]|\uD802[\uDC58-\uDC5F\uDC79-\uDC7F\uDCA7-\uDCAF\uDCFB-\uDCFF\uDD16-\uDD1B\uDDBC\uDDBD\uDDC0-\uDDCF\uDDD2-\uDDFF\uDE40-\uDE48\uDE7D\uDE7E\uDE9D-\uDE9F\uDEEB-\uDEEF\uDF58-\uDF5F\uDF78-\uDF7F\uDFA9-\uDFAF]|\uD803[\uDCFA-\uDCFF\uDD30-\uDD39\uDE60-\uDE7E\uDF1D-\uDF26\uDF51-\uDF54\uDFC5-\uDFCB]|\uD804[\uDC52-\uDC6F\uDCF0-\uDCF9\uDD36-\uDD3F\uDDD0-\uDDD9\uDDE1-\uDDF4\uDEF0-\uDEF9]|\uD805[\uDC50-\uDC59\uDCD0-\uDCD9\uDE50-\uDE59\uDEC0-\uDEC9\uDF30-\uDF3B]|\uD806[\uDCE0-\uDCF2\uDD50-\uDD59]|\uD807[\uDC50-\uDC6C\uDD50-\uDD59\uDDA0-\uDDA9\uDFC0-\uDFD4]|\uD809[\uDC00-\uDC6E]|\uD81A[\uDE60-\uDE69\uDEC0-\uDEC9\uDF50-\uDF59\uDF5B-\uDF61]|\uD81B[\uDE80-\uDE96]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDFCE-\uDFFF]|\uD838[\uDD40-\uDD49\uDEF0-\uDEF9]|\uD83A[\uDCC7-\uDCCF\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]"},{name:"Nd",alias:"Decimal_Number",bmp:"0-9٠-٩۰-۹߀-߉०-९০-৯੦-੯૦-૯୦-୯௦-௯౦-౯೦-೯൦-൯෦-෯๐-๙໐-໙༠-༩၀-၉႐-႙០-៩᠐-᠙᥆-᥏᧐-᧙᪀-᪉᪐-᪙᭐-᭙᮰-᮹᱀-᱉᱐-᱙꘠-꘩꣐-꣙꤀-꤉꧐-꧙꧰-꧹꩐-꩙꯰-꯹0-9",astral:"\uD801[\uDCA0-\uDCA9]|\uD803[\uDD30-\uDD39]|\uD804[\uDC66-\uDC6F\uDCF0-\uDCF9\uDD36-\uDD3F\uDDD0-\uDDD9\uDEF0-\uDEF9]|\uD805[\uDC50-\uDC59\uDCD0-\uDCD9\uDE50-\uDE59\uDEC0-\uDEC9\uDF30-\uDF39]|\uD806[\uDCE0-\uDCE9\uDD50-\uDD59]|\uD807[\uDC50-\uDC59\uDD50-\uDD59\uDDA0-\uDDA9]|\uD81A[\uDE60-\uDE69\uDEC0-\uDEC9\uDF50-\uDF59]|\uD835[\uDFCE-\uDFFF]|\uD838[\uDD40-\uDD49\uDEF0-\uDEF9]|\uD83A[\uDD50-\uDD59]|\uD83E[\uDFF0-\uDFF9]"},{name:"Nl",alias:"Letter_Number",bmp:"ᛮ-ᛰⅠ-ↂↅ-ↈ〇〡-〩〸-〺ꛦ-ꛯ",astral:"\uD800[\uDD40-\uDD74\uDF41\uDF4A\uDFD1-\uDFD5]|\uD809[\uDC00-\uDC6E]"},{name:"No",alias:"Other_Number",bmp:"²³¹¼-¾৴-৹୲-୷௰-௲౸-౾൘-൞൰-൸༪-༳፩-፼៰-៹᧚⁰⁴-⁹₀-₉⅐-⅟↉①-⒛⓪-⓿❶-➓⳽㆒-㆕㈠-㈩㉈-㉏㉑-㉟㊀-㊉㊱-㊿꠰-꠵",astral:"\uD800[\uDD07-\uDD33\uDD75-\uDD78\uDD8A\uDD8B\uDEE1-\uDEFB\uDF20-\uDF23]|\uD802[\uDC58-\uDC5F\uDC79-\uDC7F\uDCA7-\uDCAF\uDCFB-\uDCFF\uDD16-\uDD1B\uDDBC\uDDBD\uDDC0-\uDDCF\uDDD2-\uDDFF\uDE40-\uDE48\uDE7D\uDE7E\uDE9D-\uDE9F\uDEEB-\uDEEF\uDF58-\uDF5F\uDF78-\uDF7F\uDFA9-\uDFAF]|\uD803[\uDCFA-\uDCFF\uDE60-\uDE7E\uDF1D-\uDF26\uDF51-\uDF54\uDFC5-\uDFCB]|\uD804[\uDC52-\uDC65\uDDE1-\uDDF4]|\uD805[\uDF3A\uDF3B]|\uD806[\uDCEA-\uDCF2]|\uD807[\uDC5A-\uDC6C\uDFC0-\uDFD4]|\uD81A[\uDF5B-\uDF61]|\uD81B[\uDE80-\uDE96]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD83A[\uDCC7-\uDCCF]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D]|\uD83C[\uDD00-\uDD0C]"},{name:"P",alias:"Punctuation",bmp:"!-#%-\\*,-\\/:;\\?@\\[-\\]_\\{\\}¡§«¶·»¿;·՚-՟։֊־׀׃׆׳״؉؊،؍؛؝-؟٪-٭۔܀-܍߷-߹࠰-࠾࡞।॥॰৽੶૰౷಄෴๏๚๛༄-༒༔༺-༽྅࿐-࿔࿙࿚၊-၏჻፠-፨᐀᙮᚛᚜᛫-᛭᜵᜶។-៖៘-៚᠀-᠊᥄᥅᨞᨟᪠-᪦᪨-᪭᭚-᭠᭽᭾᯼-᯿᰻-᰿᱾᱿᳀-᳇᳓‐-‧‰-⁃⁅-⁑⁓-⁞⁽⁾₍₎⌈-⌋〈〉❨-❵⟅⟆⟦-⟯⦃-⦘⧘-⧛⧼⧽⳹-⳼⳾⳿⵰⸀-⸮⸰-⹏⹒-⹝、-〃〈-】〔-〟〰〽゠・꓾꓿꘍-꘏꙳꙾꛲-꛷꡴-꡷꣎꣏꣸-꣺꣼꤮꤯꥟꧁-꧍꧞꧟꩜-꩟꫞꫟꫰꫱꯫﴾﴿︐-︙︰-﹒﹔-﹡﹣﹨﹪﹫!-#%-*,-/:;?@[-]_{}⦅-・",astral:"\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|𐕯|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDEAD\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A\uDFE2]|𛲟|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]"},{name:"Pc",alias:"Connector_Punctuation",bmp:"_‿⁀⁔︳︴﹍-﹏_"},{name:"Pd",alias:"Dash_Punctuation",bmp:"\\-֊־᐀᠆‐-―⸗⸚⸺⸻⹀⹝〜〰゠︱︲﹘﹣-",astral:"𐺭"},{name:"Pe",alias:"Close_Punctuation",bmp:"\\)\\]\\}༻༽᚜⁆⁾₎⌉⌋〉❩❫❭❯❱❳❵⟆⟧⟩⟫⟭⟯⦄⦆⦈⦊⦌⦎⦐⦒⦔⦖⦘⧙⧛⧽⸣⸥⸧⸩⹖⹘⹚⹜〉》」』】〕〗〙〛〞〟﴾︘︶︸︺︼︾﹀﹂﹄﹈﹚﹜﹞)]}⦆」"},{name:"Pf",alias:"Final_Punctuation",bmp:"»’”›⸃⸅⸊⸍⸝⸡"},{name:"Pi",alias:"Initial_Punctuation",bmp:"«‘‛“‟‹⸂⸄⸉⸌⸜⸠"},{name:"Po",alias:"Other_Punctuation",bmp:"!-#%-'\\*,\\.\\/:;\\?@\\¡§¶·¿;·՚-՟։׀׃׆׳״؉؊،؍؛؝-؟٪-٭۔܀-܍߷-߹࠰-࠾࡞।॥॰৽੶૰౷಄෴๏๚๛༄-༒༔྅࿐-࿔࿙࿚၊-၏჻፠-፨᙮᛫-᛭᜵᜶។-៖៘-៚᠀-᠅᠇-᠊᥄᥅᨞᨟᪠-᪦᪨-᪭᭚-᭠᭽᭾᯼-᯿᰻-᰿᱾᱿᳀-᳇᳓‖‗†-‧‰-‸※-‾⁁-⁃⁇-⁑⁓⁕-⁞⳹-⳼⳾⳿⵰⸀⸁⸆-⸈⸋⸎-⸖⸘⸙⸛⸞⸟⸪-⸮⸰-⸹⸼-⸿⹁⹃-⹏⹒-⹔、-〃〽・꓾꓿꘍-꘏꙳꙾꛲-꛷꡴-꡷꣎꣏꣸-꣺꣼꤮꤯꥟꧁-꧍꧞꧟꩜-꩟꫞꫟꫰꫱꯫︐-︖︙︰﹅﹆﹉-﹌﹐-﹒﹔-﹗﹟-﹡﹨﹪﹫!-#%-'*,./:;?@\。、・",astral:"\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|𐕯|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A\uDFE2]|𛲟|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]"},{name:"Ps",alias:"Open_Punctuation",bmp:"\\(\\[\\{༺༼᚛‚„⁅⁽₍⌈⌊〈❨❪❬❮❰❲❴⟅⟦⟨⟪⟬⟮⦃⦅⦇⦉⦋⦍⦏⦑⦓⦕⦗⧘⧚⧼⸢⸤⸦⸨⹂⹕⹗⹙⹛〈《「『【〔〖〘〚〝﴿︗︵︷︹︻︽︿﹁﹃﹇﹙﹛﹝([{⦅「"},{name:"S",alias:"Symbol",bmp:"\\$\\+<->\\^`\\|~¢-¦¨©¬®-±´¸×÷˂-˅˒-˟˥-˫˭˯-˿͵΄΅϶҂֍-֏؆-؈؋؎؏۞۩۽۾߶߾߿࢈৲৳৺৻૱୰௳-௺౿൏൹฿༁-༃༓༕-༗༚-༟༴༶༸྾-࿅࿇-࿌࿎࿏࿕-࿘႞႟᎐-᎙᙭៛᥀᧞-᧿᭡-᭪᭴-᭼᾽᾿-῁῍-῏῝-῟῭-`´῾⁄⁒⁺-⁼₊-₌₠-⃀℀℁℃-℆℈℉℔№-℘℞-℣℥℧℩℮℺℻⅀-⅄⅊-⅍⅏↊↋←-⌇⌌-⌨⌫-␦⑀-⑊⒜-ⓩ─-❧➔-⟄⟇-⟥⟰-⦂⦙-⧗⧜-⧻⧾-⭳⭶-⮕⮗-⯿⳥-⳪⹐⹑⺀-⺙⺛-⻳⼀-⿕⿰-⿻〄〒〓〠〶〷〾〿゛゜㆐㆑㆖-㆟㇀-㇣㈀-㈞㈪-㉇㉐㉠-㉿㊊-㊰㋀-㏿䷀-䷿꒐-꓆꜀-꜖꜠꜡꞉꞊꠨-꠫꠶-꠹꩷-꩹꭛꭪꭫﬩﮲-﯂﵀-﵏﷏﷼-﷿﹢﹤-﹦﹩$+<->^`|~¢-₩│-○�",astral:"\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|𑜿|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|𛲜|\uD833[\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEDD-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF73\uDF80-\uDFD8\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDE53\uDE60-\uDE6D\uDE70-\uDE74\uDE78-\uDE7C\uDE80-\uDE86\uDE90-\uDEAC\uDEB0-\uDEBA\uDEC0-\uDEC5\uDED0-\uDED9\uDEE0-\uDEE7\uDEF0-\uDEF6\uDF00-\uDF92\uDF94-\uDFCA]"},{name:"Sc",alias:"Currency_Symbol",bmp:"\\$¢-¥֏؋߾߿৲৳৻૱௹฿៛₠-⃀꠸﷼﹩$¢£¥₩",astral:"\uD807[\uDFDD-\uDFE0]|𞋿|𞲰"},{name:"Sk",alias:"Modifier_Symbol",bmp:"\\^`¨¯´¸˂-˅˒-˟˥-˫˭˯-˿͵΄΅࢈᾽᾿-῁῍-῏῝-῟῭-`´῾゛゜꜀-꜖꜠꜡꞉꞊꭛꭪꭫﮲-﯂^` ̄",astral:"\uD83C[\uDFFB-\uDFFF]"},{name:"Sm",alias:"Math_Symbol",bmp:"\\+<->\\|~¬±×÷϶؆-؈⁄⁒⁺-⁼₊-₌℘⅀-⅄⅋←-↔↚↛↠↣↦↮⇎⇏⇒⇔⇴-⋿⌠⌡⍼⎛-⎳⏜-⏡▷◁◸-◿♯⟀-⟄⟇-⟥⟰-⟿⤀-⦂⦙-⧗⧜-⧻⧾-⫿⬰-⭄⭇-⭌﬩﹢﹤-﹦+<->|~¬←-↓",astral:"\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD83B[\uDEF0\uDEF1]"},{name:"So",alias:"Other_Symbol",bmp:"¦©®°҂֍֎؎؏۞۩۽۾߶৺୰௳-௸௺౿൏൹༁-༃༓༕-༗༚-༟༴༶༸྾-࿅࿇-࿌࿎࿏࿕-࿘႞႟᎐-᎙᙭᥀᧞-᧿᭡-᭪᭴-᭼℀℁℃-℆℈℉℔№℗℞-℣℥℧℩℮℺℻⅊⅌⅍⅏↊↋↕-↙↜-↟↡↢↤↥↧-↭↯-⇍⇐⇑⇓⇕-⇳⌀-⌇⌌-⌟⌢-⌨⌫-⍻⍽-⎚⎴-⏛⏢-␦⑀-⑊⒜-ⓩ─-▶▸-◀◂-◷☀-♮♰-❧➔-➿⠀-⣿⬀-⬯⭅⭆⭍-⭳⭶-⮕⮗-⯿⳥-⳪⹐⹑⺀-⺙⺛-⻳⼀-⿕⿰-⿻〄〒〓〠〶〷〾〿㆐㆑㆖-㆟㇀-㇣㈀-㈞㈪-㉇㉐㉠-㉿㊊-㊰㋀-㏿䷀-䷿꒐-꓆꠨-꠫꠶꠷꠹꩷-꩹﵀-﵏﷏﷽-﷿¦│■○�",astral:"\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|𑜿|\uD807[\uDFD5-\uDFDC\uDFE1-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|𛲜|\uD833[\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|𞅏|\uD83B[\uDCAC\uDD2E]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFA]|\uD83D[\uDC00-\uDED7\uDEDD-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF73\uDF80-\uDFD8\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDE53\uDE60-\uDE6D\uDE70-\uDE74\uDE78-\uDE7C\uDE80-\uDE86\uDE90-\uDEAC\uDEB0-\uDEBA\uDEC0-\uDEC5\uDED0-\uDED9\uDEE0-\uDEE7\uDEF0-\uDEF6\uDF00-\uDF92\uDF94-\uDFCA]"},{name:"Z",alias:"Separator",bmp:"    - \u2028\u2029   "},{name:"Zl",alias:"Line_Separator",bmp:"\u2028"},{name:"Zp",alias:"Paragraph_Separator",bmp:"\u2029"},{name:"Zs",alias:"Space_Separator",bmp:"    -    "}]),f2}var GS;function zde(){return GS||(GS=1,function(e,t){var r=hs,n=ms;r(t,"__esModule",{value:!0}),t.default=void 0;var u=n(Jde());/*! + */var A=function(v){var C={},B={},T=v._dec,N=v._hex,R=v._pad4;function J(oe){return oe.replace(/[- _]+/g,"").toLowerCase()}function q(oe){var de=/^\\[xu](.+)/.exec(oe);return de?T(de[1]):oe.charCodeAt(oe[0]==="\\"?1:0)}function G(oe){var de="",he=-1;return(0,l.default)(v).call(v,oe,/(\\x..|\\u....|\\?[\s\S])(?:-(\\x..|\\u....|\\?[\s\S]))?/,function(fe){var ge=q(fe[1]);ge>he+1&&(de+="\\u".concat(R(N(he+1))),ge>he+2&&(de+="-\\u".concat(R(N(ge-1))))),he=q(fe[2]||fe[1])}),he<65535&&(de+="\\u".concat(R(N(he+1))),he<65534&&(de+="-\\uFFFF")),de}function ee(oe){var de="b!";return C[oe][de]||(C[oe][de]=G(C[oe].bmp))}function K(oe,de){var he=C[oe],fe="";if(he.bmp&&!he.isBmpLast){var ge;fe=(0,p.default)(ge="[".concat(he.bmp,"]")).call(ge,he.astral?"|":"")}if(he.astral&&(fe+=he.astral),he.isBmpLast&&he.bmp){var pe;fe+=(0,p.default)(pe="".concat(he.astral?"|":"","[")).call(pe,he.bmp,"]")}return de?"(?:(?!".concat(fe,")(?:[\uD800-\uDBFF][\uDC00-\uDFFF]|[\0-￿]))"):"(?:".concat(fe,")")}function ue(oe,de){var he=de?"a!":"a=";return C[oe][he]||(C[oe][he]=K(oe,de))}v.addToken(/\\([pP])(?:{(\^?)(?:(\w+)=)?([^}]*)}|([A-Za-z]))/,function(oe,de,he){var fe="Invalid double negation ",ge="Unknown Unicode token ",pe="Unicode token missing data ",z="Astral mode required for Unicode token ",O="Astral mode does not support Unicode tokens within character classes",E=(0,c.default)(oe,6),F=E[0],D=E[1],g=E[2],P=E[3],b=E[4],w=E[5],I=D==="P"||!!g,$=(0,d.default)(he).call(he,"A")!==-1,M=J(w||b),L=C[M];if(D==="P"&&g)throw new SyntaxError(fe+F);if(!C.hasOwnProperty(M))throw new SyntaxError(ge+F);if(P&&!(B[P]&&B[P][M]))throw new SyntaxError(ge+F);if(L.inverseOf){if(M=J(L.inverseOf),!C.hasOwnProperty(M)){var Y;throw new ReferenceError((0,p.default)(Y="".concat(pe+F," -> ")).call(Y,L.inverseOf))}L=C[M],I=!I}if(!(L.bmp||$))throw new SyntaxError(z+F);if($){if(de==="class")throw new SyntaxError(O);return ue(M,I)}return de==="class"?I?ee(M):L.bmp:"".concat((I?"[^":"[")+L.bmp,"]")},{scope:"all",optionalFlags:"A",leadChar:"\\"}),v.addUnicodeData=function(oe,de){var he="Unicode token requires name",fe="Unicode token has no character data ";de&&(B[de]={});var ge=f(oe),pe;try{for(ge.s();!(pe=ge.n()).done;){var z=pe.value;if(!z.name)throw new Error(he);if(!(z.inverseOf||z.bmp||z.astral))throw new Error(fe+z.name);var O=J(z.name);if(C[O]=z,de&&(B[de][O]=!0),z.alias){var E=J(z.alias);C[E]=z,de&&(B[de][E]=!0)}}}catch(F){ge.e(F)}finally{ge.f()}v.cache.flush("patterns")},v._getUnicodeProperty=function(oe){var de=J(oe);return C[de]}};t.default=A,e.exports=t.default}(El,El.exports)),El.exports}var yl={exports:{}},D2,VS;function zde(){return VS||(VS=1,D2=[{name:"C",alias:"Other",isBmpLast:!0,bmp:"\0--Ÿ­͸͹΀-΃΋΍΢԰՗՘֋֌֐׈-׏׫-׮׵-؅؜۝܎܏݋݌޲-޿߻߼࠮࠯࠿࡜࡝࡟࡫-࡯࢏-ࢗ࣢঄঍঎঑঒঩঱঳-঵঺঻৅৆৉৊৏-৖৘-৛৞৤৥৿਀਄਋-਎਑਒਩਱਴਷਺਻਽੃-੆੉੊੎-੐੒-੘੝੟-੥੷-઀઄઎઒઩઱઴઺઻૆૊૎૏૑-૟૤૥૲-૸଀଄଍଎଑଒଩଱଴଺଻୅୆୉୊୎-୔୘-୛୞୤୥୸-஁஄஋-஍஑஖-஘஛஝஠-஢஥-஧஫-஭஺-஽௃-௅௉௎௏௑-௖௘-௥௻-௿఍఑఩఺఻౅౉౎-౔౗౛౜౞౟౤౥౰-౶಍಑಩಴಺಻೅೉೎-೔೗-೜೟೤೥೰ೳ-೿഍഑൅൉൐-൓൤൥඀඄඗-඙඲඼඾඿෇-෉෋-෎෕෗෠-෥෰෱෵-฀฻-฾๜-຀຃຅຋຤຦຾຿໅໇໎໏໚໛໠-໿཈཭-཰྘྽࿍࿛-࿿჆჈-჌჎჏቉቎቏቗቙቞቟኉኎኏኱኶኷኿዁዆዇዗጑጖጗፛፜፽-፿᎚-᎟᏶᏷᏾᏿᚝-᚟᛹-᛿᜖-᜞᜷-᜿᝔-᝟᝭᝱᝴-᝿៞៟៪-៯៺-៿᠎᠚-᠟᡹-᡿᢫-᢯᣶-᣿᤟᤬-᤯᤼-᤿᥁-᥃᥮᥯᥵-᥿᦬-᦯᧊-᧏᧛-᧝᨜᨝᩟᩽᩾᪊-᪏᪚-᪟᪮᪯᫏-᫿᭍-᭏᭿᯴-᯻᰸-᰺᱊-᱌Ᲊ-᲏᲻᲼᳈-᳏᳻-᳿἖἗἞἟὆὇὎὏὘὚὜὞὾὿᾵῅῔῕῜῰῱῵῿​-‏‪-‮⁠-⁲⁳₏₝-₟⃁-⃏⃱-⃿↌-↏␧-␿⑋-⑟⭴⭵⮖⳴-⳸⴦⴨-⴬⴮⴯⵨-⵮⵱-⵾⶗-⶟⶧⶯⶷⶿⷇⷏⷗⷟⹞-⹿⺚⻴-⻿⿖-⿯⿼-⿿぀゗゘㄀-㄄㄰㆏㇤-㇯㈟꒍-꒏꓇-꓏꘬-꘿꛸-꛿Ɤ-꟏꟒꟔Ꟛ-꟱꠭-꠯꠺-꠿꡸-꡿꣆-꣍꣚-꣟꥔-꥞꥽-꥿꧎꧚-꧝꧿꨷-꨿꩎꩏꩚꩛꫃-꫚꫷-꬀꬇꬈꬏꬐꬗-꬟꬧꬯꭬-꭯꯮꯯꯺-꯿힤-힯퟇-퟊퟼-﩮﩯﫚-﫿﬇-﬒﬘-﬜﬷﬽﬿﭂﭅﯃-﯒﶐﶑﷈-﷎﷐-﷯︚-︟﹓﹧﹬-﹯﹵﻽-＀﾿-￁￈￉￐￑￘￙￝-￟￧￯-￾￿",astral:"\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDCFF\uDD03-\uDD06\uDD34-\uDD36\uDD8F\uDD9D-\uDD9F\uDDA1-\uDDCF\uDDFE-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEDF\uDEFC-\uDEFF\uDF24-\uDF2C\uDF4B-\uDF4F\uDF7B-\uDF7F\uDF9E\uDFC4-\uDFC7\uDFD6-\uDFFF]|\uD801[\uDC9E\uDC9F\uDCAA-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDD6E\uDD7B\uDD8B\uDD93\uDD96\uDDA2\uDDB2\uDDBA\uDDBD-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDF7F\uDF86\uDFB1\uDFBB-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56\uDC9F-\uDCA6\uDCB0-\uDCDF\uDCF3\uDCF6-\uDCFA\uDD1C-\uDD1E\uDD3A-\uDD3E\uDD40-\uDD7F\uDDB8-\uDDBB\uDDD0\uDDD1\uDE04\uDE07-\uDE0B\uDE14\uDE18\uDE36\uDE37\uDE3B-\uDE3E\uDE49-\uDE4F\uDE59-\uDE5F\uDEA0-\uDEBF\uDEE7-\uDEEA\uDEF7-\uDEFF\uDF36-\uDF38\uDF56\uDF57\uDF73-\uDF77\uDF92-\uDF98\uDF9D-\uDFA8\uDFB0-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCF9\uDD28-\uDD2F\uDD3A-\uDE5F\uDE7F\uDEAA\uDEAE\uDEAF\uDEB2-\uDEFF\uDF28-\uDF2F\uDF5A-\uDF6F\uDF8A-\uDFAF\uDFCC-\uDFDF\uDFF7-\uDFFF]|\uD804[\uDC4E-\uDC51\uDC76-\uDC7E\uDCBD\uDCC3-\uDCCF\uDCE9-\uDCEF\uDCFA-\uDCFF\uDD35\uDD48-\uDD4F\uDD77-\uDD7F\uDDE0\uDDF5-\uDDFF\uDE12\uDE3F-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEAA-\uDEAF\uDEEB-\uDEEF\uDEFA-\uDEFF\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A\uDF45\uDF46\uDF49\uDF4A\uDF4E\uDF4F\uDF51-\uDF56\uDF58-\uDF5C\uDF64\uDF65\uDF6D-\uDF6F\uDF75-\uDFFF]|\uD805[\uDC5C\uDC62-\uDC7F\uDCC8-\uDCCF\uDCDA-\uDD7F\uDDB6\uDDB7\uDDDE-\uDDFF\uDE45-\uDE4F\uDE5A-\uDE5F\uDE6D-\uDE7F\uDEBA-\uDEBF\uDECA-\uDEFF\uDF1B\uDF1C\uDF2C-\uDF2F\uDF47-\uDFFF]|\uD806[\uDC3C-\uDC9F\uDCF3-\uDCFE\uDD07\uDD08\uDD0A\uDD0B\uDD14\uDD17\uDD36\uDD39\uDD3A\uDD47-\uDD4F\uDD5A-\uDD9F\uDDA8\uDDA9\uDDD8\uDDD9\uDDE5-\uDDFF\uDE48-\uDE4F\uDEA3-\uDEAF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC37\uDC46-\uDC4F\uDC6D-\uDC6F\uDC90\uDC91\uDCA8\uDCB7-\uDCFF\uDD07\uDD0A\uDD37-\uDD39\uDD3B\uDD3E\uDD48-\uDD4F\uDD5A-\uDD5F\uDD66\uDD69\uDD8F\uDD92\uDD99-\uDD9F\uDDAA-\uDEDF\uDEF9-\uDFAF\uDFB1-\uDFBF\uDFF2-\uDFFE]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC6F\uDC75-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80E-\uD810\uD812-\uD819\uD824-\uD82A\uD82D\uD82E\uD830-\uD832\uD83F\uD87B-\uD87D\uD87F\uD885-\uDB3F\uDB41-\uDBFF][\uDC00-\uDFFF]|\uD80B[\uDC00-\uDF8F\uDFF3-\uDFFF]|\uD80D[\uDC2F-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F\uDE6A-\uDE6D\uDEBF\uDECA-\uDECF\uDEEE\uDEEF\uDEF6-\uDEFF\uDF46-\uDF4F\uDF5A\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDE3F\uDE9B-\uDEFF\uDF4B-\uDF4E\uDF88-\uDF8E\uDFA0-\uDFDF\uDFE5-\uDFEF\uDFF2-\uDFFF]|\uD821[\uDFF8-\uDFFF]|\uD823[\uDCD6-\uDCFF\uDD09-\uDFFF]|\uD82B[\uDC00-\uDFEF\uDFF4\uDFFC\uDFFF]|\uD82C[\uDD23-\uDD4F\uDD53-\uDD63\uDD68-\uDD6F\uDEFC-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A\uDC9B\uDCA0-\uDFFF]|\uD833[\uDC00-\uDEFF\uDF2E\uDF2F\uDF47-\uDF4F\uDFC4-\uDFFF]|\uD834[\uDCF6-\uDCFF\uDD27\uDD28\uDD73-\uDD7A\uDDEB-\uDDFF\uDE46-\uDEDF\uDEF4-\uDEFF\uDF57-\uDF5F\uDF79-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDFCC\uDFCD]|\uD836[\uDE8C-\uDE9A\uDEA0\uDEB0-\uDFFF]|\uD837[\uDC00-\uDEFF\uDF1F-\uDFFF]|\uD838[\uDC07\uDC19\uDC1A\uDC22\uDC25\uDC2B-\uDCFF\uDD2D-\uDD2F\uDD3E\uDD3F\uDD4A-\uDD4D\uDD50-\uDE8F\uDEAF-\uDEBF\uDEFA-\uDEFE\uDF00-\uDFFF]|\uD839[\uDC00-\uDFDF\uDFE7\uDFEC\uDFEF\uDFFF]|\uD83A[\uDCC5\uDCC6\uDCD7-\uDCFF\uDD4C-\uDD4F\uDD5A-\uDD5D\uDD60-\uDFFF]|\uD83B[\uDC00-\uDC70\uDCB5-\uDD00\uDD3E-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDEEF\uDEF2-\uDFFF]|\uD83C[\uDC2C-\uDC2F\uDC94-\uDC9F\uDCAF\uDCB0\uDCC0\uDCD0\uDCF6-\uDCFF\uDDAE-\uDDE5\uDE03-\uDE0F\uDE3C-\uDE3F\uDE49-\uDE4F\uDE52-\uDE5F\uDE66-\uDEFF]|\uD83D[\uDED8-\uDEDC\uDEED-\uDEEF\uDEFD-\uDEFF\uDF74-\uDF7F\uDFD9-\uDFDF\uDFEC-\uDFEF\uDFF1-\uDFFF]|\uD83E[\uDC0C-\uDC0F\uDC48-\uDC4F\uDC5A-\uDC5F\uDC88-\uDC8F\uDCAE\uDCAF\uDCB2-\uDCFF\uDE54-\uDE5F\uDE6E\uDE6F\uDE75-\uDE77\uDE7D-\uDE7F\uDE87-\uDE8F\uDEAD-\uDEAF\uDEBB-\uDEBF\uDEC6-\uDECF\uDEDA-\uDEDF\uDEE8-\uDEEF\uDEF7-\uDEFF\uDF93\uDFCB-\uDFEF\uDFFA-\uDFFF]|\uD869[\uDEE0-\uDEFF]|\uD86D[\uDF39-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDEAF]|\uD87A[\uDFE1-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uD884[\uDF4B-\uDFFF]|\uDB40[\uDC00-\uDCFF\uDDF0-\uDFFF]"},{name:"Cc",alias:"Control",bmp:"\0--Ÿ"},{name:"Cf",alias:"Format",bmp:"­؀-؅؜۝܏࢐࢑࣢᠎​-‏‪-‮⁠-⁤⁦-\uFEFF-",astral:"\uD804[\uDCBD\uDCCD]|\uD80D[\uDC30-\uDC38]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]"},{name:"Cn",alias:"Unassigned",bmp:"͸͹΀-΃΋΍΢԰՗՘֋֌֐׈-׏׫-׮׵-׿܎݋݌޲-޿߻߼࠮࠯࠿࡜࡝࡟࡫-࡯࢏࢒-ࢗ঄঍঎঑঒঩঱঳-঵঺঻৅৆৉৊৏-৖৘-৛৞৤৥৿਀਄਋-਎਑਒਩਱਴਷਺਻਽੃-੆੉੊੎-੐੒-੘੝੟-੥੷-઀઄઎઒઩઱઴઺઻૆૊૎૏૑-૟૤૥૲-૸଀଄଍଎଑଒଩଱଴଺଻୅୆୉୊୎-୔୘-୛୞୤୥୸-஁஄஋-஍஑஖-஘஛஝஠-஢஥-஧஫-஭஺-஽௃-௅௉௎௏௑-௖௘-௥௻-௿఍఑఩఺఻౅౉౎-౔౗౛౜౞౟౤౥౰-౶಍಑಩಴಺಻೅೉೎-೔೗-೜೟೤೥೰ೳ-೿഍഑൅൉൐-൓൤൥඀඄඗-඙඲඼඾඿෇-෉෋-෎෕෗෠-෥෰෱෵-฀฻-฾๜-຀຃຅຋຤຦຾຿໅໇໎໏໚໛໠-໿཈཭-཰྘྽࿍࿛-࿿჆჈-჌჎჏቉቎቏቗቙቞቟኉኎኏኱኶኷኿዁዆዇዗጑጖጗፛፜፽-፿᎚-᎟᏶᏷᏾᏿᚝-᚟᛹-᛿᜖-᜞᜷-᜿᝔-᝟᝭᝱᝴-᝿៞៟៪-៯៺-៿᠚-᠟᡹-᡿᢫-᢯᣶-᣿᤟᤬-᤯᤼-᤿᥁-᥃᥮᥯᥵-᥿᦬-᦯᧊-᧏᧛-᧝᨜᨝᩟᩽᩾᪊-᪏᪚-᪟᪮᪯᫏-᫿᭍-᭏᭿᯴-᯻᰸-᰺᱊-᱌Ᲊ-᲏᲻᲼᳈-᳏᳻-᳿἖἗἞἟὆὇὎὏὘὚὜὞὾὿᾵῅῔῕῜῰῱῵῿⁥⁲⁳₏₝-₟⃁-⃏⃱-⃿↌-↏␧-␿⑋-⑟⭴⭵⮖⳴-⳸⴦⴨-⴬⴮⴯⵨-⵮⵱-⵾⶗-⶟⶧⶯⶷⶿⷇⷏⷗⷟⹞-⹿⺚⻴-⻿⿖-⿯⿼-⿿぀゗゘㄀-㄄㄰㆏㇤-㇯㈟꒍-꒏꓇-꓏꘬-꘿꛸-꛿Ɤ-꟏꟒꟔Ꟛ-꟱꠭-꠯꠺-꠿꡸-꡿꣆-꣍꣚-꣟꥔-꥞꥽-꥿꧎꧚-꧝꧿꨷-꨿꩎꩏꩚꩛꫃-꫚꫷-꬀꬇꬈꬏꬐꬗-꬟꬧꬯꭬-꭯꯮꯯꯺-꯿힤-힯퟇-퟊퟼-퟿﩮﩯﫚-﫿﬇-﬒﬘-﬜﬷﬽﬿﭂﭅﯃-﯒﶐﶑﷈-﷎﷐-﷯︚-︟﹓﹧﹬-﹯﹵﻽﻾＀﾿-￁￈￉￐￑￘￙￝-￟￧￯-￸￾￿",astral:"\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDCFF\uDD03-\uDD06\uDD34-\uDD36\uDD8F\uDD9D-\uDD9F\uDDA1-\uDDCF\uDDFE-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEDF\uDEFC-\uDEFF\uDF24-\uDF2C\uDF4B-\uDF4F\uDF7B-\uDF7F\uDF9E\uDFC4-\uDFC7\uDFD6-\uDFFF]|\uD801[\uDC9E\uDC9F\uDCAA-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDD6E\uDD7B\uDD8B\uDD93\uDD96\uDDA2\uDDB2\uDDBA\uDDBD-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDF7F\uDF86\uDFB1\uDFBB-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56\uDC9F-\uDCA6\uDCB0-\uDCDF\uDCF3\uDCF6-\uDCFA\uDD1C-\uDD1E\uDD3A-\uDD3E\uDD40-\uDD7F\uDDB8-\uDDBB\uDDD0\uDDD1\uDE04\uDE07-\uDE0B\uDE14\uDE18\uDE36\uDE37\uDE3B-\uDE3E\uDE49-\uDE4F\uDE59-\uDE5F\uDEA0-\uDEBF\uDEE7-\uDEEA\uDEF7-\uDEFF\uDF36-\uDF38\uDF56\uDF57\uDF73-\uDF77\uDF92-\uDF98\uDF9D-\uDFA8\uDFB0-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCF9\uDD28-\uDD2F\uDD3A-\uDE5F\uDE7F\uDEAA\uDEAE\uDEAF\uDEB2-\uDEFF\uDF28-\uDF2F\uDF5A-\uDF6F\uDF8A-\uDFAF\uDFCC-\uDFDF\uDFF7-\uDFFF]|\uD804[\uDC4E-\uDC51\uDC76-\uDC7E\uDCC3-\uDCCC\uDCCE\uDCCF\uDCE9-\uDCEF\uDCFA-\uDCFF\uDD35\uDD48-\uDD4F\uDD77-\uDD7F\uDDE0\uDDF5-\uDDFF\uDE12\uDE3F-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEAA-\uDEAF\uDEEB-\uDEEF\uDEFA-\uDEFF\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A\uDF45\uDF46\uDF49\uDF4A\uDF4E\uDF4F\uDF51-\uDF56\uDF58-\uDF5C\uDF64\uDF65\uDF6D-\uDF6F\uDF75-\uDFFF]|\uD805[\uDC5C\uDC62-\uDC7F\uDCC8-\uDCCF\uDCDA-\uDD7F\uDDB6\uDDB7\uDDDE-\uDDFF\uDE45-\uDE4F\uDE5A-\uDE5F\uDE6D-\uDE7F\uDEBA-\uDEBF\uDECA-\uDEFF\uDF1B\uDF1C\uDF2C-\uDF2F\uDF47-\uDFFF]|\uD806[\uDC3C-\uDC9F\uDCF3-\uDCFE\uDD07\uDD08\uDD0A\uDD0B\uDD14\uDD17\uDD36\uDD39\uDD3A\uDD47-\uDD4F\uDD5A-\uDD9F\uDDA8\uDDA9\uDDD8\uDDD9\uDDE5-\uDDFF\uDE48-\uDE4F\uDEA3-\uDEAF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC37\uDC46-\uDC4F\uDC6D-\uDC6F\uDC90\uDC91\uDCA8\uDCB7-\uDCFF\uDD07\uDD0A\uDD37-\uDD39\uDD3B\uDD3E\uDD48-\uDD4F\uDD5A-\uDD5F\uDD66\uDD69\uDD8F\uDD92\uDD99-\uDD9F\uDDAA-\uDEDF\uDEF9-\uDFAF\uDFB1-\uDFBF\uDFF2-\uDFFE]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC6F\uDC75-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80E-\uD810\uD812-\uD819\uD824-\uD82A\uD82D\uD82E\uD830-\uD832\uD83F\uD87B-\uD87D\uD87F\uD885-\uDB3F\uDB41-\uDB7F][\uDC00-\uDFFF]|\uD80B[\uDC00-\uDF8F\uDFF3-\uDFFF]|\uD80D[\uDC2F\uDC39-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F\uDE6A-\uDE6D\uDEBF\uDECA-\uDECF\uDEEE\uDEEF\uDEF6-\uDEFF\uDF46-\uDF4F\uDF5A\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDE3F\uDE9B-\uDEFF\uDF4B-\uDF4E\uDF88-\uDF8E\uDFA0-\uDFDF\uDFE5-\uDFEF\uDFF2-\uDFFF]|\uD821[\uDFF8-\uDFFF]|\uD823[\uDCD6-\uDCFF\uDD09-\uDFFF]|\uD82B[\uDC00-\uDFEF\uDFF4\uDFFC\uDFFF]|\uD82C[\uDD23-\uDD4F\uDD53-\uDD63\uDD68-\uDD6F\uDEFC-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A\uDC9B\uDCA4-\uDFFF]|\uD833[\uDC00-\uDEFF\uDF2E\uDF2F\uDF47-\uDF4F\uDFC4-\uDFFF]|\uD834[\uDCF6-\uDCFF\uDD27\uDD28\uDDEB-\uDDFF\uDE46-\uDEDF\uDEF4-\uDEFF\uDF57-\uDF5F\uDF79-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDFCC\uDFCD]|\uD836[\uDE8C-\uDE9A\uDEA0\uDEB0-\uDFFF]|\uD837[\uDC00-\uDEFF\uDF1F-\uDFFF]|\uD838[\uDC07\uDC19\uDC1A\uDC22\uDC25\uDC2B-\uDCFF\uDD2D-\uDD2F\uDD3E\uDD3F\uDD4A-\uDD4D\uDD50-\uDE8F\uDEAF-\uDEBF\uDEFA-\uDEFE\uDF00-\uDFFF]|\uD839[\uDC00-\uDFDF\uDFE7\uDFEC\uDFEF\uDFFF]|\uD83A[\uDCC5\uDCC6\uDCD7-\uDCFF\uDD4C-\uDD4F\uDD5A-\uDD5D\uDD60-\uDFFF]|\uD83B[\uDC00-\uDC70\uDCB5-\uDD00\uDD3E-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDEEF\uDEF2-\uDFFF]|\uD83C[\uDC2C-\uDC2F\uDC94-\uDC9F\uDCAF\uDCB0\uDCC0\uDCD0\uDCF6-\uDCFF\uDDAE-\uDDE5\uDE03-\uDE0F\uDE3C-\uDE3F\uDE49-\uDE4F\uDE52-\uDE5F\uDE66-\uDEFF]|\uD83D[\uDED8-\uDEDC\uDEED-\uDEEF\uDEFD-\uDEFF\uDF74-\uDF7F\uDFD9-\uDFDF\uDFEC-\uDFEF\uDFF1-\uDFFF]|\uD83E[\uDC0C-\uDC0F\uDC48-\uDC4F\uDC5A-\uDC5F\uDC88-\uDC8F\uDCAE\uDCAF\uDCB2-\uDCFF\uDE54-\uDE5F\uDE6E\uDE6F\uDE75-\uDE77\uDE7D-\uDE7F\uDE87-\uDE8F\uDEAD-\uDEAF\uDEBB-\uDEBF\uDEC6-\uDECF\uDEDA-\uDEDF\uDEE8-\uDEEF\uDEF7-\uDEFF\uDF93\uDFCB-\uDFEF\uDFFA-\uDFFF]|\uD869[\uDEE0-\uDEFF]|\uD86D[\uDF39-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDEAF]|\uD87A[\uDFE1-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uD884[\uDF4B-\uDFFF]|\uDB40[\uDC00\uDC02-\uDC1F\uDC80-\uDCFF\uDDF0-\uDFFF]|[\uDBBF\uDBFF][\uDFFE\uDFFF]"},{name:"Co",alias:"Private_Use",bmp:"-",astral:"[\uDB80-\uDBBE\uDBC0-\uDBFE][\uDC00-\uDFFF]|[\uDBBF\uDBFF][\uDC00-\uDFFD]"},{name:"Cs",alias:"Surrogate",bmp:"\uD800-\uDFFF"},{name:"L",alias:"Letter",bmp:"A-Za-zªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛱ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢄᢇ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎↃↄⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々〆〱-〵〻〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛥꜗ-ꜟꜢ-ꞈꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",astral:"\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A]"},{name:"LC",alias:"Cased_Letter",bmp:"A-Za-zµÀ-ÖØ-öø-ƺƼ-ƿDŽ-ʓʕ-ʯͰ-ͳͶͷͻ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՠ-ֈႠ-ჅჇჍა-ჺჽ-ჿᎠ-Ᏽᏸ-ᏽᲀ-ᲈᲐ-ᲺᲽ-Ჿᴀ-ᴫᵫ-ᵷᵹ-ᶚḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℴℹℼ-ℿⅅ-ⅉⅎↃↄⰀ-ⱻⱾ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭꙀ-ꙭꚀ-ꚛꜢ-ꝯꝱ-ꞇꞋ-ꞎꞐ-ꟊꟐꟑꟓꟕ-ꟙꟵꟶꟺꬰ-ꭚꭠ-ꭨꭰ-ꮿff-stﬓ-ﬗA-Za-z",astral:"\uD801[\uDC00-\uDC4F\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC]|\uD803[\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD806[\uDCA0-\uDCDF]|\uD81B[\uDE40-\uDE7F]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF09\uDF0B-\uDF1E]|\uD83A[\uDD00-\uDD43]"},{name:"Ll",alias:"Lowercase_Letter",bmp:"a-zµß-öø-ÿāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįıijĵķĸĺļľŀłńņňʼnŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷźżž-ƀƃƅƈƌƍƒƕƙ-ƛƞơƣƥƨƪƫƭưƴƶƹƺƽ-ƿdžljnjǎǐǒǔǖǘǚǜǝǟǡǣǥǧǩǫǭǯǰdzǵǹǻǽǿȁȃȅȇȉȋȍȏȑȓȕȗșțȝȟȡȣȥȧȩȫȭȯȱȳ-ȹȼȿɀɂɇɉɋɍɏ-ʓʕ-ʯͱͳͷͻ-ͽΐά-ώϐϑϕ-ϗϙϛϝϟϡϣϥϧϩϫϭϯ-ϳϵϸϻϼа-џѡѣѥѧѩѫѭѯѱѳѵѷѹѻѽѿҁҋҍҏґғҕҗҙқҝҟҡңҥҧҩҫҭүұҳҵҷҹһҽҿӂӄӆӈӊӌӎӏӑӓӕӗәӛӝӟӡӣӥӧөӫӭӯӱӳӵӷӹӻӽӿԁԃԅԇԉԋԍԏԑԓԕԗԙԛԝԟԡԣԥԧԩԫԭԯՠ-ֈა-ჺჽ-ჿᏸ-ᏽᲀ-ᲈᴀ-ᴫᵫ-ᵷᵹ-ᶚḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕ-ẝẟạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹỻỽỿ-ἇἐ-ἕἠ-ἧἰ-ἷὀ-ὅὐ-ὗὠ-ὧὰ-ώᾀ-ᾇᾐ-ᾗᾠ-ᾧᾰ-ᾴᾶᾷιῂ-ῄῆῇῐ-ΐῖῗῠ-ῧῲ-ῴῶῷℊℎℏℓℯℴℹℼℽⅆ-ⅉⅎↄⰰ-ⱟⱡⱥⱦⱨⱪⱬⱱⱳⱴⱶ-ⱻⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣⳤⳬⳮⳳⴀ-ⴥⴧⴭꙁꙃꙅꙇꙉꙋꙍꙏꙑꙓꙕꙗꙙꙛꙝꙟꙡꙣꙥꙧꙩꙫꙭꚁꚃꚅꚇꚉꚋꚍꚏꚑꚓꚕꚗꚙꚛꜣꜥꜧꜩꜫꜭꜯ-ꜱꜳꜵꜷꜹꜻꜽꜿꝁꝃꝅꝇꝉꝋꝍꝏꝑꝓꝕꝗꝙꝛꝝꝟꝡꝣꝥꝧꝩꝫꝭꝯꝱ-ꝸꝺꝼꝿꞁꞃꞅꞇꞌꞎꞑꞓ-ꞕꞗꞙꞛꞝꞟꞡꞣꞥꞧꞩꞯꞵꞷꞹꞻꞽꞿꟁꟃꟈꟊꟑꟓꟕꟗꟙꟶꟺꬰ-ꭚꭠ-ꭨꭰ-ꮿff-stﬓ-ﬗa-z",astral:"\uD801[\uDC28-\uDC4F\uDCD8-\uDCFB\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC]|\uD803[\uDCC0-\uDCF2]|\uD806[\uDCC0-\uDCDF]|\uD81B[\uDE60-\uDE7F]|\uD835[\uDC1A-\uDC33\uDC4E-\uDC54\uDC56-\uDC67\uDC82-\uDC9B\uDCB6-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDCEA-\uDD03\uDD1E-\uDD37\uDD52-\uDD6B\uDD86-\uDD9F\uDDBA-\uDDD3\uDDEE-\uDE07\uDE22-\uDE3B\uDE56-\uDE6F\uDE8A-\uDEA5\uDEC2-\uDEDA\uDEDC-\uDEE1\uDEFC-\uDF14\uDF16-\uDF1B\uDF36-\uDF4E\uDF50-\uDF55\uDF70-\uDF88\uDF8A-\uDF8F\uDFAA-\uDFC2\uDFC4-\uDFC9\uDFCB]|\uD837[\uDF00-\uDF09\uDF0B-\uDF1E]|\uD83A[\uDD22-\uDD43]"},{name:"Lm",alias:"Modifier_Letter",bmp:"ʰ-ˁˆ-ˑˠ-ˤˬˮʹͺՙـۥۦߴߵߺࠚࠤࠨࣉॱๆໆჼៗᡃᪧᱸ-ᱽᴬ-ᵪᵸᶛ-ᶿⁱⁿₐ-ₜⱼⱽⵯⸯ々〱-〵〻ゝゞー-ヾꀕꓸ-ꓽꘌꙿꚜꚝꜗ-ꜟꝰꞈꟲ-ꟴꟸꟹꧏꧦꩰꫝꫳꫴꭜ-ꭟꭩー゙゚",astral:"\uD801[\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD81A[\uDF40-\uDF43]|\uD81B[\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD838[\uDD37-\uDD3D]|𞥋"},{name:"Lo",alias:"Other_Letter",bmp:"ªºƻǀ-ǃʔא-תׯ-ײؠ-ؿف-يٮٯٱ-ۓەۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪࠀ-ࠕࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣈऄ-हऽॐक़-ॡॲ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๅກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎᄀ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛱ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៜᠠ-ᡂᡄ-ᡸᢀ-ᢄᢇ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱷᳩ-ᳬᳮ-ᳳᳵᳶᳺℵ-ℸⴰ-ⵧⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ〆〼ぁ-ゖゟァ-ヺヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꀔꀖ-ꒌꓐ-ꓷꔀ-ꘋꘐ-ꘟꘪꘫꙮꚠ-ꛥꞏꟷꟻ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧠ-ꧤꧧ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩯꩱ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛꫜꫠ-ꫪꫲꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎יִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼヲ-ッア-ンᅠ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",astral:"\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC50-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF4A\uDF50]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|𝼊|\uD838[\uDD00-\uDD2C\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A]"},{name:"Lt",alias:"Titlecase_Letter",bmp:"DžLjNjDzᾈ-ᾏᾘ-ᾟᾨ-ᾯᾼῌῼ"},{name:"Lu",alias:"Uppercase_Letter",bmp:"A-ZÀ-ÖØ-ÞĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮİIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŸŹŻŽƁƂƄƆƇƉ-ƋƎ-ƑƓƔƖ-ƘƜƝƟƠƢƤƦƧƩƬƮƯƱ-ƳƵƷƸƼDŽLJNJǍǏǑǓǕǗǙǛǞǠǢǤǦǨǪǬǮDZǴǶ-ǸǺǼǾȀȂȄȆȈȊȌȎȐȒȔȖȘȚȜȞȠȢȤȦȨȪȬȮȰȲȺȻȽȾɁɃ-ɆɈɊɌɎͰͲͶͿΆΈ-ΊΌΎΏΑ-ΡΣ-ΫϏϒ-ϔϘϚϜϞϠϢϤϦϨϪϬϮϴϷϹϺϽ-ЯѠѢѤѦѨѪѬѮѰѲѴѶѸѺѼѾҀҊҌҎҐҒҔҖҘҚҜҞҠҢҤҦҨҪҬҮҰҲҴҶҸҺҼҾӀӁӃӅӇӉӋӍӐӒӔӖӘӚӜӞӠӢӤӦӨӪӬӮӰӲӴӶӸӺӼӾԀԂԄԆԈԊԌԎԐԒԔԖԘԚԜԞԠԢԤԦԨԪԬԮԱ-ՖႠ-ჅჇჍᎠ-ᏵᲐ-ᲺᲽ-ᲿḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẞẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸỺỼỾἈ-ἏἘ-ἝἨ-ἯἸ-ἿὈ-ὍὙὛὝὟὨ-ὯᾸ-ΆῈ-ΉῘ-ΊῨ-ῬῸ-Ώℂℇℋ-ℍℐ-ℒℕℙ-ℝℤΩℨK-ℭℰ-ℳℾℿⅅↃⰀ-ⰯⱠⱢ-ⱤⱧⱩⱫⱭ-ⱰⱲⱵⱾ-ⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚⳜⳞⳠⳢⳫⳭⳲꙀꙂꙄꙆꙈꙊꙌꙎꙐꙒꙔꙖꙘꙚꙜꙞꙠꙢꙤꙦꙨꙪꙬꚀꚂꚄꚆꚈꚊꚌꚎꚐꚒꚔꚖꚘꚚꜢꜤꜦꜨꜪꜬꜮꜲꜴꜶꜸꜺꜼꜾꝀꝂꝄꝆꝈꝊꝌꝎꝐꝒꝔꝖꝘꝚꝜꝞꝠꝢꝤꝦꝨꝪꝬꝮꝹꝻꝽꝾꞀꞂꞄꞆꞋꞍꞐꞒꞖꞘꞚꞜꞞꞠꞢꞤꞦꞨꞪ-ꞮꞰ-ꞴꞶꞸꞺꞼꞾꟀꟂꟄ-ꟇꟉꟐꟖꟘꟵA-Z",astral:"\uD801[\uDC00-\uDC27\uDCB0-\uDCD3\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95]|\uD803[\uDC80-\uDCB2]|\uD806[\uDCA0-\uDCBF]|\uD81B[\uDE40-\uDE5F]|\uD835[\uDC00-\uDC19\uDC34-\uDC4D\uDC68-\uDC81\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB5\uDCD0-\uDCE9\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD38\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD6C-\uDD85\uDDA0-\uDDB9\uDDD4-\uDDED\uDE08-\uDE21\uDE3C-\uDE55\uDE70-\uDE89\uDEA8-\uDEC0\uDEE2-\uDEFA\uDF1C-\uDF34\uDF56-\uDF6E\uDF90-\uDFA8\uDFCA]|\uD83A[\uDD00-\uDD21]"},{name:"M",alias:"Mark",bmp:"̀-ͯ҃-҉֑-ׇֽֿׁׂׅׄؐ-ًؚ-ٰٟۖ-ۜ۟-۪ۤۧۨ-ܑۭܰ-݊ަ-ް߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࢘-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣঁ-ঃ়া-ৄেৈো-্ৗৢৣ৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑੰੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣஂா-ூெ-ைொ-்ௗఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣඁ-ඃ්ා-ුූෘ-ෟෲෳัิ-ฺ็-๎ັິ-ຼ່-ໍ༹༘༙༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏႚ-ႝ፝-፟ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝᠋-᠍᠏ᢅᢆᢩᤠ-ᤫᤰ-᤻ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼᪰-ᫎᬀ-ᬄ᬴-᭄᭫-᭳ᮀ-ᮂᮡ-ᮭ᯦-᯳ᰤ-᰷᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿⃐-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꙯-꙲ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣠-꣱ꣿꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀ꧥꨩ-ꨶꩃꩌꩍꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭ﬞ︀-️︠-︯",astral:"\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDEAB\uDEAC\uDF46-\uDF50\uDF82-\uDF85]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC70\uDC73\uDC74\uDC7F-\uDC82\uDCB0-\uDCBA\uDCC2\uDD00-\uDD02\uDD27-\uDD34\uDD45\uDD46\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDDC9-\uDDCC\uDDCE\uDDCF\uDE2C-\uDE37\uDE3E\uDEDF-\uDEEA\uDF00-\uDF03\uDF3B\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC35-\uDC46\uDC5E\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDDDC\uDDDD\uDE30-\uDE40\uDEAB-\uDEB7\uDF1D-\uDF2B]|\uD806[\uDC2C-\uDC3A\uDD30-\uDD35\uDD37\uDD38\uDD3B-\uDD3E\uDD40\uDD42\uDD43\uDDD1-\uDDD7\uDDDA-\uDDE0\uDDE4\uDE01-\uDE0A\uDE33-\uDE39\uDE3B-\uDE3E\uDE47\uDE51-\uDE5B\uDE8A-\uDE99]|\uD807[\uDC2F-\uDC36\uDC38-\uDC3F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD8A-\uDD8E\uDD90\uDD91\uDD93-\uDD97\uDEF3-\uDEF6]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF4F\uDF51-\uDF87\uDF8F-\uDF92\uDFE4\uDFF0\uDFF1]|\uD82F[\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD30-\uDD36\uDEAE\uDEEC-\uDEEF]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uDB40[\uDD00-\uDDEF]"},{name:"Mc",alias:"Spacing_Mark",bmp:"ःऻा-ीॉ-ौॎॏংঃা-ীেৈোৌৗਃਾ-ੀઃા-ીૉોૌଂଃାୀେୈୋୌୗாிுூெ-ைொ-ௌௗఁ-ఃు-ౄಂಃಾೀ-ೄೇೈೊೋೕೖംഃാ-ീെ-ൈൊ-ൌൗංඃා-ෑෘ-ෟෲෳ༾༿ཿါာေးျြၖၗၢ-ၤၧ-ၭႃႄႇ-ႌႏႚ-ႜ᜕᜴ាើ-ៅះៈᤣ-ᤦᤩ-ᤫᤰᤱᤳ-ᤸᨙᨚᩕᩗᩡᩣᩤᩭ-ᩲᬄᬵᬻᬽ-ᭁᭃ᭄ᮂᮡᮦᮧ᮪ᯧᯪ-ᯬᯮ᯲᯳ᰤ-ᰫᰴᰵ᳡᳷〮〯ꠣꠤꠧꢀꢁꢴ-ꣃꥒ꥓ꦃꦴꦵꦺꦻꦾ-꧀ꨯꨰꨳꨴꩍꩻꩽꫫꫮꫯꫵꯣꯤꯦꯧꯩꯪ꯬",astral:"\uD804[\uDC00\uDC02\uDC82\uDCB0-\uDCB2\uDCB7\uDCB8\uDD2C\uDD45\uDD46\uDD82\uDDB3-\uDDB5\uDDBF\uDDC0\uDDCE\uDE2C-\uDE2E\uDE32\uDE33\uDE35\uDEE0-\uDEE2\uDF02\uDF03\uDF3E\uDF3F\uDF41-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63]|\uD805[\uDC35-\uDC37\uDC40\uDC41\uDC45\uDCB0-\uDCB2\uDCB9\uDCBB-\uDCBE\uDCC1\uDDAF-\uDDB1\uDDB8-\uDDBB\uDDBE\uDE30-\uDE32\uDE3B\uDE3C\uDE3E\uDEAC\uDEAE\uDEAF\uDEB6\uDF20\uDF21\uDF26]|\uD806[\uDC2C-\uDC2E\uDC38\uDD30-\uDD35\uDD37\uDD38\uDD3D\uDD40\uDD42\uDDD1-\uDDD3\uDDDC-\uDDDF\uDDE4\uDE39\uDE57\uDE58\uDE97]|\uD807[\uDC2F\uDC3E\uDCA9\uDCB1\uDCB4\uDD8A-\uDD8E\uDD93\uDD94\uDD96\uDEF5\uDEF6]|\uD81B[\uDF51-\uDF87\uDFF0\uDFF1]|\uD834[\uDD65\uDD66\uDD6D-\uDD72]"},{name:"Me",alias:"Enclosing_Mark",bmp:"҈҉᪾⃝-⃠⃢-⃤꙰-꙲"},{name:"Mn",alias:"Nonspacing_Mark",bmp:"̀-ͯ҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-ٰٟۖ-ۜ۟-۪ۤۧۨ-ܑۭܰ-݊ަ-ް߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࢘-࢟࣊-ࣣ࣡-ंऺ़ु-ै्॑-ॗॢॣঁ়ু-ৄ্ৢৣ৾ਁਂ਼ੁੂੇੈੋ-੍ੑੰੱੵઁં઼ુ-ૅેૈ્ૢૣૺ-૿ଁ଼ିୁ-ୄ୍୕ୖୢୣஂீ்ఀఄ఼ా-ీె-ైొ-్ౕౖౢౣಁ಼ಿೆೌ್ೢೣഀഁ഻഼ു-ൄ്ൢൣඁ්ි-ුූัิ-ฺ็-๎ັິ-ຼ່-ໍཱ༹༘༙༵༷-ཾྀ-྄྆྇ྍ-ྗྙ-ྼ࿆ိ-ူဲ-့္်ွှၘၙၞ-ၠၱ-ၴႂႅႆႍႝ፝-፟ᜒ-᜔ᜲᜳᝒᝓᝲᝳ឴឵ិ-ួំ៉-៓៝᠋-᠍᠏ᢅᢆᢩᤠ-ᤢᤧᤨᤲ᤹-᤻ᨘᨗᨛᩖᩘ-ᩞ᩠ᩢᩥ-ᩬᩳ-᩿᩼᪰-᪽ᪿ-ᫎᬀ-ᬃ᬴ᬶ-ᬺᬼᭂ᭫-᭳ᮀᮁᮢ-ᮥᮨᮩ᮫-ᮭ᯦ᯨᯩᯭᯯ-ᯱᰬ-ᰳᰶ᰷᳐-᳔᳒-᳢᳠-᳨᳭᳴᳸᳹᷀-᷿⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〭꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠥꠦ꠬꣄ꣅ꣠-꣱ꣿꤦ-꤭ꥇ-ꥑꦀ-ꦂ꦳ꦶ-ꦹꦼꦽꧥꨩ-ꨮꨱꨲꨵꨶꩃꩌꩼꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫬꫭ꫶ꯥꯨ꯭ﬞ︀-️︠-︯",astral:"\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDEAB\uDEAC\uDF46-\uDF50\uDF82-\uDF85]|\uD804[\uDC01\uDC38-\uDC46\uDC70\uDC73\uDC74\uDC7F-\uDC81\uDCB3-\uDCB6\uDCB9\uDCBA\uDCC2\uDD00-\uDD02\uDD27-\uDD2B\uDD2D-\uDD34\uDD73\uDD80\uDD81\uDDB6-\uDDBE\uDDC9-\uDDCC\uDDCF\uDE2F-\uDE31\uDE34\uDE36\uDE37\uDE3E\uDEDF\uDEE3-\uDEEA\uDF00\uDF01\uDF3B\uDF3C\uDF40\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC38-\uDC3F\uDC42-\uDC44\uDC46\uDC5E\uDCB3-\uDCB8\uDCBA\uDCBF\uDCC0\uDCC2\uDCC3\uDDB2-\uDDB5\uDDBC\uDDBD\uDDBF\uDDC0\uDDDC\uDDDD\uDE33-\uDE3A\uDE3D\uDE3F\uDE40\uDEAB\uDEAD\uDEB0-\uDEB5\uDEB7\uDF1D-\uDF1F\uDF22-\uDF25\uDF27-\uDF2B]|\uD806[\uDC2F-\uDC37\uDC39\uDC3A\uDD3B\uDD3C\uDD3E\uDD43\uDDD4-\uDDD7\uDDDA\uDDDB\uDDE0\uDE01-\uDE0A\uDE33-\uDE38\uDE3B-\uDE3E\uDE47\uDE51-\uDE56\uDE59-\uDE5B\uDE8A-\uDE96\uDE98\uDE99]|\uD807[\uDC30-\uDC36\uDC38-\uDC3D\uDC3F\uDC92-\uDCA7\uDCAA-\uDCB0\uDCB2\uDCB3\uDCB5\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD90\uDD91\uDD95\uDD97\uDEF3\uDEF4]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF4F\uDF8F-\uDF92\uDFE4]|\uD82F[\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD67-\uDD69\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD30-\uDD36\uDEAE\uDEEC-\uDEEF]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uDB40[\uDD00-\uDDEF]"},{name:"N",alias:"Number",bmp:"0-9²³¹¼-¾٠-٩۰-۹߀-߉०-९০-৯৴-৹੦-੯૦-૯୦-୯୲-୷௦-௲౦-౯౸-౾೦-೯൘-൞൦-൸෦-෯๐-๙໐-໙༠-༳၀-၉႐-႙፩-፼ᛮ-ᛰ០-៩៰-៹᠐-᠙᥆-᥏᧐-᧚᪀-᪉᪐-᪙᭐-᭙᮰-᮹᱀-᱉᱐-᱙⁰⁴-⁹₀-₉⅐-ↂↅ-↉①-⒛⓪-⓿❶-➓⳽〇〡-〩〸-〺㆒-㆕㈠-㈩㉈-㉏㉑-㉟㊀-㊉㊱-㊿꘠-꘩ꛦ-ꛯ꠰-꠵꣐-꣙꤀-꤉꧐-꧙꧰-꧹꩐-꩙꯰-꯹0-9",astral:"\uD800[\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDEE1-\uDEFB\uDF20-\uDF23\uDF41\uDF4A\uDFD1-\uDFD5]|\uD801[\uDCA0-\uDCA9]|\uD802[\uDC58-\uDC5F\uDC79-\uDC7F\uDCA7-\uDCAF\uDCFB-\uDCFF\uDD16-\uDD1B\uDDBC\uDDBD\uDDC0-\uDDCF\uDDD2-\uDDFF\uDE40-\uDE48\uDE7D\uDE7E\uDE9D-\uDE9F\uDEEB-\uDEEF\uDF58-\uDF5F\uDF78-\uDF7F\uDFA9-\uDFAF]|\uD803[\uDCFA-\uDCFF\uDD30-\uDD39\uDE60-\uDE7E\uDF1D-\uDF26\uDF51-\uDF54\uDFC5-\uDFCB]|\uD804[\uDC52-\uDC6F\uDCF0-\uDCF9\uDD36-\uDD3F\uDDD0-\uDDD9\uDDE1-\uDDF4\uDEF0-\uDEF9]|\uD805[\uDC50-\uDC59\uDCD0-\uDCD9\uDE50-\uDE59\uDEC0-\uDEC9\uDF30-\uDF3B]|\uD806[\uDCE0-\uDCF2\uDD50-\uDD59]|\uD807[\uDC50-\uDC6C\uDD50-\uDD59\uDDA0-\uDDA9\uDFC0-\uDFD4]|\uD809[\uDC00-\uDC6E]|\uD81A[\uDE60-\uDE69\uDEC0-\uDEC9\uDF50-\uDF59\uDF5B-\uDF61]|\uD81B[\uDE80-\uDE96]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDFCE-\uDFFF]|\uD838[\uDD40-\uDD49\uDEF0-\uDEF9]|\uD83A[\uDCC7-\uDCCF\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]"},{name:"Nd",alias:"Decimal_Number",bmp:"0-9٠-٩۰-۹߀-߉०-९০-৯੦-੯૦-૯୦-୯௦-௯౦-౯೦-೯൦-൯෦-෯๐-๙໐-໙༠-༩၀-၉႐-႙០-៩᠐-᠙᥆-᥏᧐-᧙᪀-᪉᪐-᪙᭐-᭙᮰-᮹᱀-᱉᱐-᱙꘠-꘩꣐-꣙꤀-꤉꧐-꧙꧰-꧹꩐-꩙꯰-꯹0-9",astral:"\uD801[\uDCA0-\uDCA9]|\uD803[\uDD30-\uDD39]|\uD804[\uDC66-\uDC6F\uDCF0-\uDCF9\uDD36-\uDD3F\uDDD0-\uDDD9\uDEF0-\uDEF9]|\uD805[\uDC50-\uDC59\uDCD0-\uDCD9\uDE50-\uDE59\uDEC0-\uDEC9\uDF30-\uDF39]|\uD806[\uDCE0-\uDCE9\uDD50-\uDD59]|\uD807[\uDC50-\uDC59\uDD50-\uDD59\uDDA0-\uDDA9]|\uD81A[\uDE60-\uDE69\uDEC0-\uDEC9\uDF50-\uDF59]|\uD835[\uDFCE-\uDFFF]|\uD838[\uDD40-\uDD49\uDEF0-\uDEF9]|\uD83A[\uDD50-\uDD59]|\uD83E[\uDFF0-\uDFF9]"},{name:"Nl",alias:"Letter_Number",bmp:"ᛮ-ᛰⅠ-ↂↅ-ↈ〇〡-〩〸-〺ꛦ-ꛯ",astral:"\uD800[\uDD40-\uDD74\uDF41\uDF4A\uDFD1-\uDFD5]|\uD809[\uDC00-\uDC6E]"},{name:"No",alias:"Other_Number",bmp:"²³¹¼-¾৴-৹୲-୷௰-௲౸-౾൘-൞൰-൸༪-༳፩-፼៰-៹᧚⁰⁴-⁹₀-₉⅐-⅟↉①-⒛⓪-⓿❶-➓⳽㆒-㆕㈠-㈩㉈-㉏㉑-㉟㊀-㊉㊱-㊿꠰-꠵",astral:"\uD800[\uDD07-\uDD33\uDD75-\uDD78\uDD8A\uDD8B\uDEE1-\uDEFB\uDF20-\uDF23]|\uD802[\uDC58-\uDC5F\uDC79-\uDC7F\uDCA7-\uDCAF\uDCFB-\uDCFF\uDD16-\uDD1B\uDDBC\uDDBD\uDDC0-\uDDCF\uDDD2-\uDDFF\uDE40-\uDE48\uDE7D\uDE7E\uDE9D-\uDE9F\uDEEB-\uDEEF\uDF58-\uDF5F\uDF78-\uDF7F\uDFA9-\uDFAF]|\uD803[\uDCFA-\uDCFF\uDE60-\uDE7E\uDF1D-\uDF26\uDF51-\uDF54\uDFC5-\uDFCB]|\uD804[\uDC52-\uDC65\uDDE1-\uDDF4]|\uD805[\uDF3A\uDF3B]|\uD806[\uDCEA-\uDCF2]|\uD807[\uDC5A-\uDC6C\uDFC0-\uDFD4]|\uD81A[\uDF5B-\uDF61]|\uD81B[\uDE80-\uDE96]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD83A[\uDCC7-\uDCCF]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D]|\uD83C[\uDD00-\uDD0C]"},{name:"P",alias:"Punctuation",bmp:"!-#%-\\*,-\\/:;\\?@\\[-\\]_\\{\\}¡§«¶·»¿;·՚-՟։֊־׀׃׆׳״؉؊،؍؛؝-؟٪-٭۔܀-܍߷-߹࠰-࠾࡞।॥॰৽੶૰౷಄෴๏๚๛༄-༒༔༺-༽྅࿐-࿔࿙࿚၊-၏჻፠-፨᐀᙮᚛᚜᛫-᛭᜵᜶។-៖៘-៚᠀-᠊᥄᥅᨞᨟᪠-᪦᪨-᪭᭚-᭠᭽᭾᯼-᯿᰻-᰿᱾᱿᳀-᳇᳓‐-‧‰-⁃⁅-⁑⁓-⁞⁽⁾₍₎⌈-⌋〈〉❨-❵⟅⟆⟦-⟯⦃-⦘⧘-⧛⧼⧽⳹-⳼⳾⳿⵰⸀-⸮⸰-⹏⹒-⹝、-〃〈-】〔-〟〰〽゠・꓾꓿꘍-꘏꙳꙾꛲-꛷꡴-꡷꣎꣏꣸-꣺꣼꤮꤯꥟꧁-꧍꧞꧟꩜-꩟꫞꫟꫰꫱꯫﴾﴿︐-︙︰-﹒﹔-﹡﹣﹨﹪﹫!-#%-*,-/:;?@[-]_{}⦅-・",astral:"\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|𐕯|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDEAD\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A\uDFE2]|𛲟|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]"},{name:"Pc",alias:"Connector_Punctuation",bmp:"_‿⁀⁔︳︴﹍-﹏_"},{name:"Pd",alias:"Dash_Punctuation",bmp:"\\-֊־᐀᠆‐-―⸗⸚⸺⸻⹀⹝〜〰゠︱︲﹘﹣-",astral:"𐺭"},{name:"Pe",alias:"Close_Punctuation",bmp:"\\)\\]\\}༻༽᚜⁆⁾₎⌉⌋〉❩❫❭❯❱❳❵⟆⟧⟩⟫⟭⟯⦄⦆⦈⦊⦌⦎⦐⦒⦔⦖⦘⧙⧛⧽⸣⸥⸧⸩⹖⹘⹚⹜〉》」』】〕〗〙〛〞〟﴾︘︶︸︺︼︾﹀﹂﹄﹈﹚﹜﹞)]}⦆」"},{name:"Pf",alias:"Final_Punctuation",bmp:"»’”›⸃⸅⸊⸍⸝⸡"},{name:"Pi",alias:"Initial_Punctuation",bmp:"«‘‛“‟‹⸂⸄⸉⸌⸜⸠"},{name:"Po",alias:"Other_Punctuation",bmp:"!-#%-'\\*,\\.\\/:;\\?@\\¡§¶·¿;·՚-՟։׀׃׆׳״؉؊،؍؛؝-؟٪-٭۔܀-܍߷-߹࠰-࠾࡞।॥॰৽੶૰౷಄෴๏๚๛༄-༒༔྅࿐-࿔࿙࿚၊-၏჻፠-፨᙮᛫-᛭᜵᜶។-៖៘-៚᠀-᠅᠇-᠊᥄᥅᨞᨟᪠-᪦᪨-᪭᭚-᭠᭽᭾᯼-᯿᰻-᰿᱾᱿᳀-᳇᳓‖‗†-‧‰-‸※-‾⁁-⁃⁇-⁑⁓⁕-⁞⳹-⳼⳾⳿⵰⸀⸁⸆-⸈⸋⸎-⸖⸘⸙⸛⸞⸟⸪-⸮⸰-⸹⸼-⸿⹁⹃-⹏⹒-⹔、-〃〽・꓾꓿꘍-꘏꙳꙾꛲-꛷꡴-꡷꣎꣏꣸-꣺꣼꤮꤯꥟꧁-꧍꧞꧟꩜-꩟꫞꫟꫰꫱꯫︐-︖︙︰﹅﹆﹉-﹌﹐-﹒﹔-﹗﹟-﹡﹨﹪﹫!-#%-'*,./:;?@\。、・",astral:"\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|𐕯|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A\uDFE2]|𛲟|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]"},{name:"Ps",alias:"Open_Punctuation",bmp:"\\(\\[\\{༺༼᚛‚„⁅⁽₍⌈⌊〈❨❪❬❮❰❲❴⟅⟦⟨⟪⟬⟮⦃⦅⦇⦉⦋⦍⦏⦑⦓⦕⦗⧘⧚⧼⸢⸤⸦⸨⹂⹕⹗⹙⹛〈《「『【〔〖〘〚〝﴿︗︵︷︹︻︽︿﹁﹃﹇﹙﹛﹝([{⦅「"},{name:"S",alias:"Symbol",bmp:"\\$\\+<->\\^`\\|~¢-¦¨©¬®-±´¸×÷˂-˅˒-˟˥-˫˭˯-˿͵΄΅϶҂֍-֏؆-؈؋؎؏۞۩۽۾߶߾߿࢈৲৳৺৻૱୰௳-௺౿൏൹฿༁-༃༓༕-༗༚-༟༴༶༸྾-࿅࿇-࿌࿎࿏࿕-࿘႞႟᎐-᎙᙭៛᥀᧞-᧿᭡-᭪᭴-᭼᾽᾿-῁῍-῏῝-῟῭-`´῾⁄⁒⁺-⁼₊-₌₠-⃀℀℁℃-℆℈℉℔№-℘℞-℣℥℧℩℮℺℻⅀-⅄⅊-⅍⅏↊↋←-⌇⌌-⌨⌫-␦⑀-⑊⒜-ⓩ─-❧➔-⟄⟇-⟥⟰-⦂⦙-⧗⧜-⧻⧾-⭳⭶-⮕⮗-⯿⳥-⳪⹐⹑⺀-⺙⺛-⻳⼀-⿕⿰-⿻〄〒〓〠〶〷〾〿゛゜㆐㆑㆖-㆟㇀-㇣㈀-㈞㈪-㉇㉐㉠-㉿㊊-㊰㋀-㏿䷀-䷿꒐-꓆꜀-꜖꜠꜡꞉꞊꠨-꠫꠶-꠹꩷-꩹꭛꭪꭫﬩﮲-﯂﵀-﵏﷏﷼-﷿﹢﹤-﹦﹩$+<->^`|~¢-₩│-○�",astral:"\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|𑜿|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|𛲜|\uD833[\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEDD-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF73\uDF80-\uDFD8\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDE53\uDE60-\uDE6D\uDE70-\uDE74\uDE78-\uDE7C\uDE80-\uDE86\uDE90-\uDEAC\uDEB0-\uDEBA\uDEC0-\uDEC5\uDED0-\uDED9\uDEE0-\uDEE7\uDEF0-\uDEF6\uDF00-\uDF92\uDF94-\uDFCA]"},{name:"Sc",alias:"Currency_Symbol",bmp:"\\$¢-¥֏؋߾߿৲৳৻૱௹฿៛₠-⃀꠸﷼﹩$¢£¥₩",astral:"\uD807[\uDFDD-\uDFE0]|𞋿|𞲰"},{name:"Sk",alias:"Modifier_Symbol",bmp:"\\^`¨¯´¸˂-˅˒-˟˥-˫˭˯-˿͵΄΅࢈᾽᾿-῁῍-῏῝-῟῭-`´῾゛゜꜀-꜖꜠꜡꞉꞊꭛꭪꭫﮲-﯂^` ̄",astral:"\uD83C[\uDFFB-\uDFFF]"},{name:"Sm",alias:"Math_Symbol",bmp:"\\+<->\\|~¬±×÷϶؆-؈⁄⁒⁺-⁼₊-₌℘⅀-⅄⅋←-↔↚↛↠↣↦↮⇎⇏⇒⇔⇴-⋿⌠⌡⍼⎛-⎳⏜-⏡▷◁◸-◿♯⟀-⟄⟇-⟥⟰-⟿⤀-⦂⦙-⧗⧜-⧻⧾-⫿⬰-⭄⭇-⭌﬩﹢﹤-﹦+<->|~¬←-↓",astral:"\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD83B[\uDEF0\uDEF1]"},{name:"So",alias:"Other_Symbol",bmp:"¦©®°҂֍֎؎؏۞۩۽۾߶৺୰௳-௸௺౿൏൹༁-༃༓༕-༗༚-༟༴༶༸྾-࿅࿇-࿌࿎࿏࿕-࿘႞႟᎐-᎙᙭᥀᧞-᧿᭡-᭪᭴-᭼℀℁℃-℆℈℉℔№℗℞-℣℥℧℩℮℺℻⅊⅌⅍⅏↊↋↕-↙↜-↟↡↢↤↥↧-↭↯-⇍⇐⇑⇓⇕-⇳⌀-⌇⌌-⌟⌢-⌨⌫-⍻⍽-⎚⎴-⏛⏢-␦⑀-⑊⒜-ⓩ─-▶▸-◀◂-◷☀-♮♰-❧➔-➿⠀-⣿⬀-⬯⭅⭆⭍-⭳⭶-⮕⮗-⯿⳥-⳪⹐⹑⺀-⺙⺛-⻳⼀-⿕⿰-⿻〄〒〓〠〶〷〾〿㆐㆑㆖-㆟㇀-㇣㈀-㈞㈪-㉇㉐㉠-㉿㊊-㊰㋀-㏿䷀-䷿꒐-꓆꠨-꠫꠶꠷꠹꩷-꩹﵀-﵏﷏﷽-﷿¦│■○�",astral:"\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|𑜿|\uD807[\uDFD5-\uDFDC\uDFE1-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|𛲜|\uD833[\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|𞅏|\uD83B[\uDCAC\uDD2E]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFA]|\uD83D[\uDC00-\uDED7\uDEDD-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF73\uDF80-\uDFD8\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDE53\uDE60-\uDE6D\uDE70-\uDE74\uDE78-\uDE7C\uDE80-\uDE86\uDE90-\uDEAC\uDEB0-\uDEBA\uDEC0-\uDEC5\uDED0-\uDED9\uDEE0-\uDEE7\uDEF0-\uDEF6\uDF00-\uDF92\uDF94-\uDFCA]"},{name:"Z",alias:"Separator",bmp:"    - \u2028\u2029   "},{name:"Zl",alias:"Line_Separator",bmp:"\u2028"},{name:"Zp",alias:"Paragraph_Separator",bmp:"\u2029"},{name:"Zs",alias:"Space_Separator",bmp:"    -    "}]),D2}var HS;function Kde(){return HS||(HS=1,function(e,t){var r=hs,n=ms;r(t,"__esModule",{value:!0}),t.default=void 0;var u=n(zde());/*! * XRegExp Unicode Categories 5.1.1 * * Steven Levithan (c) 2010-present MIT License * Unicode data by Mathias Bynens - */var s=function(a){if(!a.addUnicodeData)throw new ReferenceError("Unicode Base must be loaded before Unicode Categories");a.addUnicodeData(u.default)};t.default=s,e.exports=t.default}(yl,yl.exports)),yl.exports}var vl={exports:{}},D2,VS;function Kde(){return VS||(VS=1,D2=[{name:"ASCII",bmp:"\0-"},{name:"Alphabetic",bmp:"A-Za-zªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͅͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈְ-ׇֽֿׁׂׅׄא-תׯ-ײؐ-ؚؠ-ٗٙ-ٟٮ-ۓە-ۜۡ-ۭۨ-ۯۺ-ۼۿܐ-ܿݍ-ޱߊ-ߪߴߵߺࠀ-ࠗࠚ-ࠬࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉࣔ-ࣣࣟ-ࣰࣩ-ऻऽ-ौॎ-ॐॕ-ॣॱ-ঃঅ-ঌএঐও-নপ-রলশ-হঽ-ৄেৈোৌৎৗড়ঢ়য়-ৣৰৱৼਁ-ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਾ-ੂੇੈੋੌੑਖ਼-ੜਫ਼ੰ-ੵઁ-ઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽ-ૅે-ૉોૌૐૠ-ૣૹ-ૼଁ-ଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽ-ୄେୈୋୌୖୗଡ଼ଢ଼ୟ-ୣୱஂஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹா-ூெ-ைொ-ௌௐௗఀ-ఃఅ-ఌఎ-ఐఒ-నప-హఽ-ౄె-ైొ-ౌౕౖౘ-ౚౝౠ-ౣಀ-ಃಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽ-ೄೆ-ೈೊ-ೌೕೖೝೞೠ-ೣೱೲഀ-ഌഎ-ഐഒ-ഺഽ-ൄെ-ൈൊ-ൌൎൔ-ൗൟ-ൣൺ-ൿඁ-ඃඅ-ඖක-නඳ-රලව-ෆා-ුූෘ-ෟෲෳก-ฺเ-ๆํກຂຄຆ-ຊຌ-ຣລວ-ູົ-ຽເ-ໄໆໍໜ-ໟༀཀ-ཇཉ-ཬཱ-ཱྀྈ-ྗྙ-ྼက-ံးျ-ဿၐ-ႏႚ-ႝႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜓᜟ-ᜳᝀ-ᝓᝠ-ᝬᝮ-ᝰᝲᝳក-ឳា-ៈៗៜᠠ-ᡸᢀ-ᢪᢰ-ᣵᤀ-ᤞᤠ-ᤫᤰ-ᤸᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨛᨠ-ᩞᩡ-ᩴᪧᪿᫀᫌ-ᫎᬀ-ᬳᬵ-ᭃᭅ-ᭌᮀ-ᮩᮬ-ᮯᮺ-ᯥᯧ-ᯱᰀ-ᰶᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿᷧ-ᷴḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⒶ-ⓩⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⷠ-ⷿⸯ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙴ-ꙻꙿ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꠅꠇ-ꠧꡀ-ꡳꢀ-ꣃꣅꣲ-ꣷꣻꣽ-ꣿꤊ-ꤪꤰ-ꥒꥠ-ꥼꦀ-ꦲꦴ-ꦿꧏꧠ-ꧯꧺ-ꧾꨀ-ꨶꩀ-ꩍꩠ-ꩶꩺ-ꪾꫀꫂꫛ-ꫝꫠ-ꫯꫲ-ꫵꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯪ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",astral:"\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD27\uDE80-\uDEA9\uDEAB\uDEAC\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC00-\uDC45\uDC71-\uDC75\uDC82-\uDCB8\uDCC2\uDCD0-\uDCE8\uDD00-\uDD32\uDD44-\uDD47\uDD50-\uDD72\uDD76\uDD80-\uDDBF\uDDC1-\uDDC4\uDDCE\uDDCF\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE34\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEE8\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D-\uDF44\uDF47\uDF48\uDF4B\uDF4C\uDF50\uDF57\uDF5D-\uDF63]|\uD805[\uDC00-\uDC41\uDC43-\uDC45\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCC1\uDCC4\uDCC5\uDCC7\uDD80-\uDDB5\uDDB8-\uDDBE\uDDD8-\uDDDD\uDE00-\uDE3E\uDE40\uDE44\uDE80-\uDEB5\uDEB8\uDF00-\uDF1A\uDF1D-\uDF2A\uDF40-\uDF46]|\uD806[\uDC00-\uDC38\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD35\uDD37\uDD38\uDD3B\uDD3C\uDD3F-\uDD42\uDDA0-\uDDA7\uDDAA-\uDDD7\uDDDA-\uDDDF\uDDE1\uDDE3\uDDE4\uDE00-\uDE32\uDE35-\uDE3E\uDE50-\uDE97\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC3E\uDC40\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD41\uDD43\uDD46\uDD47\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD8E\uDD90\uDD91\uDD93-\uDD96\uDD98\uDEE0-\uDEF6\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF4F-\uDF87\uDF8F-\uDF9F\uDFE0\uDFE1\uDFE3\uDFF0\uDFF1]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9E]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD47\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD30-\uDD49\uDD50-\uDD69\uDD70-\uDD89]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A]"},{name:"Any",isBmpLast:!0,bmp:"\0-￿",astral:"[\uD800-\uDBFF][\uDC00-\uDFFF]"},{name:"Default_Ignorable_Code_Point",bmp:"­͏؜ᅟᅠ឴឵᠋-᠏​-‏‪-‮⁠-ㅤ︀-️\uFEFFᅠ￰-￸",astral:"\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|[\uDB40-\uDB43][\uDC00-\uDFFF]"},{name:"Lowercase",bmp:"a-zªµºß-öø-ÿāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįıijĵķĸĺļľŀłńņňʼnŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷźżž-ƀƃƅƈƌƍƒƕƙ-ƛƞơƣƥƨƪƫƭưƴƶƹƺƽ-ƿdžljnjǎǐǒǔǖǘǚǜǝǟǡǣǥǧǩǫǭǯǰdzǵǹǻǽǿȁȃȅȇȉȋȍȏȑȓȕȗșțȝȟȡȣȥȧȩȫȭȯȱȳ-ȹȼȿɀɂɇɉɋɍɏ-ʓʕ-ʸˀˁˠ-ˤͅͱͳͷͺ-ͽΐά-ώϐϑϕ-ϗϙϛϝϟϡϣϥϧϩϫϭϯ-ϳϵϸϻϼа-џѡѣѥѧѩѫѭѯѱѳѵѷѹѻѽѿҁҋҍҏґғҕҗҙқҝҟҡңҥҧҩҫҭүұҳҵҷҹһҽҿӂӄӆӈӊӌӎӏӑӓӕӗәӛӝӟӡӣӥӧөӫӭӯӱӳӵӷӹӻӽӿԁԃԅԇԉԋԍԏԑԓԕԗԙԛԝԟԡԣԥԧԩԫԭԯՠ-ֈა-ჺჽ-ჿᏸ-ᏽᲀ-ᲈᴀ-ᶿḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕ-ẝẟạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹỻỽỿ-ἇἐ-ἕἠ-ἧἰ-ἷὀ-ὅὐ-ὗὠ-ὧὰ-ώᾀ-ᾇᾐ-ᾗᾠ-ᾧᾰ-ᾴᾶᾷιῂ-ῄῆῇῐ-ΐῖῗῠ-ῧῲ-ῴῶῷⁱⁿₐ-ₜℊℎℏℓℯℴℹℼℽⅆ-ⅉⅎⅰ-ⅿↄⓐ-ⓩⰰ-ⱟⱡⱥⱦⱨⱪⱬⱱⱳⱴⱶ-ⱽⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣⳤⳬⳮⳳⴀ-ⴥⴧⴭꙁꙃꙅꙇꙉꙋꙍꙏꙑꙓꙕꙗꙙꙛꙝꙟꙡꙣꙥꙧꙩꙫꙭꚁꚃꚅꚇꚉꚋꚍꚏꚑꚓꚕꚗꚙꚛ-ꚝꜣꜥꜧꜩꜫꜭꜯ-ꜱꜳꜵꜷꜹꜻꜽꜿꝁꝃꝅꝇꝉꝋꝍꝏꝑꝓꝕꝗꝙꝛꝝꝟꝡꝣꝥꝧꝩꝫꝭꝯ-ꝸꝺꝼꝿꞁꞃꞅꞇꞌꞎꞑꞓ-ꞕꞗꞙꞛꞝꞟꞡꞣꞥꞧꞩꞯꞵꞷꞹꞻꞽꞿꟁꟃꟈꟊꟑꟓꟕꟗꟙꟶꟸ-ꟺꬰ-ꭚꭜ-ꭨꭰ-ꮿff-stﬓ-ﬗa-z",astral:"\uD801[\uDC28-\uDC4F\uDCD8-\uDCFB\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDF80\uDF83-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD803[\uDCC0-\uDCF2]|\uD806[\uDCC0-\uDCDF]|\uD81B[\uDE60-\uDE7F]|\uD835[\uDC1A-\uDC33\uDC4E-\uDC54\uDC56-\uDC67\uDC82-\uDC9B\uDCB6-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDCEA-\uDD03\uDD1E-\uDD37\uDD52-\uDD6B\uDD86-\uDD9F\uDDBA-\uDDD3\uDDEE-\uDE07\uDE22-\uDE3B\uDE56-\uDE6F\uDE8A-\uDEA5\uDEC2-\uDEDA\uDEDC-\uDEE1\uDEFC-\uDF14\uDF16-\uDF1B\uDF36-\uDF4E\uDF50-\uDF55\uDF70-\uDF88\uDF8A-\uDF8F\uDFAA-\uDFC2\uDFC4-\uDFC9\uDFCB]|\uD837[\uDF00-\uDF09\uDF0B-\uDF1E]|\uD83A[\uDD22-\uDD43]"},{name:"Noncharacter_Code_Point",bmp:"﷐-﷯￾￿",astral:"[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]"},{name:"Uppercase",bmp:"A-ZÀ-ÖØ-ÞĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮİIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŸŹŻŽƁƂƄƆƇƉ-ƋƎ-ƑƓƔƖ-ƘƜƝƟƠƢƤƦƧƩƬƮƯƱ-ƳƵƷƸƼDŽLJNJǍǏǑǓǕǗǙǛǞǠǢǤǦǨǪǬǮDZǴǶ-ǸǺǼǾȀȂȄȆȈȊȌȎȐȒȔȖȘȚȜȞȠȢȤȦȨȪȬȮȰȲȺȻȽȾɁɃ-ɆɈɊɌɎͰͲͶͿΆΈ-ΊΌΎΏΑ-ΡΣ-ΫϏϒ-ϔϘϚϜϞϠϢϤϦϨϪϬϮϴϷϹϺϽ-ЯѠѢѤѦѨѪѬѮѰѲѴѶѸѺѼѾҀҊҌҎҐҒҔҖҘҚҜҞҠҢҤҦҨҪҬҮҰҲҴҶҸҺҼҾӀӁӃӅӇӉӋӍӐӒӔӖӘӚӜӞӠӢӤӦӨӪӬӮӰӲӴӶӸӺӼӾԀԂԄԆԈԊԌԎԐԒԔԖԘԚԜԞԠԢԤԦԨԪԬԮԱ-ՖႠ-ჅჇჍᎠ-ᏵᲐ-ᲺᲽ-ᲿḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẞẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸỺỼỾἈ-ἏἘ-ἝἨ-ἯἸ-ἿὈ-ὍὙὛὝὟὨ-ὯᾸ-ΆῈ-ΉῘ-ΊῨ-ῬῸ-Ώℂℇℋ-ℍℐ-ℒℕℙ-ℝℤΩℨK-ℭℰ-ℳℾℿⅅⅠ-ⅯↃⒶ-ⓏⰀ-ⰯⱠⱢ-ⱤⱧⱩⱫⱭ-ⱰⱲⱵⱾ-ⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚⳜⳞⳠⳢⳫⳭⳲꙀꙂꙄꙆꙈꙊꙌꙎꙐꙒꙔꙖꙘꙚꙜꙞꙠꙢꙤꙦꙨꙪꙬꚀꚂꚄꚆꚈꚊꚌꚎꚐꚒꚔꚖꚘꚚꜢꜤꜦꜨꜪꜬꜮꜲꜴꜶꜸꜺꜼꜾꝀꝂꝄꝆꝈꝊꝌꝎꝐꝒꝔꝖꝘꝚꝜꝞꝠꝢꝤꝦꝨꝪꝬꝮꝹꝻꝽꝾꞀꞂꞄꞆꞋꞍꞐꞒꞖꞘꞚꞜꞞꞠꞢꞤꞦꞨꞪ-ꞮꞰ-ꞴꞶꞸꞺꞼꞾꟀꟂꟄ-ꟇꟉꟐꟖꟘꟵA-Z",astral:"\uD801[\uDC00-\uDC27\uDCB0-\uDCD3\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95]|\uD803[\uDC80-\uDCB2]|\uD806[\uDCA0-\uDCBF]|\uD81B[\uDE40-\uDE5F]|\uD835[\uDC00-\uDC19\uDC34-\uDC4D\uDC68-\uDC81\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB5\uDCD0-\uDCE9\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD38\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD6C-\uDD85\uDDA0-\uDDB9\uDDD4-\uDDED\uDE08-\uDE21\uDE3C-\uDE55\uDE70-\uDE89\uDEA8-\uDEC0\uDEE2-\uDEFA\uDF1C-\uDF34\uDF56-\uDF6E\uDF90-\uDFA8\uDFCA]|\uD83A[\uDD00-\uDD21]|\uD83C[\uDD30-\uDD49\uDD50-\uDD69\uDD70-\uDD89]"},{name:"White_Space",bmp:" -\r …   - \u2028\u2029   "}]),D2}var HS;function Xde(){return HS||(HS=1,function(e,t){var r=hs,n=ms;r(t,"__esModule",{value:!0}),t.default=void 0;var u=n(Kde());/*! + */var s=function(a){if(!a.addUnicodeData)throw new ReferenceError("Unicode Base must be loaded before Unicode Categories");a.addUnicodeData(u.default)};t.default=s,e.exports=t.default}(yl,yl.exports)),yl.exports}var vl={exports:{}},h2,WS;function Xde(){return WS||(WS=1,h2=[{name:"ASCII",bmp:"\0-"},{name:"Alphabetic",bmp:"A-Za-zªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͅͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈְ-ׇֽֿׁׂׅׄא-תׯ-ײؐ-ؚؠ-ٗٙ-ٟٮ-ۓە-ۜۡ-ۭۨ-ۯۺ-ۼۿܐ-ܿݍ-ޱߊ-ߪߴߵߺࠀ-ࠗࠚ-ࠬࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉࣔ-ࣣࣟ-ࣰࣩ-ऻऽ-ौॎ-ॐॕ-ॣॱ-ঃঅ-ঌএঐও-নপ-রলশ-হঽ-ৄেৈোৌৎৗড়ঢ়য়-ৣৰৱৼਁ-ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਾ-ੂੇੈੋੌੑਖ਼-ੜਫ਼ੰ-ੵઁ-ઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽ-ૅે-ૉોૌૐૠ-ૣૹ-ૼଁ-ଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽ-ୄେୈୋୌୖୗଡ଼ଢ଼ୟ-ୣୱஂஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹா-ூெ-ைொ-ௌௐௗఀ-ఃఅ-ఌఎ-ఐఒ-నప-హఽ-ౄె-ైొ-ౌౕౖౘ-ౚౝౠ-ౣಀ-ಃಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽ-ೄೆ-ೈೊ-ೌೕೖೝೞೠ-ೣೱೲഀ-ഌഎ-ഐഒ-ഺഽ-ൄെ-ൈൊ-ൌൎൔ-ൗൟ-ൣൺ-ൿඁ-ඃඅ-ඖක-නඳ-රලව-ෆා-ුූෘ-ෟෲෳก-ฺเ-ๆํກຂຄຆ-ຊຌ-ຣລວ-ູົ-ຽເ-ໄໆໍໜ-ໟༀཀ-ཇཉ-ཬཱ-ཱྀྈ-ྗྙ-ྼက-ံးျ-ဿၐ-ႏႚ-ႝႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜓᜟ-ᜳᝀ-ᝓᝠ-ᝬᝮ-ᝰᝲᝳក-ឳា-ៈៗៜᠠ-ᡸᢀ-ᢪᢰ-ᣵᤀ-ᤞᤠ-ᤫᤰ-ᤸᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨛᨠ-ᩞᩡ-ᩴᪧᪿᫀᫌ-ᫎᬀ-ᬳᬵ-ᭃᭅ-ᭌᮀ-ᮩᮬ-ᮯᮺ-ᯥᯧ-ᯱᰀ-ᰶᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿᷧ-ᷴḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⒶ-ⓩⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⷠ-ⷿⸯ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙴ-ꙻꙿ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꠅꠇ-ꠧꡀ-ꡳꢀ-ꣃꣅꣲ-ꣷꣻꣽ-ꣿꤊ-ꤪꤰ-ꥒꥠ-ꥼꦀ-ꦲꦴ-ꦿꧏꧠ-ꧯꧺ-ꧾꨀ-ꨶꩀ-ꩍꩠ-ꩶꩺ-ꪾꫀꫂꫛ-ꫝꫠ-ꫯꫲ-ꫵꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯪ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",astral:"\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD27\uDE80-\uDEA9\uDEAB\uDEAC\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC00-\uDC45\uDC71-\uDC75\uDC82-\uDCB8\uDCC2\uDCD0-\uDCE8\uDD00-\uDD32\uDD44-\uDD47\uDD50-\uDD72\uDD76\uDD80-\uDDBF\uDDC1-\uDDC4\uDDCE\uDDCF\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE34\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEE8\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D-\uDF44\uDF47\uDF48\uDF4B\uDF4C\uDF50\uDF57\uDF5D-\uDF63]|\uD805[\uDC00-\uDC41\uDC43-\uDC45\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCC1\uDCC4\uDCC5\uDCC7\uDD80-\uDDB5\uDDB8-\uDDBE\uDDD8-\uDDDD\uDE00-\uDE3E\uDE40\uDE44\uDE80-\uDEB5\uDEB8\uDF00-\uDF1A\uDF1D-\uDF2A\uDF40-\uDF46]|\uD806[\uDC00-\uDC38\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD35\uDD37\uDD38\uDD3B\uDD3C\uDD3F-\uDD42\uDDA0-\uDDA7\uDDAA-\uDDD7\uDDDA-\uDDDF\uDDE1\uDDE3\uDDE4\uDE00-\uDE32\uDE35-\uDE3E\uDE50-\uDE97\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC3E\uDC40\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD41\uDD43\uDD46\uDD47\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD8E\uDD90\uDD91\uDD93-\uDD96\uDD98\uDEE0-\uDEF6\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF4F-\uDF87\uDF8F-\uDF9F\uDFE0\uDFE1\uDFE3\uDFF0\uDFF1]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9E]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD47\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD30-\uDD49\uDD50-\uDD69\uDD70-\uDD89]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A]"},{name:"Any",isBmpLast:!0,bmp:"\0-￿",astral:"[\uD800-\uDBFF][\uDC00-\uDFFF]"},{name:"Default_Ignorable_Code_Point",bmp:"­͏؜ᅟᅠ឴឵᠋-᠏​-‏‪-‮⁠-ㅤ︀-️\uFEFFᅠ￰-￸",astral:"\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|[\uDB40-\uDB43][\uDC00-\uDFFF]"},{name:"Lowercase",bmp:"a-zªµºß-öø-ÿāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįıijĵķĸĺļľŀłńņňʼnŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷźżž-ƀƃƅƈƌƍƒƕƙ-ƛƞơƣƥƨƪƫƭưƴƶƹƺƽ-ƿdžljnjǎǐǒǔǖǘǚǜǝǟǡǣǥǧǩǫǭǯǰdzǵǹǻǽǿȁȃȅȇȉȋȍȏȑȓȕȗșțȝȟȡȣȥȧȩȫȭȯȱȳ-ȹȼȿɀɂɇɉɋɍɏ-ʓʕ-ʸˀˁˠ-ˤͅͱͳͷͺ-ͽΐά-ώϐϑϕ-ϗϙϛϝϟϡϣϥϧϩϫϭϯ-ϳϵϸϻϼа-џѡѣѥѧѩѫѭѯѱѳѵѷѹѻѽѿҁҋҍҏґғҕҗҙқҝҟҡңҥҧҩҫҭүұҳҵҷҹһҽҿӂӄӆӈӊӌӎӏӑӓӕӗәӛӝӟӡӣӥӧөӫӭӯӱӳӵӷӹӻӽӿԁԃԅԇԉԋԍԏԑԓԕԗԙԛԝԟԡԣԥԧԩԫԭԯՠ-ֈა-ჺჽ-ჿᏸ-ᏽᲀ-ᲈᴀ-ᶿḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕ-ẝẟạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹỻỽỿ-ἇἐ-ἕἠ-ἧἰ-ἷὀ-ὅὐ-ὗὠ-ὧὰ-ώᾀ-ᾇᾐ-ᾗᾠ-ᾧᾰ-ᾴᾶᾷιῂ-ῄῆῇῐ-ΐῖῗῠ-ῧῲ-ῴῶῷⁱⁿₐ-ₜℊℎℏℓℯℴℹℼℽⅆ-ⅉⅎⅰ-ⅿↄⓐ-ⓩⰰ-ⱟⱡⱥⱦⱨⱪⱬⱱⱳⱴⱶ-ⱽⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣⳤⳬⳮⳳⴀ-ⴥⴧⴭꙁꙃꙅꙇꙉꙋꙍꙏꙑꙓꙕꙗꙙꙛꙝꙟꙡꙣꙥꙧꙩꙫꙭꚁꚃꚅꚇꚉꚋꚍꚏꚑꚓꚕꚗꚙꚛ-ꚝꜣꜥꜧꜩꜫꜭꜯ-ꜱꜳꜵꜷꜹꜻꜽꜿꝁꝃꝅꝇꝉꝋꝍꝏꝑꝓꝕꝗꝙꝛꝝꝟꝡꝣꝥꝧꝩꝫꝭꝯ-ꝸꝺꝼꝿꞁꞃꞅꞇꞌꞎꞑꞓ-ꞕꞗꞙꞛꞝꞟꞡꞣꞥꞧꞩꞯꞵꞷꞹꞻꞽꞿꟁꟃꟈꟊꟑꟓꟕꟗꟙꟶꟸ-ꟺꬰ-ꭚꭜ-ꭨꭰ-ꮿff-stﬓ-ﬗa-z",astral:"\uD801[\uDC28-\uDC4F\uDCD8-\uDCFB\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDF80\uDF83-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD803[\uDCC0-\uDCF2]|\uD806[\uDCC0-\uDCDF]|\uD81B[\uDE60-\uDE7F]|\uD835[\uDC1A-\uDC33\uDC4E-\uDC54\uDC56-\uDC67\uDC82-\uDC9B\uDCB6-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDCEA-\uDD03\uDD1E-\uDD37\uDD52-\uDD6B\uDD86-\uDD9F\uDDBA-\uDDD3\uDDEE-\uDE07\uDE22-\uDE3B\uDE56-\uDE6F\uDE8A-\uDEA5\uDEC2-\uDEDA\uDEDC-\uDEE1\uDEFC-\uDF14\uDF16-\uDF1B\uDF36-\uDF4E\uDF50-\uDF55\uDF70-\uDF88\uDF8A-\uDF8F\uDFAA-\uDFC2\uDFC4-\uDFC9\uDFCB]|\uD837[\uDF00-\uDF09\uDF0B-\uDF1E]|\uD83A[\uDD22-\uDD43]"},{name:"Noncharacter_Code_Point",bmp:"﷐-﷯￾￿",astral:"[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]"},{name:"Uppercase",bmp:"A-ZÀ-ÖØ-ÞĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮİIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŸŹŻŽƁƂƄƆƇƉ-ƋƎ-ƑƓƔƖ-ƘƜƝƟƠƢƤƦƧƩƬƮƯƱ-ƳƵƷƸƼDŽLJNJǍǏǑǓǕǗǙǛǞǠǢǤǦǨǪǬǮDZǴǶ-ǸǺǼǾȀȂȄȆȈȊȌȎȐȒȔȖȘȚȜȞȠȢȤȦȨȪȬȮȰȲȺȻȽȾɁɃ-ɆɈɊɌɎͰͲͶͿΆΈ-ΊΌΎΏΑ-ΡΣ-ΫϏϒ-ϔϘϚϜϞϠϢϤϦϨϪϬϮϴϷϹϺϽ-ЯѠѢѤѦѨѪѬѮѰѲѴѶѸѺѼѾҀҊҌҎҐҒҔҖҘҚҜҞҠҢҤҦҨҪҬҮҰҲҴҶҸҺҼҾӀӁӃӅӇӉӋӍӐӒӔӖӘӚӜӞӠӢӤӦӨӪӬӮӰӲӴӶӸӺӼӾԀԂԄԆԈԊԌԎԐԒԔԖԘԚԜԞԠԢԤԦԨԪԬԮԱ-ՖႠ-ჅჇჍᎠ-ᏵᲐ-ᲺᲽ-ᲿḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẞẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸỺỼỾἈ-ἏἘ-ἝἨ-ἯἸ-ἿὈ-ὍὙὛὝὟὨ-ὯᾸ-ΆῈ-ΉῘ-ΊῨ-ῬῸ-Ώℂℇℋ-ℍℐ-ℒℕℙ-ℝℤΩℨK-ℭℰ-ℳℾℿⅅⅠ-ⅯↃⒶ-ⓏⰀ-ⰯⱠⱢ-ⱤⱧⱩⱫⱭ-ⱰⱲⱵⱾ-ⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚⳜⳞⳠⳢⳫⳭⳲꙀꙂꙄꙆꙈꙊꙌꙎꙐꙒꙔꙖꙘꙚꙜꙞꙠꙢꙤꙦꙨꙪꙬꚀꚂꚄꚆꚈꚊꚌꚎꚐꚒꚔꚖꚘꚚꜢꜤꜦꜨꜪꜬꜮꜲꜴꜶꜸꜺꜼꜾꝀꝂꝄꝆꝈꝊꝌꝎꝐꝒꝔꝖꝘꝚꝜꝞꝠꝢꝤꝦꝨꝪꝬꝮꝹꝻꝽꝾꞀꞂꞄꞆꞋꞍꞐꞒꞖꞘꞚꞜꞞꞠꞢꞤꞦꞨꞪ-ꞮꞰ-ꞴꞶꞸꞺꞼꞾꟀꟂꟄ-ꟇꟉꟐꟖꟘꟵA-Z",astral:"\uD801[\uDC00-\uDC27\uDCB0-\uDCD3\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95]|\uD803[\uDC80-\uDCB2]|\uD806[\uDCA0-\uDCBF]|\uD81B[\uDE40-\uDE5F]|\uD835[\uDC00-\uDC19\uDC34-\uDC4D\uDC68-\uDC81\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB5\uDCD0-\uDCE9\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD38\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD6C-\uDD85\uDDA0-\uDDB9\uDDD4-\uDDED\uDE08-\uDE21\uDE3C-\uDE55\uDE70-\uDE89\uDEA8-\uDEC0\uDEE2-\uDEFA\uDF1C-\uDF34\uDF56-\uDF6E\uDF90-\uDFA8\uDFCA]|\uD83A[\uDD00-\uDD21]|\uD83C[\uDD30-\uDD49\uDD50-\uDD69\uDD70-\uDD89]"},{name:"White_Space",bmp:" -\r …   - \u2028\u2029   "}]),h2}var JS;function Yde(){return JS||(JS=1,function(e,t){var r=hs,n=ms;r(t,"__esModule",{value:!0}),t.default=void 0;var u=n(Xde());/*! * XRegExp Unicode Properties 5.1.1 * * Steven Levithan (c) 2012-present MIT License * Unicode data by Mathias Bynens - */var s=function(a){if(!a.addUnicodeData)throw new ReferenceError("Unicode Base must be loaded before Unicode Properties");var i=u.default;i.push({name:"Assigned",inverseOf:"Cn"}),a.addUnicodeData(i)};t.default=s,e.exports=t.default}(vl,vl.exports)),vl.exports}var gl={exports:{}},h2,WS;function Yde(){return WS||(WS=1,h2=[{name:"Adlam",astral:"\uD83A[\uDD00-\uDD4B\uDD50-\uDD59\uDD5E\uDD5F]"},{name:"Ahom",astral:"\uD805[\uDF00-\uDF1A\uDF1D-\uDF2B\uDF30-\uDF46]"},{name:"Anatolian_Hieroglyphs",astral:"\uD811[\uDC00-\uDE46]"},{name:"Arabic",bmp:"؀-؄؆-؋؍-ؚ؜-؞ؠ-ؿف-يٖ-ٯٱ-ۜ۞-ۿݐ-ݿࡰ-ࢎ࢐࢑࢘-ࣣ࣡-ࣿﭐ-﯂ﯓ-ﴽ﵀-ﶏﶒ-ﷇ﷏ﷰ-﷿ﹰ-ﹴﹶ-ﻼ",astral:"\uD803[\uDE60-\uDE7E]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB\uDEF0\uDEF1]"},{name:"Armenian",bmp:"Ա-Ֆՙ-֊֍-֏ﬓ-ﬗ"},{name:"Avestan",astral:"\uD802[\uDF00-\uDF35\uDF39-\uDF3F]"},{name:"Balinese",bmp:"ᬀ-ᭌ᭐-᭾"},{name:"Bamum",bmp:"ꚠ-꛷",astral:"\uD81A[\uDC00-\uDE38]"},{name:"Bassa_Vah",astral:"\uD81A[\uDED0-\uDEED\uDEF0-\uDEF5]"},{name:"Batak",bmp:"ᯀ-᯳᯼-᯿"},{name:"Bengali",bmp:"ঀ-ঃঅ-ঌএঐও-নপ-রলশ-হ়-ৄেৈো-ৎৗড়ঢ়য়-ৣ০-৾"},{name:"Bhaiksuki",astral:"\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC45\uDC50-\uDC6C]"},{name:"Bopomofo",bmp:"˪˫ㄅ-ㄯㆠ-ㆿ"},{name:"Brahmi",astral:"\uD804[\uDC00-\uDC4D\uDC52-\uDC75\uDC7F]"},{name:"Braille",bmp:"⠀-⣿"},{name:"Buginese",bmp:"ᨀ-ᨛ᨞᨟"},{name:"Buhid",bmp:"ᝀ-ᝓ"},{name:"Canadian_Aboriginal",bmp:"᐀-ᙿᢰ-ᣵ",astral:"\uD806[\uDEB0-\uDEBF]"},{name:"Carian",astral:"\uD800[\uDEA0-\uDED0]"},{name:"Caucasian_Albanian",astral:"\uD801[\uDD30-\uDD63\uDD6F]"},{name:"Chakma",astral:"\uD804[\uDD00-\uDD34\uDD36-\uDD47]"},{name:"Cham",bmp:"ꨀ-ꨶꩀ-ꩍ꩐-꩙꩜-꩟"},{name:"Cherokee",bmp:"Ꭰ-Ᏽᏸ-ᏽꭰ-ꮿ"},{name:"Chorasmian",astral:"\uD803[\uDFB0-\uDFCB]"},{name:"Common",bmp:"\0-@\\[-`\\{-©«-¹»-¿×÷ʹ-˟˥-˩ˬ-˿ʹ;΅·؅،؛؟ـ۝࣢।॥฿࿕-࿘჻᛫-᛭᜵᜶᠂᠃᠅᳓᳡ᳩ-ᳬᳮ-ᳳᳵ-᳷ᳺ -​‎-⁤⁦-⁰⁴-⁾₀-₎₠-⃀℀-℥℧-℩ℬ-ℱℳ-⅍⅏-⅟↉-↋←-␦⑀-⑊①-⟿⤀-⭳⭶-⮕⮗-⯿⸀-⹝⿰-⿻ -〄〆〈-〠〰-〷〼-〿゛゜゠・ー㆐-㆟㇀-㇣㈠-㉟㉿-㋏㋿㍘-㏿䷀-䷿꜀-꜡ꞈ-꞊꠰-꠹꤮ꧏ꭛꭪꭫﴾﴿︐-︙︰-﹒﹔-﹦﹨-﹫\uFEFF!-@[-`{-・ー゙゚¢-₩│-○-�",astral:"\uD800[\uDD00-\uDD02\uDD07-\uDD33\uDD37-\uDD3F\uDD90-\uDD9C\uDDD0-\uDDFC\uDEE1-\uDEFB]|\uD82F[\uDCA0-\uDCA3]|\uD833[\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD66\uDD6A-\uDD7A\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDEE0-\uDEF3\uDF00-\uDF56\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDFCB\uDFCE-\uDFFF]|\uD83B[\uDC71-\uDCB4\uDD01-\uDD3D]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD00-\uDDAD\uDDE6-\uDDFF\uDE01\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEDD-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF73\uDF80-\uDFD8\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDE53\uDE60-\uDE6D\uDE70-\uDE74\uDE78-\uDE7C\uDE80-\uDE86\uDE90-\uDEAC\uDEB0-\uDEBA\uDEC0-\uDEC5\uDED0-\uDED9\uDEE0-\uDEE7\uDEF0-\uDEF6\uDF00-\uDF92\uDF94-\uDFCA\uDFF0-\uDFF9]|\uDB40[\uDC01\uDC20-\uDC7F]"},{name:"Coptic",bmp:"Ϣ-ϯⲀ-ⳳ⳹-⳿"},{name:"Cuneiform",astral:"\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC70-\uDC74\uDC80-\uDD43]"},{name:"Cypriot",astral:"\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F]"},{name:"Cypro_Minoan",astral:"\uD80B[\uDF90-\uDFF2]"},{name:"Cyrillic",bmp:"Ѐ-҄҇-ԯᲀ-ᲈᴫᵸⷠ-ⷿꙀ-ꚟ︮︯"},{name:"Deseret",astral:"\uD801[\uDC00-\uDC4F]"},{name:"Devanagari",bmp:"ऀ-ॐॕ-ॣ०-ॿ꣠-ꣿ"},{name:"Dives_Akuru",astral:"\uD806[\uDD00-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD35\uDD37\uDD38\uDD3B-\uDD46\uDD50-\uDD59]"},{name:"Dogra",astral:"\uD806[\uDC00-\uDC3B]"},{name:"Duployan",astral:"\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9C-\uDC9F]"},{name:"Egyptian_Hieroglyphs",astral:"\uD80C[\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E\uDC30-\uDC38]"},{name:"Elbasan",astral:"\uD801[\uDD00-\uDD27]"},{name:"Elymaic",astral:"\uD803[\uDFE0-\uDFF6]"},{name:"Ethiopic",bmp:"ሀ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚ፝-፼ᎀ-᎙ⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮ",astral:"\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]"},{name:"Georgian",bmp:"Ⴀ-ჅჇჍა-ჺჼ-ჿᲐ-ᲺᲽ-Ჿⴀ-ⴥⴧⴭ"},{name:"Glagolitic",bmp:"Ⰰ-ⱟ",astral:"\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]"},{name:"Gothic",astral:"\uD800[\uDF30-\uDF4A]"},{name:"Grantha",astral:"\uD804[\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]"},{name:"Greek",bmp:"Ͱ-ͳ͵-ͷͺ-ͽͿ΄ΆΈ-ΊΌΎ-ΡΣ-ϡϰ-Ͽᴦ-ᴪᵝ-ᵡᵦ-ᵪᶿἀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ῄῆ-ΐῖ-Ί῝-`ῲ-ῴῶ-῾Ωꭥ",astral:"\uD800[\uDD40-\uDD8E\uDDA0]|\uD834[\uDE00-\uDE45]"},{name:"Gujarati",bmp:"ઁ-ઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હ઼-ૅે-ૉો-્ૐૠ-ૣ૦-૱ૹ-૿"},{name:"Gunjala_Gondi",astral:"\uD807[\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD8E\uDD90\uDD91\uDD93-\uDD98\uDDA0-\uDDA9]"},{name:"Gurmukhi",bmp:"ਁ-ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹ਼ਾ-ੂੇੈੋ-੍ੑਖ਼-ੜਫ਼੦-੶"},{name:"Han",bmp:"⺀-⺙⺛-⻳⼀-⿕々〇〡-〩〸-〻㐀-䶿一-鿿豈-舘並-龎",astral:"\uD81B[\uDFE2\uDFE3\uDFF0\uDFF1]|[\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A]"},{name:"Hangul",bmp:"ᄀ-ᇿ〮〯ㄱ-ㆎ㈀-㈞㉠-㉾ꥠ-ꥼ가-힣ힰ-ퟆퟋ-ퟻᅠ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ"},{name:"Hanifi_Rohingya",astral:"\uD803[\uDD00-\uDD27\uDD30-\uDD39]"},{name:"Hanunoo",bmp:"ᜠ-᜴"},{name:"Hatran",astral:"\uD802[\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDCFF]"},{name:"Hebrew",bmp:"֑-ׇא-תׯ-״יִ-זּטּ-לּמּנּסּףּפּצּ-ﭏ"},{name:"Hiragana",bmp:"ぁ-ゖゝ-ゟ",astral:"\uD82C[\uDC01-\uDD1F\uDD50-\uDD52]|🈀"},{name:"Imperial_Aramaic",astral:"\uD802[\uDC40-\uDC55\uDC57-\uDC5F]"},{name:"Inherited",bmp:"̀-ًͯ҅҆-ٰٕ॑-॔᪰-ᫎ᳐-᳔᳒-᳢᳠-᳨᳭᳴᳸᳹᷀-᷿‌‍⃐-〪⃰-゙゚〭︀-️︠-︭",astral:"\uD800[\uDDFD\uDEE0]|𑌻|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD67-\uDD69\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD]|\uDB40[\uDD00-\uDDEF]"},{name:"Inscriptional_Pahlavi",astral:"\uD802[\uDF60-\uDF72\uDF78-\uDF7F]"},{name:"Inscriptional_Parthian",astral:"\uD802[\uDF40-\uDF55\uDF58-\uDF5F]"},{name:"Javanese",bmp:"ꦀ-꧍꧐-꧙꧞꧟"},{name:"Kaithi",astral:"\uD804[\uDC80-\uDCC2\uDCCD]"},{name:"Kannada",bmp:"ಀ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹ಼-ೄೆ-ೈೊ-್ೕೖೝೞೠ-ೣ೦-೯ೱೲ"},{name:"Katakana",bmp:"ァ-ヺヽ-ヿㇰ-ㇿ㋐-㋾㌀-㍗ヲ-ッア-ン",astral:"\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00\uDD20-\uDD22\uDD64-\uDD67]"},{name:"Kayah_Li",bmp:"꤀-꤭꤯"},{name:"Kharoshthi",astral:"\uD802[\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE38-\uDE3A\uDE3F-\uDE48\uDE50-\uDE58]"},{name:"Khitan_Small_Script",astral:"𖿤|\uD822[\uDF00-\uDFFF]|\uD823[\uDC00-\uDCD5]"},{name:"Khmer",bmp:"ក-៝០-៩៰-៹᧠-᧿"},{name:"Khojki",astral:"\uD804[\uDE00-\uDE11\uDE13-\uDE3E]"},{name:"Khudawadi",astral:"\uD804[\uDEB0-\uDEEA\uDEF0-\uDEF9]"},{name:"Lao",bmp:"ກຂຄຆ-ຊຌ-ຣລວ-ຽເ-ໄໆ່-ໍ໐-໙ໜ-ໟ"},{name:"Latin",bmp:"A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꟿꬰ-ꭚꭜ-ꭤꭦ-ꭩff-stA-Za-z",astral:"\uD801[\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD837[\uDF00-\uDF1E]"},{name:"Lepcha",bmp:"ᰀ-᰷᰻-᱉ᱍ-ᱏ"},{name:"Limbu",bmp:"ᤀ-ᤞᤠ-ᤫᤰ-᤻᥀᥄-᥏"},{name:"Linear_A",astral:"\uD801[\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]"},{name:"Linear_B",astral:"\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA]"},{name:"Lisu",bmp:"ꓐ-꓿",astral:"𑾰"},{name:"Lycian",astral:"\uD800[\uDE80-\uDE9C]"},{name:"Lydian",astral:"\uD802[\uDD20-\uDD39\uDD3F]"},{name:"Mahajani",astral:"\uD804[\uDD50-\uDD76]"},{name:"Makasar",astral:"\uD807[\uDEE0-\uDEF8]"},{name:"Malayalam",bmp:"ഀ-ഌഎ-ഐഒ-ൄെ-ൈൊ-൏ൔ-ൣ൦-ൿ"},{name:"Mandaic",bmp:"ࡀ-࡛࡞"},{name:"Manichaean",astral:"\uD802[\uDEC0-\uDEE6\uDEEB-\uDEF6]"},{name:"Marchen",astral:"\uD807[\uDC70-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]"},{name:"Masaram_Gondi",astral:"\uD807[\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]"},{name:"Medefaidrin",astral:"\uD81B[\uDE40-\uDE9A]"},{name:"Meetei_Mayek",bmp:"ꫠ-꫶ꯀ-꯭꯰-꯹"},{name:"Mende_Kikakui",astral:"\uD83A[\uDC00-\uDCC4\uDCC7-\uDCD6]"},{name:"Meroitic_Cursive",astral:"\uD802[\uDDA0-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDDFF]"},{name:"Meroitic_Hieroglyphs",astral:"\uD802[\uDD80-\uDD9F]"},{name:"Miao",astral:"\uD81B[\uDF00-\uDF4A\uDF4F-\uDF87\uDF8F-\uDF9F]"},{name:"Modi",astral:"\uD805[\uDE00-\uDE44\uDE50-\uDE59]"},{name:"Mongolian",bmp:"᠀᠁᠄᠆-᠙ᠠ-ᡸᢀ-ᢪ",astral:"\uD805[\uDE60-\uDE6C]"},{name:"Mro",astral:"\uD81A[\uDE40-\uDE5E\uDE60-\uDE69\uDE6E\uDE6F]"},{name:"Multani",astral:"\uD804[\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA9]"},{name:"Myanmar",bmp:"က-႟ꧠ-ꧾꩠ-ꩿ"},{name:"Nabataean",astral:"\uD802[\uDC80-\uDC9E\uDCA7-\uDCAF]"},{name:"Nandinagari",astral:"\uD806[\uDDA0-\uDDA7\uDDAA-\uDDD7\uDDDA-\uDDE4]"},{name:"New_Tai_Lue",bmp:"ᦀ-ᦫᦰ-ᧉ᧐-᧚᧞᧟"},{name:"Newa",astral:"\uD805[\uDC00-\uDC5B\uDC5D-\uDC61]"},{name:"Nko",bmp:"߀-ߺ߽-߿"},{name:"Nushu",astral:"𖿡|\uD82C[\uDD70-\uDEFB]"},{name:"Nyiakeng_Puachue_Hmong",astral:"\uD838[\uDD00-\uDD2C\uDD30-\uDD3D\uDD40-\uDD49\uDD4E\uDD4F]"},{name:"Ogham",bmp:" -᚜"},{name:"Ol_Chiki",bmp:"᱐-᱿"},{name:"Old_Hungarian",astral:"\uD803[\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDCFF]"},{name:"Old_Italic",astral:"\uD800[\uDF00-\uDF23\uDF2D-\uDF2F]"},{name:"Old_North_Arabian",astral:"\uD802[\uDE80-\uDE9F]"},{name:"Old_Permic",astral:"\uD800[\uDF50-\uDF7A]"},{name:"Old_Persian",astral:"\uD800[\uDFA0-\uDFC3\uDFC8-\uDFD5]"},{name:"Old_Sogdian",astral:"\uD803[\uDF00-\uDF27]"},{name:"Old_South_Arabian",astral:"\uD802[\uDE60-\uDE7F]"},{name:"Old_Turkic",astral:"\uD803[\uDC00-\uDC48]"},{name:"Old_Uyghur",astral:"\uD803[\uDF70-\uDF89]"},{name:"Oriya",bmp:"ଁ-ଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହ଼-ୄେୈୋ-୍୕-ୗଡ଼ଢ଼ୟ-ୣ୦-୷"},{name:"Osage",astral:"\uD801[\uDCB0-\uDCD3\uDCD8-\uDCFB]"},{name:"Osmanya",astral:"\uD801[\uDC80-\uDC9D\uDCA0-\uDCA9]"},{name:"Pahawh_Hmong",astral:"\uD81A[\uDF00-\uDF45\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]"},{name:"Palmyrene",astral:"\uD802[\uDC60-\uDC7F]"},{name:"Pau_Cin_Hau",astral:"\uD806[\uDEC0-\uDEF8]"},{name:"Phags_Pa",bmp:"ꡀ-꡷"},{name:"Phoenician",astral:"\uD802[\uDD00-\uDD1B\uDD1F]"},{name:"Psalter_Pahlavi",astral:"\uD802[\uDF80-\uDF91\uDF99-\uDF9C\uDFA9-\uDFAF]"},{name:"Rejang",bmp:"ꤰ-꥓꥟"},{name:"Runic",bmp:"ᚠ-ᛪᛮ-ᛸ"},{name:"Samaritan",bmp:"ࠀ-࠭࠰-࠾"},{name:"Saurashtra",bmp:"ꢀ-ꣅ꣎-꣙"},{name:"Sharada",astral:"\uD804[\uDD80-\uDDDF]"},{name:"Shavian",astral:"\uD801[\uDC50-\uDC7F]"},{name:"Siddham",astral:"\uD805[\uDD80-\uDDB5\uDDB8-\uDDDD]"},{name:"SignWriting",astral:"\uD836[\uDC00-\uDE8B\uDE9B-\uDE9F\uDEA1-\uDEAF]"},{name:"Sinhala",bmp:"ඁ-ඃඅ-ඖක-නඳ-රලව-ෆ්ා-ුූෘ-ෟ෦-෯ෲ-෴",astral:"\uD804[\uDDE1-\uDDF4]"},{name:"Sogdian",astral:"\uD803[\uDF30-\uDF59]"},{name:"Sora_Sompeng",astral:"\uD804[\uDCD0-\uDCE8\uDCF0-\uDCF9]"},{name:"Soyombo",astral:"\uD806[\uDE50-\uDEA2]"},{name:"Sundanese",bmp:"ᮀ-ᮿ᳀-᳇"},{name:"Syloti_Nagri",bmp:"ꠀ-꠬"},{name:"Syriac",bmp:"܀-܍܏-݊ݍ-ݏࡠ-ࡪ"},{name:"Tagalog",bmp:"ᜀ-᜕ᜟ"},{name:"Tagbanwa",bmp:"ᝠ-ᝬᝮ-ᝰᝲᝳ"},{name:"Tai_Le",bmp:"ᥐ-ᥭᥰ-ᥴ"},{name:"Tai_Tham",bmp:"ᨠ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪠-᪭"},{name:"Tai_Viet",bmp:"ꪀ-ꫂꫛ-꫟"},{name:"Takri",astral:"\uD805[\uDE80-\uDEB9\uDEC0-\uDEC9]"},{name:"Tamil",bmp:"ஂஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹா-ூெ-ைொ-்ௐௗ௦-௺",astral:"\uD807[\uDFC0-\uDFF1\uDFFF]"},{name:"Tangsa",astral:"\uD81A[\uDE70-\uDEBE\uDEC0-\uDEC9]"},{name:"Tangut",astral:"𖿠|[\uD81C-\uD820][\uDC00-\uDFFF]|\uD821[\uDC00-\uDFF7]|\uD822[\uDC00-\uDEFF]|\uD823[\uDD00-\uDD08]"},{name:"Telugu",bmp:"ఀ-ఌఎ-ఐఒ-నప-హ఼-ౄె-ైొ-్ౕౖౘ-ౚౝౠ-ౣ౦-౯౷-౿"},{name:"Thaana",bmp:"ހ-ޱ"},{name:"Thai",bmp:"ก-ฺเ-๛"},{name:"Tibetan",bmp:"ༀ-ཇཉ-ཬཱ-ྗྙ-ྼ྾-࿌࿎-࿔࿙࿚"},{name:"Tifinagh",bmp:"ⴰ-ⵧⵯ⵰⵿"},{name:"Tirhuta",astral:"\uD805[\uDC80-\uDCC7\uDCD0-\uDCD9]"},{name:"Toto",astral:"\uD838[\uDE90-\uDEAE]"},{name:"Ugaritic",astral:"\uD800[\uDF80-\uDF9D\uDF9F]"},{name:"Vai",bmp:"ꔀ-ꘫ"},{name:"Vithkuqi",astral:"\uD801[\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC]"},{name:"Wancho",astral:"\uD838[\uDEC0-\uDEF9\uDEFF]"},{name:"Warang_Citi",astral:"\uD806[\uDCA0-\uDCF2\uDCFF]"},{name:"Yezidi",astral:"\uD803[\uDE80-\uDEA9\uDEAB-\uDEAD\uDEB0\uDEB1]"},{name:"Yi",bmp:"ꀀ-ꒌ꒐-꓆"},{name:"Zanabazar_Square",astral:"\uD806[\uDE00-\uDE47]"}]),h2}var JS;function Zde(){return JS||(JS=1,function(e,t){var r=hs,n=ms;r(t,"__esModule",{value:!0}),t.default=void 0;var u=n(Yde());/*! + */var s=function(a){if(!a.addUnicodeData)throw new ReferenceError("Unicode Base must be loaded before Unicode Properties");var i=u.default;i.push({name:"Assigned",inverseOf:"Cn"}),a.addUnicodeData(i)};t.default=s,e.exports=t.default}(vl,vl.exports)),vl.exports}var gl={exports:{}},m2,zS;function Zde(){return zS||(zS=1,m2=[{name:"Adlam",astral:"\uD83A[\uDD00-\uDD4B\uDD50-\uDD59\uDD5E\uDD5F]"},{name:"Ahom",astral:"\uD805[\uDF00-\uDF1A\uDF1D-\uDF2B\uDF30-\uDF46]"},{name:"Anatolian_Hieroglyphs",astral:"\uD811[\uDC00-\uDE46]"},{name:"Arabic",bmp:"؀-؄؆-؋؍-ؚ؜-؞ؠ-ؿف-يٖ-ٯٱ-ۜ۞-ۿݐ-ݿࡰ-ࢎ࢐࢑࢘-ࣣ࣡-ࣿﭐ-﯂ﯓ-ﴽ﵀-ﶏﶒ-ﷇ﷏ﷰ-﷿ﹰ-ﹴﹶ-ﻼ",astral:"\uD803[\uDE60-\uDE7E]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB\uDEF0\uDEF1]"},{name:"Armenian",bmp:"Ա-Ֆՙ-֊֍-֏ﬓ-ﬗ"},{name:"Avestan",astral:"\uD802[\uDF00-\uDF35\uDF39-\uDF3F]"},{name:"Balinese",bmp:"ᬀ-ᭌ᭐-᭾"},{name:"Bamum",bmp:"ꚠ-꛷",astral:"\uD81A[\uDC00-\uDE38]"},{name:"Bassa_Vah",astral:"\uD81A[\uDED0-\uDEED\uDEF0-\uDEF5]"},{name:"Batak",bmp:"ᯀ-᯳᯼-᯿"},{name:"Bengali",bmp:"ঀ-ঃঅ-ঌএঐও-নপ-রলশ-হ়-ৄেৈো-ৎৗড়ঢ়য়-ৣ০-৾"},{name:"Bhaiksuki",astral:"\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC45\uDC50-\uDC6C]"},{name:"Bopomofo",bmp:"˪˫ㄅ-ㄯㆠ-ㆿ"},{name:"Brahmi",astral:"\uD804[\uDC00-\uDC4D\uDC52-\uDC75\uDC7F]"},{name:"Braille",bmp:"⠀-⣿"},{name:"Buginese",bmp:"ᨀ-ᨛ᨞᨟"},{name:"Buhid",bmp:"ᝀ-ᝓ"},{name:"Canadian_Aboriginal",bmp:"᐀-ᙿᢰ-ᣵ",astral:"\uD806[\uDEB0-\uDEBF]"},{name:"Carian",astral:"\uD800[\uDEA0-\uDED0]"},{name:"Caucasian_Albanian",astral:"\uD801[\uDD30-\uDD63\uDD6F]"},{name:"Chakma",astral:"\uD804[\uDD00-\uDD34\uDD36-\uDD47]"},{name:"Cham",bmp:"ꨀ-ꨶꩀ-ꩍ꩐-꩙꩜-꩟"},{name:"Cherokee",bmp:"Ꭰ-Ᏽᏸ-ᏽꭰ-ꮿ"},{name:"Chorasmian",astral:"\uD803[\uDFB0-\uDFCB]"},{name:"Common",bmp:"\0-@\\[-`\\{-©«-¹»-¿×÷ʹ-˟˥-˩ˬ-˿ʹ;΅·؅،؛؟ـ۝࣢।॥฿࿕-࿘჻᛫-᛭᜵᜶᠂᠃᠅᳓᳡ᳩ-ᳬᳮ-ᳳᳵ-᳷ᳺ -​‎-⁤⁦-⁰⁴-⁾₀-₎₠-⃀℀-℥℧-℩ℬ-ℱℳ-⅍⅏-⅟↉-↋←-␦⑀-⑊①-⟿⤀-⭳⭶-⮕⮗-⯿⸀-⹝⿰-⿻ -〄〆〈-〠〰-〷〼-〿゛゜゠・ー㆐-㆟㇀-㇣㈠-㉟㉿-㋏㋿㍘-㏿䷀-䷿꜀-꜡ꞈ-꞊꠰-꠹꤮ꧏ꭛꭪꭫﴾﴿︐-︙︰-﹒﹔-﹦﹨-﹫\uFEFF!-@[-`{-・ー゙゚¢-₩│-○-�",astral:"\uD800[\uDD00-\uDD02\uDD07-\uDD33\uDD37-\uDD3F\uDD90-\uDD9C\uDDD0-\uDDFC\uDEE1-\uDEFB]|\uD82F[\uDCA0-\uDCA3]|\uD833[\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD66\uDD6A-\uDD7A\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDEE0-\uDEF3\uDF00-\uDF56\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDFCB\uDFCE-\uDFFF]|\uD83B[\uDC71-\uDCB4\uDD01-\uDD3D]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD00-\uDDAD\uDDE6-\uDDFF\uDE01\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEDD-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF73\uDF80-\uDFD8\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDE53\uDE60-\uDE6D\uDE70-\uDE74\uDE78-\uDE7C\uDE80-\uDE86\uDE90-\uDEAC\uDEB0-\uDEBA\uDEC0-\uDEC5\uDED0-\uDED9\uDEE0-\uDEE7\uDEF0-\uDEF6\uDF00-\uDF92\uDF94-\uDFCA\uDFF0-\uDFF9]|\uDB40[\uDC01\uDC20-\uDC7F]"},{name:"Coptic",bmp:"Ϣ-ϯⲀ-ⳳ⳹-⳿"},{name:"Cuneiform",astral:"\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC70-\uDC74\uDC80-\uDD43]"},{name:"Cypriot",astral:"\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F]"},{name:"Cypro_Minoan",astral:"\uD80B[\uDF90-\uDFF2]"},{name:"Cyrillic",bmp:"Ѐ-҄҇-ԯᲀ-ᲈᴫᵸⷠ-ⷿꙀ-ꚟ︮︯"},{name:"Deseret",astral:"\uD801[\uDC00-\uDC4F]"},{name:"Devanagari",bmp:"ऀ-ॐॕ-ॣ०-ॿ꣠-ꣿ"},{name:"Dives_Akuru",astral:"\uD806[\uDD00-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD35\uDD37\uDD38\uDD3B-\uDD46\uDD50-\uDD59]"},{name:"Dogra",astral:"\uD806[\uDC00-\uDC3B]"},{name:"Duployan",astral:"\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9C-\uDC9F]"},{name:"Egyptian_Hieroglyphs",astral:"\uD80C[\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E\uDC30-\uDC38]"},{name:"Elbasan",astral:"\uD801[\uDD00-\uDD27]"},{name:"Elymaic",astral:"\uD803[\uDFE0-\uDFF6]"},{name:"Ethiopic",bmp:"ሀ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚ፝-፼ᎀ-᎙ⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮ",astral:"\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]"},{name:"Georgian",bmp:"Ⴀ-ჅჇჍა-ჺჼ-ჿᲐ-ᲺᲽ-Ჿⴀ-ⴥⴧⴭ"},{name:"Glagolitic",bmp:"Ⰰ-ⱟ",astral:"\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]"},{name:"Gothic",astral:"\uD800[\uDF30-\uDF4A]"},{name:"Grantha",astral:"\uD804[\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]"},{name:"Greek",bmp:"Ͱ-ͳ͵-ͷͺ-ͽͿ΄ΆΈ-ΊΌΎ-ΡΣ-ϡϰ-Ͽᴦ-ᴪᵝ-ᵡᵦ-ᵪᶿἀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ῄῆ-ΐῖ-Ί῝-`ῲ-ῴῶ-῾Ωꭥ",astral:"\uD800[\uDD40-\uDD8E\uDDA0]|\uD834[\uDE00-\uDE45]"},{name:"Gujarati",bmp:"ઁ-ઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હ઼-ૅે-ૉો-્ૐૠ-ૣ૦-૱ૹ-૿"},{name:"Gunjala_Gondi",astral:"\uD807[\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD8E\uDD90\uDD91\uDD93-\uDD98\uDDA0-\uDDA9]"},{name:"Gurmukhi",bmp:"ਁ-ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹ਼ਾ-ੂੇੈੋ-੍ੑਖ਼-ੜਫ਼੦-੶"},{name:"Han",bmp:"⺀-⺙⺛-⻳⼀-⿕々〇〡-〩〸-〻㐀-䶿一-鿿豈-舘並-龎",astral:"\uD81B[\uDFE2\uDFE3\uDFF0\uDFF1]|[\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A]"},{name:"Hangul",bmp:"ᄀ-ᇿ〮〯ㄱ-ㆎ㈀-㈞㉠-㉾ꥠ-ꥼ가-힣ힰ-ퟆퟋ-ퟻᅠ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ"},{name:"Hanifi_Rohingya",astral:"\uD803[\uDD00-\uDD27\uDD30-\uDD39]"},{name:"Hanunoo",bmp:"ᜠ-᜴"},{name:"Hatran",astral:"\uD802[\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDCFF]"},{name:"Hebrew",bmp:"֑-ׇא-תׯ-״יִ-זּטּ-לּמּנּסּףּפּצּ-ﭏ"},{name:"Hiragana",bmp:"ぁ-ゖゝ-ゟ",astral:"\uD82C[\uDC01-\uDD1F\uDD50-\uDD52]|🈀"},{name:"Imperial_Aramaic",astral:"\uD802[\uDC40-\uDC55\uDC57-\uDC5F]"},{name:"Inherited",bmp:"̀-ًͯ҅҆-ٰٕ॑-॔᪰-ᫎ᳐-᳔᳒-᳢᳠-᳨᳭᳴᳸᳹᷀-᷿‌‍⃐-〪⃰-゙゚〭︀-️︠-︭",astral:"\uD800[\uDDFD\uDEE0]|𑌻|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD67-\uDD69\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD]|\uDB40[\uDD00-\uDDEF]"},{name:"Inscriptional_Pahlavi",astral:"\uD802[\uDF60-\uDF72\uDF78-\uDF7F]"},{name:"Inscriptional_Parthian",astral:"\uD802[\uDF40-\uDF55\uDF58-\uDF5F]"},{name:"Javanese",bmp:"ꦀ-꧍꧐-꧙꧞꧟"},{name:"Kaithi",astral:"\uD804[\uDC80-\uDCC2\uDCCD]"},{name:"Kannada",bmp:"ಀ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹ಼-ೄೆ-ೈೊ-್ೕೖೝೞೠ-ೣ೦-೯ೱೲ"},{name:"Katakana",bmp:"ァ-ヺヽ-ヿㇰ-ㇿ㋐-㋾㌀-㍗ヲ-ッア-ン",astral:"\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00\uDD20-\uDD22\uDD64-\uDD67]"},{name:"Kayah_Li",bmp:"꤀-꤭꤯"},{name:"Kharoshthi",astral:"\uD802[\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE38-\uDE3A\uDE3F-\uDE48\uDE50-\uDE58]"},{name:"Khitan_Small_Script",astral:"𖿤|\uD822[\uDF00-\uDFFF]|\uD823[\uDC00-\uDCD5]"},{name:"Khmer",bmp:"ក-៝០-៩៰-៹᧠-᧿"},{name:"Khojki",astral:"\uD804[\uDE00-\uDE11\uDE13-\uDE3E]"},{name:"Khudawadi",astral:"\uD804[\uDEB0-\uDEEA\uDEF0-\uDEF9]"},{name:"Lao",bmp:"ກຂຄຆ-ຊຌ-ຣລວ-ຽເ-ໄໆ່-ໍ໐-໙ໜ-ໟ"},{name:"Latin",bmp:"A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꟿꬰ-ꭚꭜ-ꭤꭦ-ꭩff-stA-Za-z",astral:"\uD801[\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD837[\uDF00-\uDF1E]"},{name:"Lepcha",bmp:"ᰀ-᰷᰻-᱉ᱍ-ᱏ"},{name:"Limbu",bmp:"ᤀ-ᤞᤠ-ᤫᤰ-᤻᥀᥄-᥏"},{name:"Linear_A",astral:"\uD801[\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]"},{name:"Linear_B",astral:"\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA]"},{name:"Lisu",bmp:"ꓐ-꓿",astral:"𑾰"},{name:"Lycian",astral:"\uD800[\uDE80-\uDE9C]"},{name:"Lydian",astral:"\uD802[\uDD20-\uDD39\uDD3F]"},{name:"Mahajani",astral:"\uD804[\uDD50-\uDD76]"},{name:"Makasar",astral:"\uD807[\uDEE0-\uDEF8]"},{name:"Malayalam",bmp:"ഀ-ഌഎ-ഐഒ-ൄെ-ൈൊ-൏ൔ-ൣ൦-ൿ"},{name:"Mandaic",bmp:"ࡀ-࡛࡞"},{name:"Manichaean",astral:"\uD802[\uDEC0-\uDEE6\uDEEB-\uDEF6]"},{name:"Marchen",astral:"\uD807[\uDC70-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]"},{name:"Masaram_Gondi",astral:"\uD807[\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]"},{name:"Medefaidrin",astral:"\uD81B[\uDE40-\uDE9A]"},{name:"Meetei_Mayek",bmp:"ꫠ-꫶ꯀ-꯭꯰-꯹"},{name:"Mende_Kikakui",astral:"\uD83A[\uDC00-\uDCC4\uDCC7-\uDCD6]"},{name:"Meroitic_Cursive",astral:"\uD802[\uDDA0-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDDFF]"},{name:"Meroitic_Hieroglyphs",astral:"\uD802[\uDD80-\uDD9F]"},{name:"Miao",astral:"\uD81B[\uDF00-\uDF4A\uDF4F-\uDF87\uDF8F-\uDF9F]"},{name:"Modi",astral:"\uD805[\uDE00-\uDE44\uDE50-\uDE59]"},{name:"Mongolian",bmp:"᠀᠁᠄᠆-᠙ᠠ-ᡸᢀ-ᢪ",astral:"\uD805[\uDE60-\uDE6C]"},{name:"Mro",astral:"\uD81A[\uDE40-\uDE5E\uDE60-\uDE69\uDE6E\uDE6F]"},{name:"Multani",astral:"\uD804[\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA9]"},{name:"Myanmar",bmp:"က-႟ꧠ-ꧾꩠ-ꩿ"},{name:"Nabataean",astral:"\uD802[\uDC80-\uDC9E\uDCA7-\uDCAF]"},{name:"Nandinagari",astral:"\uD806[\uDDA0-\uDDA7\uDDAA-\uDDD7\uDDDA-\uDDE4]"},{name:"New_Tai_Lue",bmp:"ᦀ-ᦫᦰ-ᧉ᧐-᧚᧞᧟"},{name:"Newa",astral:"\uD805[\uDC00-\uDC5B\uDC5D-\uDC61]"},{name:"Nko",bmp:"߀-ߺ߽-߿"},{name:"Nushu",astral:"𖿡|\uD82C[\uDD70-\uDEFB]"},{name:"Nyiakeng_Puachue_Hmong",astral:"\uD838[\uDD00-\uDD2C\uDD30-\uDD3D\uDD40-\uDD49\uDD4E\uDD4F]"},{name:"Ogham",bmp:" -᚜"},{name:"Ol_Chiki",bmp:"᱐-᱿"},{name:"Old_Hungarian",astral:"\uD803[\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDCFF]"},{name:"Old_Italic",astral:"\uD800[\uDF00-\uDF23\uDF2D-\uDF2F]"},{name:"Old_North_Arabian",astral:"\uD802[\uDE80-\uDE9F]"},{name:"Old_Permic",astral:"\uD800[\uDF50-\uDF7A]"},{name:"Old_Persian",astral:"\uD800[\uDFA0-\uDFC3\uDFC8-\uDFD5]"},{name:"Old_Sogdian",astral:"\uD803[\uDF00-\uDF27]"},{name:"Old_South_Arabian",astral:"\uD802[\uDE60-\uDE7F]"},{name:"Old_Turkic",astral:"\uD803[\uDC00-\uDC48]"},{name:"Old_Uyghur",astral:"\uD803[\uDF70-\uDF89]"},{name:"Oriya",bmp:"ଁ-ଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହ଼-ୄେୈୋ-୍୕-ୗଡ଼ଢ଼ୟ-ୣ୦-୷"},{name:"Osage",astral:"\uD801[\uDCB0-\uDCD3\uDCD8-\uDCFB]"},{name:"Osmanya",astral:"\uD801[\uDC80-\uDC9D\uDCA0-\uDCA9]"},{name:"Pahawh_Hmong",astral:"\uD81A[\uDF00-\uDF45\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]"},{name:"Palmyrene",astral:"\uD802[\uDC60-\uDC7F]"},{name:"Pau_Cin_Hau",astral:"\uD806[\uDEC0-\uDEF8]"},{name:"Phags_Pa",bmp:"ꡀ-꡷"},{name:"Phoenician",astral:"\uD802[\uDD00-\uDD1B\uDD1F]"},{name:"Psalter_Pahlavi",astral:"\uD802[\uDF80-\uDF91\uDF99-\uDF9C\uDFA9-\uDFAF]"},{name:"Rejang",bmp:"ꤰ-꥓꥟"},{name:"Runic",bmp:"ᚠ-ᛪᛮ-ᛸ"},{name:"Samaritan",bmp:"ࠀ-࠭࠰-࠾"},{name:"Saurashtra",bmp:"ꢀ-ꣅ꣎-꣙"},{name:"Sharada",astral:"\uD804[\uDD80-\uDDDF]"},{name:"Shavian",astral:"\uD801[\uDC50-\uDC7F]"},{name:"Siddham",astral:"\uD805[\uDD80-\uDDB5\uDDB8-\uDDDD]"},{name:"SignWriting",astral:"\uD836[\uDC00-\uDE8B\uDE9B-\uDE9F\uDEA1-\uDEAF]"},{name:"Sinhala",bmp:"ඁ-ඃඅ-ඖක-නඳ-රලව-ෆ්ා-ුූෘ-ෟ෦-෯ෲ-෴",astral:"\uD804[\uDDE1-\uDDF4]"},{name:"Sogdian",astral:"\uD803[\uDF30-\uDF59]"},{name:"Sora_Sompeng",astral:"\uD804[\uDCD0-\uDCE8\uDCF0-\uDCF9]"},{name:"Soyombo",astral:"\uD806[\uDE50-\uDEA2]"},{name:"Sundanese",bmp:"ᮀ-ᮿ᳀-᳇"},{name:"Syloti_Nagri",bmp:"ꠀ-꠬"},{name:"Syriac",bmp:"܀-܍܏-݊ݍ-ݏࡠ-ࡪ"},{name:"Tagalog",bmp:"ᜀ-᜕ᜟ"},{name:"Tagbanwa",bmp:"ᝠ-ᝬᝮ-ᝰᝲᝳ"},{name:"Tai_Le",bmp:"ᥐ-ᥭᥰ-ᥴ"},{name:"Tai_Tham",bmp:"ᨠ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪠-᪭"},{name:"Tai_Viet",bmp:"ꪀ-ꫂꫛ-꫟"},{name:"Takri",astral:"\uD805[\uDE80-\uDEB9\uDEC0-\uDEC9]"},{name:"Tamil",bmp:"ஂஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹா-ூெ-ைொ-்ௐௗ௦-௺",astral:"\uD807[\uDFC0-\uDFF1\uDFFF]"},{name:"Tangsa",astral:"\uD81A[\uDE70-\uDEBE\uDEC0-\uDEC9]"},{name:"Tangut",astral:"𖿠|[\uD81C-\uD820][\uDC00-\uDFFF]|\uD821[\uDC00-\uDFF7]|\uD822[\uDC00-\uDEFF]|\uD823[\uDD00-\uDD08]"},{name:"Telugu",bmp:"ఀ-ఌఎ-ఐఒ-నప-హ఼-ౄె-ైొ-్ౕౖౘ-ౚౝౠ-ౣ౦-౯౷-౿"},{name:"Thaana",bmp:"ހ-ޱ"},{name:"Thai",bmp:"ก-ฺเ-๛"},{name:"Tibetan",bmp:"ༀ-ཇཉ-ཬཱ-ྗྙ-ྼ྾-࿌࿎-࿔࿙࿚"},{name:"Tifinagh",bmp:"ⴰ-ⵧⵯ⵰⵿"},{name:"Tirhuta",astral:"\uD805[\uDC80-\uDCC7\uDCD0-\uDCD9]"},{name:"Toto",astral:"\uD838[\uDE90-\uDEAE]"},{name:"Ugaritic",astral:"\uD800[\uDF80-\uDF9D\uDF9F]"},{name:"Vai",bmp:"ꔀ-ꘫ"},{name:"Vithkuqi",astral:"\uD801[\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC]"},{name:"Wancho",astral:"\uD838[\uDEC0-\uDEF9\uDEFF]"},{name:"Warang_Citi",astral:"\uD806[\uDCA0-\uDCF2\uDCFF]"},{name:"Yezidi",astral:"\uD803[\uDE80-\uDEA9\uDEAB-\uDEAD\uDEB0\uDEB1]"},{name:"Yi",bmp:"ꀀ-ꒌ꒐-꓆"},{name:"Zanabazar_Square",astral:"\uD806[\uDE00-\uDE47]"}]),m2}var KS;function Qde(){return KS||(KS=1,function(e,t){var r=hs,n=ms;r(t,"__esModule",{value:!0}),t.default=void 0;var u=n(Zde());/*! * XRegExp Unicode Scripts 5.1.1 * * Steven Levithan (c) 2010-present MIT License * Unicode data by Mathias Bynens - */var s=function(a){if(!a.addUnicodeData)throw new ReferenceError("Unicode Base must be loaded before Unicode Scripts");a.addUnicodeData(u.default,"Script")};t.default=s,e.exports=t.default}(gl,gl.exports)),gl.exports}(function(e,t){var r=hs,n=ms;r(t,"__esModule",{value:!0}),t.default=void 0;var u=n($de()),s=n(Vde()),o=n(Hde()),a=n(Wde()),i=n(zde()),c=n(Xde()),l=n(Zde());(0,s.default)(u.default),(0,o.default)(u.default),(0,a.default)(u.default),(0,i.default)(u.default),(0,c.default)(u.default),(0,l.default)(u.default);var p=u.default;t.default=p,e.exports=t.default})(Ih,Ih.exports);var Cd=Ih.exports,zS=Qde(Cd);function Qde(e){return e&&e.__esModule?e:{default:e}}var efe={startDocument:[{description:"Set up storage",test:()=>!0,action:e=>{var{workspace:t,output:r}=e;t.verseContent=[],t.chapter=null,t.verses=null,r.cv={}}}],mark:[{description:"Update CV state",test:()=>!0,action:e=>{var{context:t,workspace:r,output:n}=e,{element:u}=t.sequences[0];u.subType==="chapter"?(r.chapter=u.atts.number,r.verses=0,n.cv[r.chapter]={},n.cv[r.chapter][r.verses]={}):u.subType==="verses"&&(r.verses=u.atts.number,n.cv[r.chapter][r.verses]={})}}],text:[{description:"Log occurrences",test:()=>!0,action:e=>{var{context:t,workspace:r,output:n}=e,{chapter:u,verses:s}=r,{text:o}=t.sequences[0].element,a=(0,zS.default)("([\\p{Letter}\\p{Number}\\p{Mark}\\u2060]{1,127})"),i=zS.default.match(o,a,"all");for(var c of i){var l,p;(p=(l=n.cv[u][s])[c])!==null&&p!==void 0||(l[c]=0),n.cv[u][s][c]+=1}}}]},Qw={verseWordsActions:efe},KS=tfe(Cd);function tfe(e){return e&&e.__esModule?e:{default:e}}function XS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable})),r.push.apply(r,n)}return r}function Al(e){for(var t=1;t!0,action:e=>{var{workspace:t,output:r}=e;return t.chapter=null,t.verses=null,t.lastWord="",t.waitingMarkup=[],t.currentOccurrences={},t.PendingStartMilestones=[],r.stripped={},r.unalignedWords={},!0}}],startMilestone:[{description:"Ignore zaln startMilestone events",test:e=>{var{context:t}=e;return t.sequences[0].element.subType==="usfm:zaln"},action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element;n.subtype=n.subType,delete n.subType,r.waitingMarkup.push(n),r.PendingStartMilestones.push(n)}}],endMilestone:[{description:"Ignore zaln endMilestone events",test:e=>{var{context:t}=e;return t.sequences[0].element.subType==="usfm:zaln"},action:e=>{var{context:t,workspace:r,output:n,config:u}=e,{chapter:s,verses:o,lastWord:a}=r,{verseWords:i}=u,c=["after",a,r.currentOccurrences[a],i[s][o][a]].join("--"),l=Al({},t.sequences[0].element);l.subtype=l.subType,delete l.subType;var p={chapter:s,verses:o,occurrence:r.currentOccurrences[a],occurrences:i[s][o][a],position:"after",word:a,payload:l,startMilestone:r.PendingStartMilestones.shift()};return n.stripped[r.chapter][r.verses][c]?n.stripped[r.chapter][r.verses][c].push(p):n.stripped[r.chapter][r.verses][c]=[p],!1}}],startWrapper:[{description:"Ignore w startWrapper events",test:e=>{var{context:t}=e;return t.sequences[0].element.subType==="usfm:w"},action:e=>{var{context:t,workspace:r}=e,n=Al({},t.sequences[0].element);n.subtype=n.subType,delete n.subType,r.waitingMarkup.push(n)}}],endWrapper:[{description:"Ignore w endWrapper events",test:e=>{var{context:t}=e;return t.sequences[0].element.subType==="usfm:w"},action:e=>{}}],text:[{description:"Log occurrences",test:()=>!0,action:e=>{var{context:t,workspace:r,output:n,config:u}=e;try{var s=t.sequences[0];if(s.type!=="main")return!0;var o=s.element.text,a=(0,KS.default)("([\\p{Letter}\\p{Number}\\p{Mark}\\u2060]{1,127})"),i=KS.default.match(o,a,"all"),{chapter:c,verses:l}=r,{verseWords:p}=u;for(var d of i){var f,h;if((h=(f=r.currentOccurrences)[d])!==null&&h!==void 0||(f[d]=0),r.currentOccurrences[d]++,!r.PendingStartMilestones.length&&r.waitingMarkup.length){var y,A,m,v;(A=(y=n.unalignedWords)[c])!==null&&A!==void 0||(y[c]={}),(v=(m=n.unalignedWords[c])[l])!==null&&v!==void 0||(m[l]=[]),n.unalignedWords[c][l].push({word:d,occurrence:r.currentOccurrences[d],totalOccurrences:p[c][l][d]})}for(;r.waitingMarkup.length;){var C=r.waitingMarkup.shift(),B=["before",d,r.currentOccurrences[d],p[c][l][d]].join("--"),T={chapter:c,verses:l,occurrence:r.currentOccurrences[d],occurrences:p[c][l][d],position:"before",word:d,payload:Al(Al({},C),C.subtype==="usfm:w"&&{content:[d]})};n.stripped[r.chapter][r.verses][B]?n.stripped[r.chapter][r.verses][B].push(T):n.stripped[r.chapter][r.verses][B]=[T]}r.lastWord=d}}catch(N){throw console.error(N),N}return!0}}],mark:[{description:"Update CV state",test:()=>!0,action:e=>{var{context:t,workspace:r,output:n}=e;try{var u=t.sequences[0].element;u.subType==="chapter"?(r.chapter=u.atts.number,r.verses=0,r.lastWord="",r.currentOccurrences={},n.stripped[r.chapter]={},n.stripped[r.chapter][r.verses]={}):u.subType==="verses"&&(r.verses=u.atts.number,r.lastWord="",r.currentOccurrences={},n.stripped[r.chapter][r.verses]={})}catch(s){throw console.error(s),s}return!0}}]},e_={stripMarkupActions:sfe},Us=ofe(Cd);function ofe(e){return e&&e.__esModule?e:{default:e}}var t_=[["printable","wordLike",(0,Us.default)("([\\p{Letter}\\p{Number}\\p{Mark}\\u2060]{1,127})")],["printable","lineSpace",(0,Us.default)("([\\p{Separator} ]{1,127})")],["printable","punctuation",(0,Us.default)("([\\p{Punctuation}\\p{Math_Symbol}\\p{Currency_Symbol}\\p{Modifier_Symbol}\\p{Other_Symbol}])")],["bad","unknown",(0,Us.default)("(.)")]],afe=Us.default.union(t_.map(e=>e[2])),ife={type:"end_milestone",subtype:"usfm:zaln"},cfe={startDocument:[{description:"setup",test:()=>!0,action:e=>{var{workspace:t,output:r}=e;return t.chapter=null,t.verses=null,t.currentOccurrences={},r.unalignedWords={},!0}}],text:[{description:"add-to-text",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e;try{let m=function(){for(;h.length;)n.outputContentStack[0].push(h.shift())};var s=r.sequences[0];if(s.type!=="main")return!0;var o=r.sequences[0].element.text,a=Us.default.match(o,afe,"all"),{chapter:i,verses:c}=n;if(!c)return!0;var{totalOccurrences:l,strippedAlignment:p}=t,d={opened:null},f=v=>{var{subtype:C,content:B=[],atts:T={}}=v;return Object.keys(T).length>0?{type:"wrapper",subtype:C,content:B,atts:T}:{type:"wrapper",subtype:C,content:B}},h=[],y=function(C){var B,T,N,R=(B=Us.default.match(C,t_[0][2],"all"))===null||B===void 0?void 0:B.length;if(!R)return h.push(C),1;(N=(T=n.currentOccurrences)[C])!==null&&N!==void 0||(T[C]=0),n.currentOccurrences[C]++;var J=ge=>[ge,C,n.currentOccurrences[C],l[i][c][C]].join("--"),q=p[i][c],G=!1,ee=q[J("after")],K=q[J("before")];if(K!=null&&K.length&&m(),ee!=null&&ee.length&&!d.opened&&(ee.map(ge=>{var{startMilestone:pe}=ge;return n.outputContentStack[0].push(pe)}),G=!0),K==null||K.forEach(ge=>{var{payload:pe}=ge;pe.type!=="start_milestone"&&n.outputContentStack[0].push(pe),pe.type==="start_milestone"&&!G&&(n.outputContentStack[0].push(pe),d.opened=!0)}),ee==null||ee.forEach(ge=>{var{payload:pe}=ge;d.opened=!1,n.outputContentStack[0].push(pe)}),!(K!=null&&K.length)){var ue,oe,de,he;d.opened&&(n.outputContentStack[0].push(ife),d.opened=!1),m(),(oe=(ue=u.unalignedWords)[i])!==null&&oe!==void 0||(ue[i]={}),(he=(de=u.unalignedWords[i])[c])!==null&&he!==void 0||(de[c]=[]),u.unalignedWords[n.chapter][n.verses].push({word:C,occurrence:n.currentOccurrences[C],totalOccurrences:l[i][c][C]});var fe=f({subtype:"usfm:w",content:[C]});n.outputContentStack[0].push(fe)}};for(var A of a)y(A);return m(),!1}catch(m){throw console.error(m),m}}}],mark:[{description:"mark-chapters",test:e=>{var{context:t}=e;return t.sequences[0].element.subType==="chapter"},action:e=>{var{config:t,context:r,workspace:n,output:u}=e,s=r.sequences[0].element;return n.chapter=s.atts.number,n.verses=0,!0}},{description:"mark-verses",test:e=>{var{context:t}=e;return t.sequences[0].element.subType==="verses"},action:e=>{var{config:t,context:r,workspace:n,output:u}=e,s=r.sequences[0].element;return n.verses=s.atts.number,n.currentOccurrences={},!0}}]},r_={mergeAlignmentActions:cfe},{verseWordsActions:lfe}=Qw,{stripMarkupActions:pfe}=e_,{mergeAlignmentActions:dfe}=r_,ffe={verseWordsActions:lfe,stripMarkupActions:pfe,mergeAlignmentActions:dfe};let Dfe=class{constructor(t){if(!t)throw new Error("Must provide a constructor object to constructor");this.description=t.description?t.description:(()=>{throw new Error("Must provide a description in constructor object")})(),this.test=t.test||(()=>!0),this.action=t.action||(()=>null)}};var hfe=Dfe,YS=hfe;let mfe=class n_{constructor(t){if(this.constructor===n_)throw new Error("Abstract class ProskommaRender cannot be instantiated - make as subclass!");var r=t.actions||{};this.debugLevel=t.debugLevel||0,this.actions={};for(var n of["startDocument","endDocument","startSequence","startTable","endTable","endSequence","unresolvedBlockGraft","blockGraft","startParagraph","endParagraph","startRow","endRow","startCell","endCell","metaContent","mark","unresolvedInlineGraft","inlineGraft","startWrapper","endWrapper","startMilestone","endMilestone","startVerses","endVerses","startChapter","endChapter","text"])r[n]?this.actions[n]=r[n].map(u=>new YS(u)):this.actions[n]=[]}addRenderActionObject(t,r){if(!this.actions[t])throw new Error("Unknown event '".concat(t));this.actions[t].push(r)}addRenderAction(t,r){this.addRenderActionObject(t,new YS(r))}describeRenderActions(t){if(!this.actions[t])throw new Error("Unknown event '".concat(t));var r=["**Actions for ".concat(t,`** + */var s=function(a){if(!a.addUnicodeData)throw new ReferenceError("Unicode Base must be loaded before Unicode Scripts");a.addUnicodeData(u.default,"Script")};t.default=s,e.exports=t.default}(gl,gl.exports)),gl.exports}(function(e,t){var r=hs,n=ms;r(t,"__esModule",{value:!0}),t.default=void 0;var u=n(Pde()),s=n(Hde()),o=n(Wde()),a=n(Jde()),i=n(Kde()),c=n(Yde()),l=n(Qde());(0,s.default)(u.default),(0,o.default)(u.default),(0,a.default)(u.default),(0,i.default)(u.default),(0,c.default)(u.default),(0,l.default)(u.default);var p=u.default;t.default=p,e.exports=t.default})(Nh,Nh.exports);var Cd=Nh.exports,XS=efe(Cd);function efe(e){return e&&e.__esModule?e:{default:e}}var tfe={startDocument:[{description:"Set up storage",test:()=>!0,action:e=>{var{workspace:t,output:r}=e;t.verseContent=[],t.chapter=null,t.verses=null,r.cv={}}}],mark:[{description:"Update CV state",test:()=>!0,action:e=>{var{context:t,workspace:r,output:n}=e,{element:u}=t.sequences[0];u.subType==="chapter"?(r.chapter=u.atts.number,r.verses=0,n.cv[r.chapter]={},n.cv[r.chapter][r.verses]={}):u.subType==="verses"&&(r.verses=u.atts.number,n.cv[r.chapter][r.verses]={})}}],text:[{description:"Log occurrences",test:()=>!0,action:e=>{var{context:t,workspace:r,output:n}=e,{chapter:u,verses:s}=r,{text:o}=t.sequences[0].element,a=(0,XS.default)("([\\p{Letter}\\p{Number}\\p{Mark}\\u2060]{1,127})"),i=XS.default.match(o,a,"all");for(var c of i){var l,p;(p=(l=n.cv[u][s])[c])!==null&&p!==void 0||(l[c]=0),n.cv[u][s][c]+=1}}}]},t_={verseWordsActions:tfe},YS=rfe(Cd);function rfe(e){return e&&e.__esModule?e:{default:e}}function ZS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable})),r.push.apply(r,n)}return r}function Al(e){for(var t=1;t!0,action:e=>{var{workspace:t,output:r}=e;return t.chapter=null,t.verses=null,t.lastWord="",t.waitingMarkup=[],t.currentOccurrences={},t.PendingStartMilestones=[],r.stripped={},r.unalignedWords={},!0}}],startMilestone:[{description:"Ignore zaln startMilestone events",test:e=>{var{context:t}=e;return t.sequences[0].element.subType==="usfm:zaln"},action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element;n.subtype=n.subType,delete n.subType,r.waitingMarkup.push(n),r.PendingStartMilestones.push(n)}}],endMilestone:[{description:"Ignore zaln endMilestone events",test:e=>{var{context:t}=e;return t.sequences[0].element.subType==="usfm:zaln"},action:e=>{var{context:t,workspace:r,output:n,config:u}=e,{chapter:s,verses:o,lastWord:a}=r,{verseWords:i}=u,c=["after",a,r.currentOccurrences[a],i[s][o][a]].join("--"),l=Al({},t.sequences[0].element);l.subtype=l.subType,delete l.subType;var p={chapter:s,verses:o,occurrence:r.currentOccurrences[a],occurrences:i[s][o][a],position:"after",word:a,payload:l,startMilestone:r.PendingStartMilestones.shift()};return n.stripped[r.chapter][r.verses][c]?n.stripped[r.chapter][r.verses][c].push(p):n.stripped[r.chapter][r.verses][c]=[p],!1}}],startWrapper:[{description:"Ignore w startWrapper events",test:e=>{var{context:t}=e;return t.sequences[0].element.subType==="usfm:w"},action:e=>{var{context:t,workspace:r}=e,n=Al({},t.sequences[0].element);n.subtype=n.subType,delete n.subType,r.waitingMarkup.push(n)}}],endWrapper:[{description:"Ignore w endWrapper events",test:e=>{var{context:t}=e;return t.sequences[0].element.subType==="usfm:w"},action:e=>{}}],text:[{description:"Log occurrences",test:()=>!0,action:e=>{var{context:t,workspace:r,output:n,config:u}=e;try{var s=t.sequences[0];if(s.type!=="main")return!0;var o=s.element.text,a=(0,YS.default)("([\\p{Letter}\\p{Number}\\p{Mark}\\u2060]{1,127})"),i=YS.default.match(o,a,"all"),{chapter:c,verses:l}=r,{verseWords:p}=u;for(var d of i){var f,h;if((h=(f=r.currentOccurrences)[d])!==null&&h!==void 0||(f[d]=0),r.currentOccurrences[d]++,!r.PendingStartMilestones.length&&r.waitingMarkup.length){var y,A,m,v;(A=(y=n.unalignedWords)[c])!==null&&A!==void 0||(y[c]={}),(v=(m=n.unalignedWords[c])[l])!==null&&v!==void 0||(m[l]=[]),n.unalignedWords[c][l].push({word:d,occurrence:r.currentOccurrences[d],totalOccurrences:p[c][l][d]})}for(;r.waitingMarkup.length;){var C=r.waitingMarkup.shift(),B=["before",d,r.currentOccurrences[d],p[c][l][d]].join("--"),T={chapter:c,verses:l,occurrence:r.currentOccurrences[d],occurrences:p[c][l][d],position:"before",word:d,payload:Al(Al({},C),C.subtype==="usfm:w"&&{content:[d]})};n.stripped[r.chapter][r.verses][B]?n.stripped[r.chapter][r.verses][B].push(T):n.stripped[r.chapter][r.verses][B]=[T]}r.lastWord=d}}catch(N){throw console.error(N),N}return!0}}],mark:[{description:"Update CV state",test:()=>!0,action:e=>{var{context:t,workspace:r,output:n}=e;try{var u=t.sequences[0].element;u.subType==="chapter"?(r.chapter=u.atts.number,r.verses=0,r.lastWord="",r.currentOccurrences={},n.stripped[r.chapter]={},n.stripped[r.chapter][r.verses]={}):u.subType==="verses"&&(r.verses=u.atts.number,r.lastWord="",r.currentOccurrences={},n.stripped[r.chapter][r.verses]={})}catch(s){throw console.error(s),s}return!0}}]},r_={stripMarkupActions:ofe},Us=afe(Cd);function afe(e){return e&&e.__esModule?e:{default:e}}var n_=[["printable","wordLike",(0,Us.default)("([\\p{Letter}\\p{Number}\\p{Mark}\\u2060]{1,127})")],["printable","lineSpace",(0,Us.default)("([\\p{Separator} ]{1,127})")],["printable","punctuation",(0,Us.default)("([\\p{Punctuation}\\p{Math_Symbol}\\p{Currency_Symbol}\\p{Modifier_Symbol}\\p{Other_Symbol}])")],["bad","unknown",(0,Us.default)("(.)")]],ife=Us.default.union(n_.map(e=>e[2])),cfe={type:"end_milestone",subtype:"usfm:zaln"},lfe={startDocument:[{description:"setup",test:()=>!0,action:e=>{var{workspace:t,output:r}=e;return t.chapter=null,t.verses=null,t.currentOccurrences={},r.unalignedWords={},!0}}],text:[{description:"add-to-text",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e;try{let m=function(){for(;h.length;)n.outputContentStack[0].push(h.shift())};var s=r.sequences[0];if(s.type!=="main")return!0;var o=r.sequences[0].element.text,a=Us.default.match(o,ife,"all"),{chapter:i,verses:c}=n;if(!c)return!0;var{totalOccurrences:l,strippedAlignment:p}=t,d={opened:null},f=v=>{var{subtype:C,content:B=[],atts:T={}}=v;return Object.keys(T).length>0?{type:"wrapper",subtype:C,content:B,atts:T}:{type:"wrapper",subtype:C,content:B}},h=[],y=function(C){var B,T,N,R=(B=Us.default.match(C,n_[0][2],"all"))===null||B===void 0?void 0:B.length;if(!R)return h.push(C),1;(N=(T=n.currentOccurrences)[C])!==null&&N!==void 0||(T[C]=0),n.currentOccurrences[C]++;var J=ge=>[ge,C,n.currentOccurrences[C],l[i][c][C]].join("--"),q=p[i][c],G=!1,ee=q[J("after")],K=q[J("before")];if(K!=null&&K.length&&m(),ee!=null&&ee.length&&!d.opened&&(ee.map(ge=>{var{startMilestone:pe}=ge;return n.outputContentStack[0].push(pe)}),G=!0),K==null||K.forEach(ge=>{var{payload:pe}=ge;pe.type!=="start_milestone"&&n.outputContentStack[0].push(pe),pe.type==="start_milestone"&&!G&&(n.outputContentStack[0].push(pe),d.opened=!0)}),ee==null||ee.forEach(ge=>{var{payload:pe}=ge;d.opened=!1,n.outputContentStack[0].push(pe)}),!(K!=null&&K.length)){var ue,oe,de,he;d.opened&&(n.outputContentStack[0].push(cfe),d.opened=!1),m(),(oe=(ue=u.unalignedWords)[i])!==null&&oe!==void 0||(ue[i]={}),(he=(de=u.unalignedWords[i])[c])!==null&&he!==void 0||(de[c]=[]),u.unalignedWords[n.chapter][n.verses].push({word:C,occurrence:n.currentOccurrences[C],totalOccurrences:l[i][c][C]});var fe=f({subtype:"usfm:w",content:[C]});n.outputContentStack[0].push(fe)}};for(var A of a)y(A);return m(),!1}catch(m){throw console.error(m),m}}}],mark:[{description:"mark-chapters",test:e=>{var{context:t}=e;return t.sequences[0].element.subType==="chapter"},action:e=>{var{config:t,context:r,workspace:n,output:u}=e,s=r.sequences[0].element;return n.chapter=s.atts.number,n.verses=0,!0}},{description:"mark-verses",test:e=>{var{context:t}=e;return t.sequences[0].element.subType==="verses"},action:e=>{var{config:t,context:r,workspace:n,output:u}=e,s=r.sequences[0].element;return n.verses=s.atts.number,n.currentOccurrences={},!0}}]},u_={mergeAlignmentActions:lfe},{verseWordsActions:pfe}=t_,{stripMarkupActions:dfe}=r_,{mergeAlignmentActions:ffe}=u_,Dfe={verseWordsActions:pfe,stripMarkupActions:dfe,mergeAlignmentActions:ffe};let hfe=class{constructor(t){if(!t)throw new Error("Must provide a constructor object to constructor");this.description=t.description?t.description:(()=>{throw new Error("Must provide a description in constructor object")})(),this.test=t.test||(()=>!0),this.action=t.action||(()=>null)}};var mfe=hfe,QS=mfe;let Efe=class s_{constructor(t){if(this.constructor===s_)throw new Error("Abstract class ProskommaRender cannot be instantiated - make as subclass!");var r=t.actions||{};this.debugLevel=t.debugLevel||0,this.actions={};for(var n of["startDocument","endDocument","startSequence","startTable","endTable","endSequence","unresolvedBlockGraft","blockGraft","startParagraph","endParagraph","startRow","endRow","startCell","endCell","metaContent","mark","unresolvedInlineGraft","inlineGraft","startWrapper","endWrapper","startMilestone","endMilestone","startVerses","endVerses","startChapter","endChapter","text"])r[n]?this.actions[n]=r[n].map(u=>new QS(u)):this.actions[n]=[]}addRenderActionObject(t,r){if(!this.actions[t])throw new Error("Unknown event '".concat(t));this.actions[t].push(r)}addRenderAction(t,r){this.addRenderActionObject(t,new QS(r))}describeRenderActions(t){if(!this.actions[t])throw new Error("Unknown event '".concat(t));var r=["**Actions for ".concat(t,`** `)];for(var n of this.actions[t])r.push("IF ".concat(n.test.toString(),":")),r.push(" DO ".concat(n.description));return r.join(` -`)}renderDocument(t){var{docId:r,config:n,output:u}=t,s={},o={};return this.renderDocument1({docId:r,config:n,context:s,workspace:o,output:u}),u}renderDocument1(t){throw new Error("Define renderDocument1() in subclass")}renderEvent(t,r){var n=r.context;if(this.debugLevel>1&&console.log("".concat(" ".repeat(n.sequences.length),"EVENT ").concat(t)),!this.actions[t])throw new Error("Unknown event '".concat(t));var u=!1;for(var s of this.actions[t]){var o=!1;try{o=s.test(r)}catch(c){var a="Exception from test of action '".concat(s.description,"' for event ").concat(t," in ").concat(n.sequences.length>0?n.sequences[0].type:"no"," sequence: ").concat(c);throw new Error(a)}if(o){u=!0,this.debugLevel>0&&console.log("".concat(" ".repeat(n.sequences.length)," ").concat(t," action: ").concat(s.description));var i=!1;try{i=s.action(r)}catch(c){throw new Error("Exception from action '".concat(s.description,"' for event ").concat(t," in ").concat(n.sequences.length>0?n.sequences[0].type:"no"," sequence: ").concat(c))}if(!i)break}}if(["unresolvedBlockGraft","unresolvedInlineGraft"].includes(t)&&this.actions[t].length===0)throw new Error("No action for ".concat(t," graft event in ").concat(n.sequences.length>0?n.sequences[0].type:"no"," sequence: add an action or fix your data!"));!u&&this.debugLevel>1&&console.log("".concat(" ".repeat(n.sequences.length)," No matching action"))}};var Ac=mfe,Efe=Ac;let yfe=class extends Efe{constructor(t){if(super(t),!t.srcJson)throw new Error("Must provide srcJson");this.srcJson=t.srcJson}renderDocument1(t){var{docId:r,config:n,context:u,workspace:s,output:o}=t,a={config:n,context:u,workspace:s,output:o};u.renderer=this,u.document={id:r,schema:this.srcJson.schema,metadata:this.srcJson.metadata,mainSequenceId:this.srcJson.main_sequence_id,nSequences:Object.keys(this.srcJson.sequences).length},u.sequences=[],this.renderEvent("startDocument",a),this.renderSequenceId(a,this.srcJson.main_sequence_id),this.renderEvent("endDocument",a)}sequenceContext(t,r){return{id:r,type:t.type,nBlocks:t.blocks.length,milestones:new Set([])}}renderSequenceId(t,r){var n=t.context,u=this.srcJson.sequences[r];if(!u)throw new Error("Sequence '".concat(r,"' not found in renderSequenceId()"));n.sequences.unshift(this.sequenceContext(u,r)),this.renderEvent("startSequence",t);for(var[s,o]of u.blocks.entries())n.sequences[0].block={type:o.type,subType:o.subtype,blockN:s,wrappers:[]},o.type==="graft"?o.target&&!this.srcJson.sequences[o.target]?(n.sequences[0].block.target=o.target,this.renderEvent("unresolvedBlockGraft",t)):(n.sequences[0].block.target=o.target,n.sequences[0].block.isNew=o.new||!1,this.renderEvent("blockGraft",t)):o.type==="row"?(this.renderEvent("startRow",t),this.renderContent(o.content,t),this.renderEvent("endRow",t)):(this.renderEvent("startParagraph",t),this.renderContent(o.content,t),this.renderEvent("endParagraph",t)),delete n.sequences[0].block;this.renderEvent("endSequence",t),n.sequences.shift()}renderContent(t,r){for(var n of t)this.renderElement(n,r)}renderElement(t,r){var n=o=>{t.meta_content&&(o.metaContent=t.meta_content,this.renderEvent("metaContent",r))},u=r.context,s={type:t.type||"text"};if(t.subtype&&(s.subType=t.subtype),t.atts?s.atts=t.atts:s.type!=="end_milestone"&&s.type!=="meta_content"&&(s.atts={}),t.target&&(s.target=t.target),t.type==="graft"&&(s.isNew=t.new||!1),s.type==="text"&&(s.text=t),u.sequences[0].element=s,s.type==="text")this.renderEvent("text",r),n(s);else if(s.type==="mark")this.renderEvent("mark",r),n(s);else if(s.type==="start_milestone")this.renderEvent("startMilestone",r),n(s);else if(s.type==="end_milestone")this.renderEvent("endMilestone",r),n(s);else if(s.type==="graft"){if(t.target&&t.target&&!this.srcJson.sequences[t.target]){this.renderEvent("unresolvedInlineGraft",r);return}this.renderEvent("inlineGraft",r),n(s)}else if(s.type==="wrapper")u.sequences[0].block.wrappers.unshift(s.subType),this.renderEvent("startWrapper",r),this.renderContent(t.content,r),u.sequences[0].element=s,n(s),this.renderEvent("endWrapper",r),u.sequences[0].block.wrappers.shift();else throw new Error("Unexpected element type '".concat(s.type));delete u.sequences[0].element}};var gs=yfe,vfe=gfe(gs);function gfe(e){return e&&e.__esModule?e:{default:e}}var{verseWordsActions:Afe}=Qw,Ffe=function(t){var{perf:r}=t,n=new vfe.default({srcJson:r,actions:Afe}),u={};return n.renderDocument({docId:"",config:{},output:u}),{verseWords:u.cv}},Cfe={name:"verseWords",type:"Transform",description:"PERF=>JSON: Counts words occurrences",inputs:[{name:"perf",type:"json",source:""}],outputs:[{name:"verseWords",type:"json"}],code:Ffe},bfe={verseWords:Cfe},Sfe=e=>{var t={};for(var r of e)for(var n of Object.keys(r))t[n]?t[n].push(...r[n]):t[n]=r[n];return t},bd=Sfe,wfe={startDocument:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e;u.perf={},u.perf.schema=r.document.schema,u.perf.metadata=r.document.metadata,u.perf.sequences={}}}],endDocument:[{description:"identity",test:()=>!0,action:e=>{}}],startSequence:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e;u.perf.sequences[r.sequences[0].id]={type:r.sequences[0].type,blocks:[]},n.outputSequence=u.perf.sequences[r.sequences[0].id],r.sequences[0].type==="main"&&(u.perf.main_sequence_id=r.sequences[0].id)}}],endSequence:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e;r.sequences.length>1&&(n.outputSequence=u.perf.sequences[r.sequences[1].id])}}],blockGraft:[{description:"identity",test:()=>!0,action:e=>{var t=e.context.sequences[0].block,r={type:t.type,subtype:t.subType};t.target&&(r.target=t.target,e.context.renderer.renderSequenceId(e,r.target)),t.isNew&&(r.new=t.isNew),e.workspace.outputSequence.blocks.push(r)}}],startParagraph:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e,s=r.sequences[0].block,o={type:s.type,subtype:s.subType,content:[]};n.outputSequence.blocks.push(o),n.currentContent=o.content,n.outputBlock=n.outputSequence.blocks[n.outputSequence.blocks.length-1],n.outputContentStack=[n.outputBlock.content]}}],endParagraph:[{description:"identity",test:()=>!0,action:e=>{}}],metaContent:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e,s=r.sequences[0].element;n.currentContent=s.metaContent;var o=n.outputContentStack[1][n.outputContentStack[1].length-1];o.meta_content=[],n.outputContentStack.unshift(o.meta_content),r.renderer.renderContent(n.currentContent,e),n.outputContentStack.shift()}}],mark:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e,s=r.sequences[0].element,o={type:s.type,subtype:s.subType};s.atts&&typeof s.atts=="object"&&Object.keys(s.atts).length!==0&&(o.atts=s.atts),n.outputContentStack[0].push(o)}}],inlineGraft:[{description:"identity",test:()=>!0,action:e=>{var t=e.context.sequences[0].element,r={type:t.type,subtype:t.subType};if(t.target){r.target=t.target;var n=e.workspace.outputContentStack[0];e.context.renderer.renderSequenceId(e,t.target),e.workspace.outputContentStack[0]=n}t.isNew&&(r.new=t.isNew),e.workspace.outputContentStack[0].push(r)}}],startRow:[{description:"identity",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].block,u={type:n.type,subtype:n.subType,content:[]};r.outputSequence.blocks.push(u),r.currentContent=u.content,r.outputBlock=r.outputSequence.blocks[r.outputSequence.blocks.length-1],r.outputContentStack=[r.outputBlock.content]}}],endRow:[{description:"identity",test:()=>!0,action:e=>{}}],startWrapper:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e,s=r.sequences[0].element,o={type:s.type,subtype:s.subType,content:[]};"atts"in s&&typeof s.atts=="object"&&Object.keys(s.atts).length!==0&&(o.atts=s.atts),n.outputContentStack[0].push(o),n.outputContentStack.unshift(o.content)}}],endWrapper:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e;n.outputContentStack.shift()}}],startMilestone:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e,s=r.sequences[0].element,o={type:s.type,subtype:s.subType};s.atts&&typeof s.atts=="object"&&Object.keys(s.atts).length!==0&&(o.atts=s.atts),n.outputContentStack[0].push(o)}}],endMilestone:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e,s=r.sequences[0].element,o={type:s.type,subtype:s.subType};n.outputContentStack[0].push(o)}}],text:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e,s=r.sequences[0].element;n.outputContentStack[0].push(s.text)}}]},Fc={identityActions:wfe},_fe=u_(gs),Bfe=u_(bd);function u_(e){return e&&e.__esModule?e:{default:e}}var{identityActions:Tfe}=Fc,{stripMarkupActions:$fe}=e_,Pfe=function(t){var{perf:r,verseWords:n}=t,u=new _fe.default({srcJson:r,actions:(0,Bfe.default)([$fe,Tfe])}),s={};return u.renderDocument({docId:"",config:{verseWords:n},output:s}),{perf:s.perf,strippedAlignment:s.stripped,unalignedWords:s.unalignedWords}},kfe={name:"stripAlignment",type:"Transform",description:"PERF=>PERF: Strips alignment markup",inputs:[{name:"perf",type:"json",source:""},{name:"verseWords",type:"json",source:""}],outputs:[{name:"perf",type:"json"},{name:"strippedAlignment",type:"json"},{name:"unalignedWords",type:"json"}],code:Pfe},Ofe={stripAlignment:kfe},Ife=s_(gs),Nfe=s_(bd);function s_(e){return e&&e.__esModule?e:{default:e}}var{identityActions:qfe}=Fc,{mergeAlignmentActions:xfe}=r_,Rfe=function(t){var{perf:r,verseWords:n,strippedAlignment:u}=t,s=new Ife.default({srcJson:r,actions:(0,Nfe.default)([xfe,qfe])}),o={};return s.renderDocument({docId:"",config:{totalOccurrences:n,strippedAlignment:u},output:o}),{perf:o.perf,unalignedWords:o.unalignedWords}},jfe={name:"mergeAlignment",type:"Transform",description:"PERF=>PERF adds report to verses",inputs:[{name:"perf",type:"json",source:""},{name:"strippedAlignment",type:"json",source:""},{name:"verseWords",type:"json",source:""}],outputs:[{name:"perf",type:"json"},{name:"unalignedWords",type:"json"}],code:Rfe},Mfe={mergeAlignment:jfe},{verseWords:Lfe}=bfe,{stripAlignment:Ufe}=Ofe,{mergeAlignment:Gfe}=Mfe,Vfe={verseWords:Lfe,stripAlignment:Ufe,mergeAlignment:Gfe},Hfe=ffe,Wfe=Vfe,Jfe={transforms:Wfe,renderActions:Hfe},zfe={},o_=function(t){var{usfm:r,selectors:n,proskomma:u}=t;u.importDocuments(n,"usfm",[r]);var s=u.gqlQuerySync("{documents {id docSetId perf} }").data.documents[0],o=s.id,a=s.docSetId;u.gqlQuerySync('mutation { deleteDocument(docSetId: "'.concat(a,'", documentId: "').concat(o,'") }'));var i=JSON.parse(s.perf);return{perf:i}},Kfe={name:"usfmToPerf",type:"Transform",description:"USFM=>PERF: Conversion via Proskomma",inputs:[{name:"usfm",type:"text",source:""},{name:"selectors",type:"json",source:""}],outputs:[{name:"perf",type:"json"}],code:o_},Xfe={usfmToPerf:Kfe,usfmToPerfCode:o_},{usfmToPerf:Yfe,usfmToPerfCode:Zfe}=Xfe,Qfe={usfmToPerf:Yfe,usfmToPerfCode:Zfe},e1e=zfe,t1e=Qfe,r1e={transforms:t1e,renderActions:e1e};function ZS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable})),r.push.apply(r,n)}return r}function n1e(e){for(var t=1;t!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e;u.sofria={},u.paras=[],u.sofria.schema=r.document.schema,u.sofria.metadata=r.document.metadata,u.sofria.sequence={},n.currentSequence=u.sofria.sequence,n.chapter=null,n.verses=null,n.cachedChapter=null,n.cachedVerses=null}}],endDocument:[{description:"identity",test:()=>!0,action:e=>{}}],startSequence:[{description:"identity",test:()=>!0,action:e=>{var{context:t,workspace:r}=e;r.currentSequence==null&&(r.currentSequence={}),r.currentSequence.type=t.sequences[0].type,r.currentSequence.blocks=[]}}],endSequence:[{description:"identity",test:()=>!0,action:e=>{var{workspace:t,output:r}=e;t.currentSequence.type==="main"&&(t.chapter=null,t.verses=null),r.paras==null?r.paras=t.currentSequence.blocks:t.currentSequence.type==="main"&&(r.paras=r.paras.concat(t.currentSequence.blocks)),t.currentSequence=null}}],blockGraft:[{description:"identity",test:()=>!0,action:e=>{var t=e.context.sequences[0].block,r={type:t.type};if(t.sequence){r.sequence={};var n=e.workspace.currentSequence;e.workspace.currentSequence=r.sequence,e.context.renderer.renderSequence(e),e.workspace.currentSequence=n}e.workspace.currentSequence.blocks.push(r)}}],startParagraph:[{description:"identity",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].block,u={type:n.type,subtype:n.subType,content:[]};if(r.currentSequence.blocks.push(u),r.currentContent=u.content,r.outputBlock=r.currentSequence.blocks[r.currentSequence.blocks.length-1],r.outputContentStack=[r.outputBlock.content],r.currentSequence.type==="main"){for(var s of["chapter","verses"])if(r[s]){var o={type:"wrapper",subtype:s,content:[],atts:{number:r[s]}};r.outputContentStack[0].push(o),r.outputContentStack.unshift(o.content)}}}}],endParagraph:[{description:"identity",test:()=>!0,action:e=>{}}],startRow:[{description:"identity",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].block,u={type:n.type,subtype:n.subType,content:[]};if(r.currentSequence.blocks.push(u),r.currentContent=u.content,r.outputBlock=r.currentSequence.blocks[r.currentSequence.blocks.length-1],r.outputContentStack=[r.outputBlock.content],r.currentSequence.type==="main"){for(var s of["chapter","verses"])if(r[s]){var o={type:"wrapper",subtype:s,content:[],atts:{number:r[s]}};r.outputContentStack[0].push(o),r.outputContentStack.unshift(o.content)}}}}],endRow:[{description:"identity",test:()=>!0,action:e=>{}}],metaContent:[{description:"identity",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element;r.currentContent=n.metaContent;var u=r.outputContentStack[1][r.outputContentStack[1].length-1];u.meta_content=[],r.outputContentStack.unshift(u.meta_content),t.renderer.renderContent(r.currentContent,e),r.outputContentStack.shift()}}],mark:[{description:"identity",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element,u={type:n.type,subtype:n.subType};n.atts&&(u.atts=n.atts),r.outputContentStack[0].push(u)}}],inlineGraft:[{description:"identity",test:()=>!0,action:e=>{var t=e.context.sequences[0].element,r={type:t.type,subtype:t.subType,sequence:{}},n=e.workspace.currentSequence,u=[...e.workspace.outputContentStack];e.workspace.currentSequence=r.sequence,e.context.renderer.renderSequence(e),e.workspace.outputContentStack=u,e.workspace.currentSequence=n,e.workspace.outputContentStack[0].push(r)}}],startWrapper:[{description:"identity",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element;n.subType==="chapter"?(r.chapter=n.atts.number,r.cachedChapter=r.chapter):n.subType==="verses"&&(r.verses=n.atts.number,r.cachedVerses=r.verses);var u={type:n.type,subtype:n.subType,content:[]};if("atts"in n&&(u.atts=n1e({},n.atts)),r.outputContentStack.length===0)throw new Error("outputContentStack is empty before pushing to its first element, near ".concat(t.document.metadata.document.bookCode," ").concat(r.cachedChapter,":").concat(r.cachedVerses));r.outputContentStack[0].push(u),r.outputContentStack.unshift(u.content)}}],endWrapper:[{description:"identity",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element;n.subType==="chapter"?r.chapter=null:n.subType==="verses"&&(r.verses=null),r.outputContentStack.shift()}}],startMilestone:[{description:"identity",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element,u={type:n.type,subtype:n.subType};n.atts&&(u.atts=n.atts),r.outputContentStack[0].push(u)}}],endMilestone:[{description:"identity",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element,u={type:n.type,subtype:n.subType};r.outputContentStack[0].push(u)}}],text:[{description:"identity",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element;r.outputContentStack&&r.outputContentStack[0].push(n.text)}}]},a_={identityActions:a1e},{identityActions:i1e}=a_,c1e={identityActions:i1e},{identityActions:l1e}=a_,p1e=function(t){var{perf:r}=t,n=new PerfRenderFromJson({srcJson:r,actions:l1e}),u={};return n.renderDocument({docId:"",config:{},output:u}),{verseWords:u.cv}},d1e={name:"identity",type:"Transform",description:"identity operation",inputs:[{name:"perf",type:"json",source:""}],outputs:[{name:"perf",type:"json"}],code:p1e},f1e={identity:d1e},{identity:D1e}=f1e,h1e={identity:D1e},m1e=c1e,E1e=h1e,y1e={transforms:E1e,renderActions:m1e},v1e={startDocument:[{description:"Set up word object",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e;n.words={}}}],text:[{description:"Split strings and add words to word object",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e;for(var s of r.sequences[0].element.text.split(/[\s:;,.]+/).filter(o=>o.length>0))s=s.toLowerCase(),s in n.words?n.words[s]+=1:n.words[s]=1}}],endDocument:[{description:"Sort words",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e;u.words=[...Object.entries(n.words)].sort((s,o)=>o[1]-s[1])}}]},i_={wordCountActions:v1e},QS=e=>({type:e.sequences[0].block.type,subType:e.sequences[0].block.subType,pos:e.sequences[0].block.blockN,perfChapter:null}),g1e={startDocument:[{description:"Set up storage",test:()=>!0,action:e=>{var{workspace:t,output:r}=e;t.blockRecords=[],r.report={}}}],startParagraph:[{description:"Set up block record",test:()=>!0,action:e=>{var{context:t,workspace:r,output:n}=e;r.blockRecords.push(QS(t))}}],blockGraft:[{description:"Set up block record",test:()=>!0,action:e=>{var{context:t,workspace:r,output:n}=e;r.blockRecords.push(QS(t))}}],mark:[{description:"Add chapter number to block record",test:e=>{var{context:t}=e;return t.sequences[0].element.subType==="chapter"},action:e=>{var{config:t,context:r,workspace:n,output:u}=e;n.blockRecords[n.blockRecords.length-1].perfChapter=r.sequences[0].element.atts.number}}],endDocument:[{description:"Populate report",test:()=>!0,action:e=>{var{workspace:t,output:r}=e;for(var[n,u]of Object.entries(t.blockRecords))if(u.perfChapter){for(var s=n,o=!1;s>0&&!o;)t.blockRecords[s-1].type==="paragraph"||t.blockRecords[s-1].subType==="title"?o=!0:s--;r.report[s.toString()]=u.perfChapter}}}]},c_={calculateUsfmChapterPositionsActions:g1e},Br=e=>["toc","toca","mt","imt","s","ms","mte","sd"].includes(e)?e+"1":e,A1e=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};r==null&&(r={});var n="\\".concat(t,"-s |");for(var[u,s]of Object.entries(r))u==="x-morph"&&typeof s!="string"?n=n+Br(u)+'="'+s.join(",")+'" ':n=n+Br(u)+'="'+s+'" ';return n+"\\*"},F1e=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;r==null&&(r={});var u="|";for(var[s,o]of Object.entries(r))u=u+Br(s)+'="'+o+'" ';return u=u+"\\",n&&(u=u+"+"),u+t+"*"},C1e={startDocument:[{description:"Set up environment",test:()=>!0,action:e=>{var{context:t,workspace:r}=e;r.usfmBits=[""],r.nestedWrapper=0;for(var[n,u]of Object.entries(t.document.metadata.document).filter(s=>!["tags","properties","bookCode","cl"].includes(s[0])))r.usfmBits.push("\\".concat(Br(n)," ").concat(u,` +`)}renderDocument(t){var{docId:r,config:n,output:u}=t,s={},o={};return this.renderDocument1({docId:r,config:n,context:s,workspace:o,output:u}),u}renderDocument1(t){throw new Error("Define renderDocument1() in subclass")}renderEvent(t,r){var n=r.context;if(this.debugLevel>1&&console.log("".concat(" ".repeat(n.sequences.length),"EVENT ").concat(t)),!this.actions[t])throw new Error("Unknown event '".concat(t));var u=!1;for(var s of this.actions[t]){var o=!1;try{o=s.test(r)}catch(c){var a="Exception from test of action '".concat(s.description,"' for event ").concat(t," in ").concat(n.sequences.length>0?n.sequences[0].type:"no"," sequence: ").concat(c);throw new Error(a)}if(o){u=!0,this.debugLevel>0&&console.log("".concat(" ".repeat(n.sequences.length)," ").concat(t," action: ").concat(s.description));var i=!1;try{i=s.action(r)}catch(c){throw new Error("Exception from action '".concat(s.description,"' for event ").concat(t," in ").concat(n.sequences.length>0?n.sequences[0].type:"no"," sequence: ").concat(c))}if(!i)break}}if(["unresolvedBlockGraft","unresolvedInlineGraft"].includes(t)&&this.actions[t].length===0)throw new Error("No action for ".concat(t," graft event in ").concat(n.sequences.length>0?n.sequences[0].type:"no"," sequence: add an action or fix your data!"));!u&&this.debugLevel>1&&console.log("".concat(" ".repeat(n.sequences.length)," No matching action"))}};var Ac=Efe,yfe=Ac;let vfe=class extends yfe{constructor(t){if(super(t),!t.srcJson)throw new Error("Must provide srcJson");this.srcJson=t.srcJson}renderDocument1(t){var{docId:r,config:n,context:u,workspace:s,output:o}=t,a={config:n,context:u,workspace:s,output:o};u.renderer=this,u.document={id:r,schema:this.srcJson.schema,metadata:this.srcJson.metadata,mainSequenceId:this.srcJson.main_sequence_id,nSequences:Object.keys(this.srcJson.sequences).length},u.sequences=[],this.renderEvent("startDocument",a),this.renderSequenceId(a,this.srcJson.main_sequence_id),this.renderEvent("endDocument",a)}sequenceContext(t,r){return{id:r,type:t.type,nBlocks:t.blocks.length,milestones:new Set([])}}renderSequenceId(t,r){var n=t.context,u=this.srcJson.sequences[r];if(!u)throw new Error("Sequence '".concat(r,"' not found in renderSequenceId()"));n.sequences.unshift(this.sequenceContext(u,r)),this.renderEvent("startSequence",t);for(var[s,o]of u.blocks.entries())n.sequences[0].block={type:o.type,subType:o.subtype,blockN:s,wrappers:[]},o.type==="graft"?o.target&&!this.srcJson.sequences[o.target]?(n.sequences[0].block.target=o.target,this.renderEvent("unresolvedBlockGraft",t)):(n.sequences[0].block.target=o.target,n.sequences[0].block.isNew=o.new||!1,this.renderEvent("blockGraft",t)):o.type==="row"?(this.renderEvent("startRow",t),this.renderContent(o.content,t),this.renderEvent("endRow",t)):(this.renderEvent("startParagraph",t),this.renderContent(o.content,t),this.renderEvent("endParagraph",t)),delete n.sequences[0].block;this.renderEvent("endSequence",t),n.sequences.shift()}renderContent(t,r){for(var n of t)this.renderElement(n,r)}renderElement(t,r){var n=o=>{t.meta_content&&(o.metaContent=t.meta_content,this.renderEvent("metaContent",r))},u=r.context,s={type:t.type||"text"};if(t.subtype&&(s.subType=t.subtype),t.atts?s.atts=t.atts:s.type!=="end_milestone"&&s.type!=="meta_content"&&(s.atts={}),t.target&&(s.target=t.target),t.type==="graft"&&(s.isNew=t.new||!1),s.type==="text"&&(s.text=t),u.sequences[0].element=s,s.type==="text")this.renderEvent("text",r),n(s);else if(s.type==="mark")this.renderEvent("mark",r),n(s);else if(s.type==="start_milestone")this.renderEvent("startMilestone",r),n(s);else if(s.type==="end_milestone")this.renderEvent("endMilestone",r),n(s);else if(s.type==="graft"){if(t.target&&t.target&&!this.srcJson.sequences[t.target]){this.renderEvent("unresolvedInlineGraft",r);return}this.renderEvent("inlineGraft",r),n(s)}else if(s.type==="wrapper")u.sequences[0].block.wrappers.unshift(s.subType),this.renderEvent("startWrapper",r),this.renderContent(t.content,r),u.sequences[0].element=s,n(s),this.renderEvent("endWrapper",r),u.sequences[0].block.wrappers.shift();else throw new Error("Unexpected element type '".concat(s.type));delete u.sequences[0].element}};var gs=vfe,gfe=Afe(gs);function Afe(e){return e&&e.__esModule?e:{default:e}}var{verseWordsActions:Ffe}=t_,Cfe=function(t){var{perf:r}=t,n=new gfe.default({srcJson:r,actions:Ffe}),u={};return n.renderDocument({docId:"",config:{},output:u}),{verseWords:u.cv}},bfe={name:"verseWords",type:"Transform",description:"PERF=>JSON: Counts words occurrences",inputs:[{name:"perf",type:"json",source:""}],outputs:[{name:"verseWords",type:"json"}],code:Cfe},Sfe={verseWords:bfe},wfe=e=>{var t={};for(var r of e)for(var n of Object.keys(r))t[n]?t[n].push(...r[n]):t[n]=r[n];return t},bd=wfe,_fe={startDocument:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e;u.perf={},u.perf.schema=r.document.schema,u.perf.metadata=r.document.metadata,u.perf.sequences={}}}],endDocument:[{description:"identity",test:()=>!0,action:e=>{}}],startSequence:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e;u.perf.sequences[r.sequences[0].id]={type:r.sequences[0].type,blocks:[]},n.outputSequence=u.perf.sequences[r.sequences[0].id],r.sequences[0].type==="main"&&(u.perf.main_sequence_id=r.sequences[0].id)}}],endSequence:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e;r.sequences.length>1&&(n.outputSequence=u.perf.sequences[r.sequences[1].id])}}],blockGraft:[{description:"identity",test:()=>!0,action:e=>{var t=e.context.sequences[0].block,r={type:t.type,subtype:t.subType};t.target&&(r.target=t.target,e.context.renderer.renderSequenceId(e,r.target)),t.isNew&&(r.new=t.isNew),e.workspace.outputSequence.blocks.push(r)}}],startParagraph:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e,s=r.sequences[0].block,o={type:s.type,subtype:s.subType,content:[]};n.outputSequence.blocks.push(o),n.currentContent=o.content,n.outputBlock=n.outputSequence.blocks[n.outputSequence.blocks.length-1],n.outputContentStack=[n.outputBlock.content]}}],endParagraph:[{description:"identity",test:()=>!0,action:e=>{}}],metaContent:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e,s=r.sequences[0].element;n.currentContent=s.metaContent;var o=n.outputContentStack[1][n.outputContentStack[1].length-1];o.meta_content=[],n.outputContentStack.unshift(o.meta_content),r.renderer.renderContent(n.currentContent,e),n.outputContentStack.shift()}}],mark:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e,s=r.sequences[0].element,o={type:s.type,subtype:s.subType};s.atts&&typeof s.atts=="object"&&Object.keys(s.atts).length!==0&&(o.atts=s.atts),n.outputContentStack[0].push(o)}}],inlineGraft:[{description:"identity",test:()=>!0,action:e=>{var t=e.context.sequences[0].element,r={type:t.type,subtype:t.subType};if(t.target){r.target=t.target;var n=e.workspace.outputContentStack[0];e.context.renderer.renderSequenceId(e,t.target),e.workspace.outputContentStack[0]=n}t.isNew&&(r.new=t.isNew),e.workspace.outputContentStack[0].push(r)}}],startRow:[{description:"identity",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].block,u={type:n.type,subtype:n.subType,content:[]};r.outputSequence.blocks.push(u),r.currentContent=u.content,r.outputBlock=r.outputSequence.blocks[r.outputSequence.blocks.length-1],r.outputContentStack=[r.outputBlock.content]}}],endRow:[{description:"identity",test:()=>!0,action:e=>{}}],startWrapper:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e,s=r.sequences[0].element,o={type:s.type,subtype:s.subType,content:[]};"atts"in s&&typeof s.atts=="object"&&Object.keys(s.atts).length!==0&&(o.atts=s.atts),n.outputContentStack[0].push(o),n.outputContentStack.unshift(o.content)}}],endWrapper:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e;n.outputContentStack.shift()}}],startMilestone:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e,s=r.sequences[0].element,o={type:s.type,subtype:s.subType};s.atts&&typeof s.atts=="object"&&Object.keys(s.atts).length!==0&&(o.atts=s.atts),n.outputContentStack[0].push(o)}}],endMilestone:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e,s=r.sequences[0].element,o={type:s.type,subtype:s.subType};n.outputContentStack[0].push(o)}}],text:[{description:"identity",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e,s=r.sequences[0].element;n.outputContentStack[0].push(s.text)}}]},Fc={identityActions:_fe},Bfe=o_(gs),Tfe=o_(bd);function o_(e){return e&&e.__esModule?e:{default:e}}var{identityActions:$fe}=Fc,{stripMarkupActions:Pfe}=r_,kfe=function(t){var{perf:r,verseWords:n}=t,u=new Bfe.default({srcJson:r,actions:(0,Tfe.default)([Pfe,$fe])}),s={};return u.renderDocument({docId:"",config:{verseWords:n},output:s}),{perf:s.perf,strippedAlignment:s.stripped,unalignedWords:s.unalignedWords}},Ofe={name:"stripAlignment",type:"Transform",description:"PERF=>PERF: Strips alignment markup",inputs:[{name:"perf",type:"json",source:""},{name:"verseWords",type:"json",source:""}],outputs:[{name:"perf",type:"json"},{name:"strippedAlignment",type:"json"},{name:"unalignedWords",type:"json"}],code:kfe},Ife={stripAlignment:Ofe},Nfe=a_(gs),qfe=a_(bd);function a_(e){return e&&e.__esModule?e:{default:e}}var{identityActions:xfe}=Fc,{mergeAlignmentActions:Rfe}=u_,jfe=function(t){var{perf:r,verseWords:n,strippedAlignment:u}=t,s=new Nfe.default({srcJson:r,actions:(0,qfe.default)([Rfe,xfe])}),o={};return s.renderDocument({docId:"",config:{totalOccurrences:n,strippedAlignment:u},output:o}),{perf:o.perf,unalignedWords:o.unalignedWords}},Mfe={name:"mergeAlignment",type:"Transform",description:"PERF=>PERF adds report to verses",inputs:[{name:"perf",type:"json",source:""},{name:"strippedAlignment",type:"json",source:""},{name:"verseWords",type:"json",source:""}],outputs:[{name:"perf",type:"json"},{name:"unalignedWords",type:"json"}],code:jfe},Lfe={mergeAlignment:Mfe},{verseWords:Ufe}=Sfe,{stripAlignment:Gfe}=Ife,{mergeAlignment:Vfe}=Lfe,Hfe={verseWords:Ufe,stripAlignment:Gfe,mergeAlignment:Vfe},Wfe=Dfe,Jfe=Hfe,zfe={transforms:Jfe,renderActions:Wfe},Kfe={},i_=function(t){var{usfm:r,selectors:n,proskomma:u}=t;u.importDocuments(n,"usfm",[r]);var s=u.gqlQuerySync("{documents {id docSetId perf} }").data.documents[0],o=s.id,a=s.docSetId;u.gqlQuerySync('mutation { deleteDocument(docSetId: "'.concat(a,'", documentId: "').concat(o,'") }'));var i=JSON.parse(s.perf);return{perf:i}},Xfe={name:"usfmToPerf",type:"Transform",description:"USFM=>PERF: Conversion via Proskomma",inputs:[{name:"usfm",type:"text",source:""},{name:"selectors",type:"json",source:""}],outputs:[{name:"perf",type:"json"}],code:i_},Yfe={usfmToPerf:Xfe,usfmToPerfCode:i_},{usfmToPerf:Zfe,usfmToPerfCode:Qfe}=Yfe,e1e={usfmToPerf:Zfe,usfmToPerfCode:Qfe},t1e=Kfe,r1e=e1e,n1e={transforms:r1e,renderActions:t1e};function e8(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable})),r.push.apply(r,n)}return r}function u1e(e){for(var t=1;t!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e;u.sofria={},u.paras=[],u.sofria.schema=r.document.schema,u.sofria.metadata=r.document.metadata,u.sofria.sequence={},n.currentSequence=u.sofria.sequence,n.chapter=null,n.verses=null,n.cachedChapter=null,n.cachedVerses=null}}],endDocument:[{description:"identity",test:()=>!0,action:e=>{}}],startSequence:[{description:"identity",test:()=>!0,action:e=>{var{context:t,workspace:r}=e;r.currentSequence==null&&(r.currentSequence={}),r.currentSequence.type=t.sequences[0].type,r.currentSequence.blocks=[]}}],endSequence:[{description:"identity",test:()=>!0,action:e=>{var{workspace:t,output:r}=e;t.currentSequence.type==="main"&&(t.chapter=null,t.verses=null),r.paras==null?r.paras=t.currentSequence.blocks:t.currentSequence.type==="main"&&(r.paras=r.paras.concat(t.currentSequence.blocks)),t.currentSequence=null}}],blockGraft:[{description:"identity",test:()=>!0,action:e=>{var t=e.context.sequences[0].block,r={type:t.type};if(t.sequence){r.sequence={};var n=e.workspace.currentSequence;e.workspace.currentSequence=r.sequence,e.context.renderer.renderSequence(e),e.workspace.currentSequence=n}e.workspace.currentSequence.blocks.push(r)}}],startParagraph:[{description:"identity",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].block,u={type:n.type,subtype:n.subType,content:[]};if(r.currentSequence.blocks.push(u),r.currentContent=u.content,r.outputBlock=r.currentSequence.blocks[r.currentSequence.blocks.length-1],r.outputContentStack=[r.outputBlock.content],r.currentSequence.type==="main"){for(var s of["chapter","verses"])if(r[s]){var o={type:"wrapper",subtype:s,content:[],atts:{number:r[s]}};r.outputContentStack[0].push(o),r.outputContentStack.unshift(o.content)}}}}],endParagraph:[{description:"identity",test:()=>!0,action:e=>{}}],startRow:[{description:"identity",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].block,u={type:n.type,subtype:n.subType,content:[]};if(r.currentSequence.blocks.push(u),r.currentContent=u.content,r.outputBlock=r.currentSequence.blocks[r.currentSequence.blocks.length-1],r.outputContentStack=[r.outputBlock.content],r.currentSequence.type==="main"){for(var s of["chapter","verses"])if(r[s]){var o={type:"wrapper",subtype:s,content:[],atts:{number:r[s]}};r.outputContentStack[0].push(o),r.outputContentStack.unshift(o.content)}}}}],endRow:[{description:"identity",test:()=>!0,action:e=>{}}],metaContent:[{description:"identity",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element;r.currentContent=n.metaContent;var u=r.outputContentStack[1][r.outputContentStack[1].length-1];u.meta_content=[],r.outputContentStack.unshift(u.meta_content),t.renderer.renderContent(r.currentContent,e),r.outputContentStack.shift()}}],mark:[{description:"identity",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element,u={type:n.type,subtype:n.subType};n.atts&&(u.atts=n.atts),r.outputContentStack[0].push(u)}}],inlineGraft:[{description:"identity",test:()=>!0,action:e=>{var t=e.context.sequences[0].element,r={type:t.type,subtype:t.subType,sequence:{}},n=e.workspace.currentSequence,u=[...e.workspace.outputContentStack];e.workspace.currentSequence=r.sequence,e.context.renderer.renderSequence(e),e.workspace.outputContentStack=u,e.workspace.currentSequence=n,e.workspace.outputContentStack[0].push(r)}}],startWrapper:[{description:"identity",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element;n.subType==="chapter"?(r.chapter=n.atts.number,r.cachedChapter=r.chapter):n.subType==="verses"&&(r.verses=n.atts.number,r.cachedVerses=r.verses);var u={type:n.type,subtype:n.subType,content:[]};if("atts"in n&&(u.atts=u1e({},n.atts)),r.outputContentStack.length===0)throw new Error("outputContentStack is empty before pushing to its first element, near ".concat(t.document.metadata.document.bookCode," ").concat(r.cachedChapter,":").concat(r.cachedVerses));r.outputContentStack[0].push(u),r.outputContentStack.unshift(u.content)}}],endWrapper:[{description:"identity",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element;n.subType==="chapter"?r.chapter=null:n.subType==="verses"&&(r.verses=null),r.outputContentStack.shift()}}],startMilestone:[{description:"identity",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element,u={type:n.type,subtype:n.subType};n.atts&&(u.atts=n.atts),r.outputContentStack[0].push(u)}}],endMilestone:[{description:"identity",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element,u={type:n.type,subtype:n.subType};r.outputContentStack[0].push(u)}}],text:[{description:"identity",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element;r.outputContentStack&&r.outputContentStack[0].push(n.text)}}]},c_={identityActions:i1e},{identityActions:c1e}=c_,l1e={identityActions:c1e},{identityActions:p1e}=c_,d1e=function(t){var{perf:r}=t,n=new PerfRenderFromJson({srcJson:r,actions:p1e}),u={};return n.renderDocument({docId:"",config:{},output:u}),{verseWords:u.cv}},f1e={name:"identity",type:"Transform",description:"identity operation",inputs:[{name:"perf",type:"json",source:""}],outputs:[{name:"perf",type:"json"}],code:d1e},D1e={identity:f1e},{identity:h1e}=D1e,m1e={identity:h1e},E1e=l1e,y1e=m1e,v1e={transforms:y1e,renderActions:E1e},g1e={startDocument:[{description:"Set up word object",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e;n.words={}}}],text:[{description:"Split strings and add words to word object",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e;for(var s of r.sequences[0].element.text.split(/[\s:;,.]+/).filter(o=>o.length>0))s=s.toLowerCase(),s in n.words?n.words[s]+=1:n.words[s]=1}}],endDocument:[{description:"Sort words",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e;u.words=[...Object.entries(n.words)].sort((s,o)=>o[1]-s[1])}}]},l_={wordCountActions:g1e},t8=e=>({type:e.sequences[0].block.type,subType:e.sequences[0].block.subType,pos:e.sequences[0].block.blockN,perfChapter:null}),A1e={startDocument:[{description:"Set up storage",test:()=>!0,action:e=>{var{workspace:t,output:r}=e;t.blockRecords=[],r.report={}}}],startParagraph:[{description:"Set up block record",test:()=>!0,action:e=>{var{context:t,workspace:r,output:n}=e;r.blockRecords.push(t8(t))}}],blockGraft:[{description:"Set up block record",test:()=>!0,action:e=>{var{context:t,workspace:r,output:n}=e;r.blockRecords.push(t8(t))}}],mark:[{description:"Add chapter number to block record",test:e=>{var{context:t}=e;return t.sequences[0].element.subType==="chapter"},action:e=>{var{config:t,context:r,workspace:n,output:u}=e;n.blockRecords[n.blockRecords.length-1].perfChapter=r.sequences[0].element.atts.number}}],endDocument:[{description:"Populate report",test:()=>!0,action:e=>{var{workspace:t,output:r}=e;for(var[n,u]of Object.entries(t.blockRecords))if(u.perfChapter){for(var s=n,o=!1;s>0&&!o;)t.blockRecords[s-1].type==="paragraph"||t.blockRecords[s-1].subType==="title"?o=!0:s--;r.report[s.toString()]=u.perfChapter}}}]},p_={calculateUsfmChapterPositionsActions:A1e},Br=e=>["toc","toca","mt","imt","s","ms","mte","sd"].includes(e)?e+"1":e,F1e=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};r==null&&(r={});var n="\\".concat(t,"-s |");for(var[u,s]of Object.entries(r))u==="x-morph"&&typeof s!="string"?n=n+Br(u)+'="'+s.join(",")+'" ':n=n+Br(u)+'="'+s+'" ';return n+"\\*"},C1e=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;r==null&&(r={});var u="|";for(var[s,o]of Object.entries(r))u=u+Br(s)+'="'+o+'" ';return u=u+"\\",n&&(u=u+"+"),u+t+"*"},b1e={startDocument:[{description:"Set up environment",test:()=>!0,action:e=>{var{context:t,workspace:r}=e;r.usfmBits=[""],r.nestedWrapper=0;for(var[n,u]of Object.entries(t.document.metadata.document).filter(s=>!["tags","properties","bookCode","cl"].includes(s[0])))r.usfmBits.push("\\".concat(Br(n)," ").concat(u,` `))}}],blockGraft:[{description:"Follow block grafts",test:e=>{var{context:t}=e;return["title","heading","introduction"].includes(t.sequences[0].block.subType)},action:e=>{var t=e.context.sequences[0],r=e.config.report[t.block.blockN.toString()],n=t.block.target;r&&t.type==="main"&&e.workspace.usfmBits.push(` \\c `.concat(r,` `)),n&&e.context.renderer.renderSequenceId(e,n)}}],inlineGraft:[{description:"Follow inline grafts",test:()=>!0,action:e=>{var t=e.context.sequences[0].element.target;t&&e.context.renderer.renderSequenceId(e,t)}}],startParagraph:[{description:"Output footnote paragraph tag (footnote)",test:e=>{var{context:t}=e;return t.sequences[0].block.subType==="usfm:f"&&t.sequences[0].type==="footnote"||t.sequences[0].block.subType==="usfm:x"&&t.sequences[0].type==="xref"},action:e=>{var{context:t,workspace:r,config:n}=e;r.nestedWrapper=0;var u=t.sequences[0];r.usfmBits.push("\\".concat(Br(u.block.subType.split(":")[1])," "))}},{description:"Output footnote note_caller tag (footnote)",test:e=>{var{context:t}=e;return t.sequences[0].block.subType==="usfm:f"||t.sequences[0].block.subType==="usfm:x"},action:e=>{var{context:t,workspace:r,config:n}=e;r.nestedWrapper=0}},{description:"Output paragraph tag (main)",test:()=>!0,action:e=>{var{context:t,workspace:r,config:n}=e;r.nestedWrapper=0;var u=t.sequences[0],s=n.report[u.block.blockN.toString()];s&&u.type==="main"&&r.usfmBits.push(` @@ -4841,17 +4841,17 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho `)),r.usfmBits.push(` \\`.concat(Br(u.block.subType.split(":")[1]),` `))}}],endParagraph:[{description:"Output footnote paragraph tag (footnote)",test:e=>{var{context:t}=e;return t.sequences[0].block.subType==="usfm:f"&&t.sequences[0].type==="footnote"||t.sequences[0].block.subType==="usfm:x"&&t.sequences[0].type==="xref"},action:e=>{var{context:t,workspace:r,config:n}=e,u=t.sequences[0];r.usfmBits.push("\\".concat(Br(u.block.subType.split(":")[1]),"*"))}},{description:"Output footnote note_caller tag (footnote)",test:e=>{var{context:t}=e;return t.sequences[0].block.subType==="usfm:f"||t.sequences[0].block.subType==="usfm:x"},action:e=>{}},{description:"Output nl",test:()=>!0,action:e=>{var{workspace:t}=e;t.usfmBits.push(` -`)}}],startMilestone:[{description:"Output start milestone",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element,u=A1e(Br(n.subType.split(":")[1]),n.atts);r.usfmBits.push(u)}}],endMilestone:[{description:"Output end milestone",test:()=>!0,action:e=>{var{context:t,workspace:r}=e;r.usfmBits.push("\\".concat(Br(t.sequences[0].element.subType.split(":")[1]),"-e\\*"))}}],text:[{description:"Output text",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element.text;r.usfmBits.push(n)}}],mark:[{description:"Output chapter or verses",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element;n.subType==="verses"&&r.usfmBits.push(` +`)}}],startMilestone:[{description:"Output start milestone",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element,u=F1e(Br(n.subType.split(":")[1]),n.atts);r.usfmBits.push(u)}}],endMilestone:[{description:"Output end milestone",test:()=>!0,action:e=>{var{context:t,workspace:r}=e;r.usfmBits.push("\\".concat(Br(t.sequences[0].element.subType.split(":")[1]),"-e\\*"))}}],text:[{description:"Output text",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element.text;r.usfmBits.push(n)}}],mark:[{description:"Output chapter or verses",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element;n.subType==="verses"&&r.usfmBits.push(` \\v `.concat(n.atts.number,` `))}}],endSequence:[{description:"Output \\cl",test:e=>{var{context:t}=e;return t.document.metadata.document.cl&&t.sequences[0].type==="title"},action:e=>{var{context:t,workspace:r}=e;r.usfmBits.push(` \\cl `.concat(t.document.metadata.document.cl,` -`))}}],startWrapper:[{description:"Output start tag",test:()=>!0,action:e=>{var{workspace:t,context:r}=e,n=r.sequences[0];t.nestedWrapper>0?t.usfmBits.push("\\+".concat(Br(n.element.subType.split(":")[1])," ")):t.usfmBits.push("\\".concat(Br(n.element.subType.split(":")[1])," ")),t.nestedWrapper+=1}}],endWrapper:[{description:"Output end tag",test:e=>{var{context:t}=e;return!["fr","fq","fqa","fk","fl","fw","fp","ft","xo","xk","xq","xt","xta"].includes(t.sequences[0].element.subType.split(":")[1])},action:e=>{var{workspace:t,context:r}=e;t.nestedWrapper-=1;var n=r.sequences[0],u=n.element.subType.split(":")[1],s=t.nestedWrapper>0;if(u==="w"){var o=F1e(Br(u),n.element.atts,s);t.usfmBits.push(o)}else s?t.usfmBits.push("\\+".concat(Br(n.element.subType.split(":")[1]),"*")):t.usfmBits.push("\\".concat(Br(n.element.subType.split(":")[1]),"*"))}},{description:"Do NOT output end tag",test:()=>!0,action:e=>{var{workspace:t}=e;t.nestedWrapper-=1}}],endDocument:[{description:"Build output",test:()=>!0,action:e=>{var{workspace:t,output:r}=e;r.usfm=t.usfmBits.join("").replace(/(\s*)\n(\s*)/gm,` -`)}}]},l_={perfToUsfmActions:C1e},{wordCountActions:b1e}=i_,{calculateUsfmChapterPositionsActions:S1e}=c_,{perfToUsfmActions:w1e}=l_,_1e={wordCountActions:b1e,perfToUsfmActions:w1e,calculateUsfmChapterPositionsActions:S1e},B1e=T1e(gs);function T1e(e){return e&&e.__esModule?e:{default:e}}var{wordCountActions:$1e}=i_,P1e=function(t){var{perf:r}=t,n=new B1e.default({srcJson:r,actions:$1e}),u={};return n.renderDocument({docId:"",config:{},output:u}),{report:u.report}},k1e={name:"wordCount",type:"Transform",description:"PERF=>JSON: Generates positions for inserting chapter numbers into USFM",inputs:[{name:"perf",type:"json",source:""}],outputs:[{name:"report",type:"json"}],code:P1e},O1e={wordCount:k1e},I1e=N1e(gs);function N1e(e){return e&&e.__esModule?e:{default:e}}var{calculateUsfmChapterPositionsActions:q1e}=c_,x1e=function(t){var{perf:r}=t,n=new I1e.default({srcJson:r,actions:q1e}),u={};return n.renderDocument({docId:"",config:{maxLength:60},output:u}),{report:u.report}},R1e={name:"calculateUsfmChapterPositions",type:"Transform",description:"PERF=>JSON: Generates positions for inserting chapter numbers into USFM",inputs:[{name:"perf",type:"json",source:""}],outputs:[{name:"report",type:"json"}],code:x1e},j1e={calculateUsfmChapterPositions:R1e},M1e=L1e(gs);function L1e(e){return e&&e.__esModule?e:{default:e}}var{perfToUsfmActions:U1e}=l_,G1e=function(t){var{perf:r,report:n}=t,u=new M1e.default({srcJson:r,actions:U1e}),s={};return u.renderDocument({docId:"",config:{report:n},output:s}),{usfm:s.usfm}},V1e={name:"perfToUsfm",type:"Transform",description:"PERF=>USFM",inputs:[{name:"perf",type:"json",source:""},{name:"report",type:"json",source:""}],outputs:[{name:"usfm",type:"text"}],code:G1e},H1e={perfToUsfm:V1e},{wordCount:W1e}=O1e,{calculateUsfmChapterPositions:J1e}=j1e,{perfToUsfm:z1e}=H1e,K1e={wordCount:W1e,perfToUsfm:z1e,calculateUsfmChapterPositions:J1e},X1e=_1e,Y1e=K1e,Z1e={transforms:Y1e,renderActions:X1e},Q1e={startMilestone:[{description:"Ignore startMilestone events",test:()=>!0,action:()=>{}}],endMilestone:[{description:"Ignore endMilestone events",test:()=>!0,action:()=>{}}],startWrapper:[{description:"Ignore startWrapper events",test:()=>!0,action:()=>{}}],endWrapper:[{description:"Ignore endWrapper events",test:()=>!0,action:()=>{}}],blockGraft:[{description:"Ignore blockGraft events, except for title (\\mt)",test:e=>e.context.sequences[0].block.subType!=="title",action:e=>{}}],inlineGraft:[{description:"Ignore inlineGraft events",test:()=>!0,action:()=>{}}],mark:[{description:"Ignore mark events, except for chapter and verses",test:e=>{var{context:t}=e;return!["chapter","verses"].includes(t.sequences[0].element.subType)},action:()=>{}}]},p_={justTheBibleActions:Q1e},{identityActions:e0e}=Fc,{justTheBibleActions:t0e}=p_,r0e={identityActions:e0e,justTheBibleActions:t0e},{identityActions:n0e}=Fc,u0e=function(t){var{perf:r}=t,n=new PerfRenderFromJson({srcJson:r,actions:n0e}),u={};return n.renderDocument({docId:"",config:{},output:u}),{verseWords:u.cv}},s0e={name:"identityTransform",type:"Transform",description:"identity operation",inputs:[{name:"perf",type:"json",source:""}],outputs:[{name:"perf",type:"json"}],code:u0e},o0e={identity:s0e},a0e=d_(gs),i0e=d_(bd);function d_(e){return e&&e.__esModule?e:{default:e}}var{identityActions:c0e}=Fc,{justTheBibleActions:l0e}=p_,p0e=function(t){var{perf:r}=t,n=new a0e.default({srcJson:r,actions:(0,i0e.default)([l0e,c0e])}),u={};return n.renderDocument({docId:"",config:{},output:u}),{perf:u.perf}},d0e={name:"justTheBible",type:"Transform",description:"PERF=>PERF: Strips most markup",documentation:"This transform removes milestones, wrappers and most marks. It has been used in several pipelines. It may also be stripping metaContent.",inputs:[{name:"perf",type:"json",source:""}],outputs:[{name:"perf",type:"json"}],code:p0e},f0e={justTheBible:d0e};const sr={},f_=e=>{let t=typeof e;return t==="number"||t==="string"||t==="boolean"||t==="undefined"||t==="bigint"||t==="symbol"||e===null},Cc=e=>{if(f_(e)||!(e instanceof Object))return"primitive";const t=e.constructor&&e.constructor.name&&e.constructor.name.toLowerCase();if(typeof t=="string"&&t.length&&sr[t])return t;let r;for(const n in sr)if(r=sr[n].type,!r||e instanceof r)return n;return"unknown"},D0e=(e,t,r)=>Array.prototype.push.call(e,r),h0e=e=>{const t=[];return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),t},m0e=e=>{const t=[...e];return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),t},E0e=(e,t,r)=>{const n=e.length;for(let u=0;u{Object.assign(sr,{array:{type:Array,mayDeepCopy:!0,addElement:D0e,makeEmpty:h0e,makeShallow:m0e,iterate:E0e}})},v0e=()=>{Object.assign(sr,{date:{type:Date,makeShallow:e=>new Date(e.getTime())}})},g0e=()=>{Object.assign(sr,{regexp:{type:RegExp,makeShallow:e=>new RegExp(e)}})},A0e=()=>{Object.assign(sr,{function:{type:Function,makeShallow:e=>e}})},F0e=()=>{Object.assign(sr,{error:{type:Error,makeShallow:e=>{const t=new Error(e.message);return t.stack=e.stack,t}}})},C0e=e=>{let t=typeof Ce<"u"&&Ce[e]||typeof window<"u"&&window[e]||typeof WorkerGlobalScope<"u"&&WorkerGlobalScope[e];typeof t<"u"&&(sr[e.toLowerCase()]={type:t,makeShallow:r=>t.from(r)})},b0e=()=>{["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"].forEach(t=>C0e(t))},S0e=()=>{typeof ArrayBuffer<"u"&&Object.assign(sr,{arraybuffer:{type:ArrayBuffer,makeShallow:e=>e.slice(0)}})},w0e=()=>{typeof Map>"u"||Object.assign(sr,{map:{type:Map,mayDeepCopy:!0,addElement:(e,t,r)=>e.set(t,r),makeEmpty:()=>new Map,makeShallow:e=>new Map(e),iterate:(e,t,r)=>{e.forEach((n,u)=>{const s={key:u,value:n,type:Cc(n)};r(s)})}}})},_0e=()=>{typeof Set>"u"||Object.assign(sr,{set:{type:Set,mayDeepCopy:!0,addElement:(e,t,r)=>e.add(r),makeEmpty:()=>new Set,makeShallow:e=>new Set(e),iterate:(e,t,r)=>{e.forEach(n=>{const u={key:null,value:n,type:Cc(n)};r(u)})}}})},B0e=()=>{typeof WeakSet>"u"||Object.assign(sr,{weakset:{type:WeakSet,makeShallow:e=>e}})},T0e=()=>{typeof WeakMap>"u"||Object.assign(sr,{weakmap:{type:WeakMap,makeShallow:e=>e}})},$0e=()=>{typeof Buffer>"u"||Object.assign(sr,{buffer:{type:Buffer,makeShallow:e=>Buffer.from(e)}})},P0e=(e,t,r,n=void 0)=>{n?Object.defineProperty(e,t,n):e[t]=r},k0e=e=>{const t={};return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),t},O0e=e=>{const t=Object.assign({},e);return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),t},I0e=(e,t,r)=>{const n=t?Object.getOwnPropertyNames(e):Object.keys(e),u=n.length;for(let s=0;s{Object.assign(sr,{object:{type:Object,mayDeepCopy:!0,addElement:P0e,makeEmpty:k0e,makeShallow:O0e,iterate:I0e}})},q0e=()=>{Object.assign(sr,{unknown:{makeShallow:e=>e},primitive:{makeShallow:e=>e}})};y0e();v0e();g0e();A0e();F0e();b0e();S0e();w0e();_0e();B0e();T0e();$0e();N0e();q0e();function x0e(e){return sr[e]}var R0e=[f_,Cc,x0e];const[j0e,M0e,qh]=R0e,xh={goDeep:!0,includeNonEnumerable:!1,detectCircular:!0,maxDepth:20};function L0e(e){Object.keys(xh).forEach(t=>{e[t]===void 0&&(e[t]=xh[t])})}class U0e{constructor(){this._seenMap=new WeakMap}setAsCopied(t,r){t instanceof Object&&this._seenMap.set(t,r)}wasCopied(t){return t instanceof Object&&this._seenMap.has(t)}getCopy(t){return this._seenMap.get(t)}}function G0e(e,t,r){const{options:n,watcher:u}=r;let s;return t.mayDeepCopy?(s=t.makeEmpty(e),n.detectCircular&&u.setAsCopied(e,s)):s=t.makeShallow(e),s}function V0e(e,t){if(e>=t)throw`Error max depth of ${t} levels exceeded, possible circular reference`}const D_=(e,t,r)=>{const{destObject:n,srcType:u,watcher:s,options:o}=t,a=o.detectCircular;V0e(++r,o.maxDepth);const i=qh(u);if(!i.mayDeepCopy)return;const c=i.addElement;i.iterate(e,o.includeNonEnumerable,l=>{const p=l.value,d=l.type,f=qh(d);let h,y=!1;a&&s.wasCopied(p)?(h=s.getCopy(p),y=!0):h=G0e(p,f,{options:o,watcher:s}),c(n,l.key,h,l.descriptor),f.mayDeepCopy&&!y&&D_(p,{destObject:h,srcType:d,watcher:s,options:o},r)})};function H0e(e,t=xh){if(L0e(t),j0e(e))return e;const r=M0e(e),n=qh(r);if(!t.goDeep||!n.mayDeepCopy)return n.makeShallow(e);const u=t.detectCircular?new U0e:null;let s=n.makeEmpty(e);return t.detectCircular&&u.setAsCopied(e,s),D_(e,{destObject:s,srcType:r,watcher:u,options:t},0),s}var W0e=H0e,J0e=z0e(W0e);function z0e(e){return e&&e.__esModule?e:{default:e}}var Bp=e=>{var t=[];for(var r of e)typeof r=="string"?t.length>0&&typeof t[t.length-1]=="string"?t[t.length-1]+=r:t.push(r):(r.content&&(r.content=Bp(r.content)),r.metaContent&&(r.metaContent=Bp(r.content)),t.push(r));return t},K0e=e=>{var t=(0,J0e.default)(e);for(var r of Object.values(t.sequences))for(var n of r.blocks)n.content&&(n.content=Bp(n.content)),n.metaContent&&(n.metaContent=Bp(n.metaContent));return t},h_=function(t){var{perf:r}=t;return{perf:K0e(r)}},X0e={name:"mergePerfText",type:"Transform",description:"PERF=>PERF: Merge consecutive text strings",inputs:[{name:"perf",type:"json",source:""}],outputs:[{name:"perf",type:"json"}],code:h_},Y0e={mergePerfText:X0e,mergePerfTextCode:h_},{identity:Z0e}=o0e,{justTheBible:Q0e}=f0e,{mergePerfText:eDe,mergePerfTextCode:tDe}=Y0e,rDe={identity:Z0e,justTheBible:Q0e,mergePerfText:eDe,mergePerfTextCode:tDe},nDe=r0e,uDe=rDe,sDe={transforms:uDe,renderActions:nDe};function e8(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable})),r.push.apply(r,n)}return r}function t8(e){for(var t=1;t!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e;if(t.displayPartOfText!=null&&!["begin","continue"].includes(t.displayPartOfText.state))throw new Error("state must be typeof string and one of begin or continue");n.settings=t8(t8({},cDe),t),n.webParas=[],n.currentIndex=0,u.sofria={},u.sofria.sequence={},n.currentSequence=u.sofria.sequence,n.paraContentStack=[],n.footnoteNo=1,n.bookCode=r.document.metadata.document.bookCode,n.chapter=0}}],startSequence:[{description:"startSequence",test:()=>!0,action:e=>{var{context:t,workspace:r}=e;r.currentIndex+=1,r.currentSequence.type=t.sequences[0].type,r.currentSequence.blocks=[]}}],endSequence:[{description:"endSequence",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n}=e;n.currentSequence.type==="footnote"&&n.footnoteNo++,n.currentSequence={}}}],startTable:[{description:"Initialise table",test:()=>!0,action:e=>{var{context:t,workspace:r}=e;r.currentIndex+=1,r.paraContentStack=[{subType:"table",content:[]}]}}],endTable:[{description:"Add completed table to webParas",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n}=e;n.webParas.push(t.renderers.table(n.paraContentStack[0].content))}}],startRow:[{description:"Initialise content stack",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].block;r.currentIndex+=1,r.paraContentStack.unshift({subType:n.subType,content:[]})}}],endRow:[{description:"Add completed table to webParas",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n}=e,u=n.paraContentStack.shift();n.paraContentStack[0].content.push(t.renderers.row(u.content,n.currentIndex))}}],blockGraft:[{description:"Process block grafts",test:()=>!0,action:e=>{var t=e.context.sequences[0].block;if(t.subType!=="remark"&&!(["title","endTitle"].includes(t.subType)&&!e.workspace.settings.showTitles)&&!(["heading"].includes(t.subType)&&!e.workspace.settings.showHeadings)&&!(["introduction"].includes(t.subType)&&!e.workspace.settings.showIntroductions)){var r={type:t.type};if(t.sequence){r.sequence={};var n=e.workspace.currentSequence;e.workspace.currentSequence=r.sequence;var u=e.workspace.paraContentStack;e.context.renderer.renderSequence(e),e.workspace.paraContentStack=u,e.workspace.currentSequence=n}e.workspace.currentSequence.blocks.push(r)}}}],inlineGraft:[{description:"inlineGraft",test:e=>{var{context:t,workspace:r}=e;return t.sequences[0].element.subType!=="note_caller"&&!(["footnote"].includes(t.sequences[0].element.subType)&&!r.settings.showFootnotes)&&!(["xref"].includes(t.sequences[0].element.subType)&&!r.settings.showXrefs)},action:e=>{var t=e.context.sequences[0].element,r={type:t.type};if(t.sequence){r.sequence={};var n=e.workspace.currentSequence,u=[...e.workspace.paraContentStack],s=e.workspace.webParas;e.workspace.webParas=[],e.workspace.currentSequence=r.sequence,e.context.renderer.renderSequence(e);var o=e.workspace.webParas;e.workspace.webParas=s,e.workspace.paraContentStack=u,e.workspace.paraContentStack[0].content.push(o),e.workspace.currentSequence=n}}}],startParagraph:[{description:"Initialise content stack",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n}=e;n.currentIndex+=1;var u=r.sequences[0].block;n.paraContentStack=[{subType:u.subType,content:[]}]}}],endParagraph:[{description:"Add completed para to webParas",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n}=e;n.webParas.push(t.renderers.paragraph(n.settings.showParaStyles||["footnote","xref"].includes(r.sequences[0].type)?n.paraContentStack[0].subType:"usfm:m",n.paraContentStack[0].content,n.footnoteNo,n.currentIndex))}}],startWrapper:[{description:"Skip usfm:w outside main sequence",test:e=>{var{context:t}=e;return t.sequences[0].element.subType==="usfm:w"&&t.sequences[0].type!=="main"},action:()=>{}},{description:"Handle standard w attributes",test:e=>{var{context:t}=e;return t.sequences[0].element.subType==="usfm:w"},action:e=>{var{context:t,workspace:r}=e;r.currentIndex+=1;var n=t.sequences[0].element.atts,u={};for(var[s,o]of Object.entries(n))["strong","lemma","gloss"].includes(s)&&(u[s]=o);return r.paraContentStack.unshift({atts:u,content:[]}),!1}},{description:"Push to paraContent Stack",test:e=>{var{context:t,workspace:r}=e;return!["chapter","verses"].includes(t.sequences[0].element.subType)&&r.settings.showCharacterMarkup},action:e=>{var{context:t,workspace:r}=e,n={subType:t.sequences[0].element.subType,content:[]};t.sequences[0].element.subType==="cell"&&(n.atts=t.sequences[0].element.atts),r.currentIndex+=1,r.paraContentStack.unshift(n)}}],endWrapper:[{description:"Skip usfm:w outside main sequence",test:e=>{var{context:t}=e;return t.sequences[0].element.subType==="usfm:w"&&t.sequences[0].type!=="main"},action:()=>{}},{description:"Handle standard w attributes",test:e=>{var{context:t}=e;return t.sequences[0].element.subType==="usfm:w"},action:e=>{var{config:t,workspace:r}=e,n=r.paraContentStack.shift();return r.paraContentStack[0].content.push(t.renderers.wWrapper(r.settings.showWordAtts?n.atts:{},n.content,r.currentIndex)),!1}},{description:"Collapse one level of paraContent Stack",test:e=>{var{context:t,workspace:r}=e;return!["chapter","verses"].includes(t.sequences[0].element.subType)&&r.settings.showCharacterMarkup},action:e=>{var{config:t,workspace:r}=e,n=r.paraContentStack.shift();r.paraContentStack[0].content.push(t.renderers.wrapper(n.subType==="cell"?n.atts:{},n.subType,n.content,r.currentIndex))}}],startMilestone:[{description:"Handle zaln word-like atts",test:e=>{var{context:t}=e;return t.sequences[0].element.subType==="usfm:zaln"},action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element.atts,u={};for(var[s,o]of Object.entries(n))["x-strong","x-lemma","x-morph","x-content"].includes(s)&&(u[s.split("-")[1]]=o);return r.currentIndex+=1,r.paraContentStack.unshift({atts:u,content:[]}),!1}}],endMilestone:[{description:"Handle zaln word-like atts",test:e=>{var{context:t}=e;return t.sequences[0].element.subType==="usfm:zaln"},action:e=>{var{config:t,workspace:r}=e,n=r.paraContentStack.shift();return r.paraContentStack[0].content.push(t.renderers.wWrapper(r.settings.showWordAtts?n.atts:{},n.content.join(""))),!1}}],text:[{description:"Push text to para",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n}=e,u=r.sequences[0].element;u.text.split(" ").map((s,o)=>{n.currentIndex+=1;var a=t.renderers.text(o===u.text.split(" ").length-1?s:s+" ",n.currentIndex);n.paraContentStack[0].content.push(a)})}}],mark:[{description:"Show chapter/verse markers",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n}=e;n.currentIndex+=1;var u=r.sequences[0].element;if(u.subType==="chapter_label"&&n.settings.showChapterLabels)n.chapter=u.atts.number,n.paraContentStack[0].content.push(t.renderers.chapter_label(u.atts.number,n.currentIndex));else if(u.subType==="verses_label"&&n.settings.showVersesLabels){var s=[];t.selectedBcvNotes.length>0&&(s=[n.bookCode,n.chapter,u.atts.number]),n.paraContentStack[0].content.push(t.renderers.verses_label(u.atts.number,s,t.bcvNotesCallback,n.currentIndex))}}}],endDocument:[{description:"Build JSX",test:()=>!0,action:e=>{var{config:t,workspace:r,output:n}=e;n.paras=t.renderers.mergeParas(r.webParas)}}]},pDe={sofria2WebActions:lDe},{sofria2WebActions:dDe}=pDe,fDe={sofria2WebActions:dDe},DDe={paras:{default:{fontSize:"medium",marginTop:"0.5ex",marginBottom:"0.5ex"},"usfm:b":{height:"1em"},"usfm:d":{fontStyle:"italic"},"usfm:f":{fontSize:"small"},"usfm:hangingGraft":{},"usfm:imt":{fontWeight:"bold",fontStyle:"italic",fontSize:"xx-large",textAlign:"center"},"usfm:imt2":{fontWeight:"bold",fontStyle:"italic",fontSize:"x-large",textAlign:"center"},"usfm:imt3":{fontWeight:"bold",fontStyle:"italic",fontSize:"large",textAlign:"center"},"usfm:ip":{textIndent:"1.5em"},"usfm:ipi":{paddingLeft:"1.5em",textIndent:"1.5em"},"usfm:io":{paddingLeft:"1.5em"},"usfm:iot":{fontWeight:"bold",fontSize:"large"},"usfm:is":{fontStyle:"italic",fontSize:"xx-large"},"usfm:is2":{fontStyle:"italic",fontSize:"x-large"},"usfm:is3":{fontStyle:"italic",fontSize:"large"},"usfm:li":{listStyleType:"disc",paddingLeft:"3em",textIndent:"-1.5em"},"usfm:li2":{listStyleType:"disc",paddingLeft:"4.5em",textIndent:"-1.5em"},"usfm:li3":{listStyleType:"disc",paddingLeft:"6em",textIndent:"-1.5em"},"usfm:m":{},"usfm:mi":{paddingLeft:"1.5em"},"usfm:mr":{fontSize:"large",fontStyle:"italic"},"usfm:ms":{fontSize:"large",fontWeight:"bold"},"usfm:ms2":{fontWeight:"bold"},"usfm:mt":{fontWeight:"bold",fontStyle:"italic",fontSize:"xx-large",textAlign:"center"},"usfm:mt2":{fontWeight:"bold",fontStyle:"italic",fontSize:"x-large",textAlign:"center"},"usfm:mt3":{fontWeight:"bold",fontStyle:"italic",fontSize:"large",textAlign:"center"},"usfm:nb":{},"usfm:p":{textIndent:"1.5em"},"usfm:pc":{textAlign:"center"},"usfm:pi":{paddingLeft:"1.5em",textIndent:"1.5em"},"usfm:pi2":{paddingLeft:"3em",textIndent:"1.5em"},"usfm:pi3":{paddingLeft:"4.5em",textIndent:"1.5em"},"usfm:q":{paddingLeft:"1.5em",marginTop:"0.5ex",marginBottom:"0.5ex"},"usfm:q2":{paddingLeft:"3em",marginTop:"0.5ex",marginBottom:"0.5ex"},"usfm:q3":{paddingLeft:"4.5em",marginTop:"0.5ex",marginBottom:"0.5ex"},"usfm:q4":{paddingLeft:"6em",marginTop:"0.5ex",marginBottom:"0.5ex"},"usfm:qa":{fontWeight:"bold",fontSize:"x-large"},"usfm:qr":{textAlign:"right"},"usfm:r":{fontWeight:"bold"},"usfm:s":{fontStyle:"italic",fontSize:"xx-large"},"usfm:s2":{fontStyle:"italic",fontSize:"x-large"},"usfm:s3":{fontStyle:"italic",fontSize:"large"},"usfm:sr":{fontSize:"large"},"usfm:tr":{},"usfm:x":{fontSize:"small"}},marks:{default:{},chapter_label:{float:"left",fontSize:"xx-large",marginRight:"0.5em"},verses_label:{fontWeight:"bold",fontSize:"small",verticalAlign:"super",marginRight:"0.5em"}},wrappers:{default:{},"usfm:add":{fontStyle:"italic"},"usfm:bd":{fontWeight:"bold"},"usfm:bdit":{fontWeight:"bold",fontStyle:"italic"},"usfm:bk":{fontWeight:"bold"},chapter:{},"usfm:fl":{},"usfm:fm":{},"usfm:fq":{fontStyle:"italic"},"usfm:fqa":{fontStyle:"italic"},"usfm:fr":{fontWeight:"bold"},"usfm:ft":{},"usfm:it":{fontStyle:"italic"},"usfm:nd":{fontWeight:"bold",fontSize:"smaller",textTransform:"uppercase"},"usfm:qs":{float:"right",fontStyle:"italic"},"usfm:sc":{fontSize:"smaller",textTransform:"uppercase"},"usfm:tl":{fontStyle:"italic"},verses:{},"usfm:wj":{color:"#D00"},"usfm:xk":{},"usfm:xo":{fontWeight:"bold"},"usfm:xt":{}}},hDe=e=>{for(var t in e){var r="/* ".concat(t,` CSS format : */ +`))}}],startWrapper:[{description:"Output start tag",test:()=>!0,action:e=>{var{workspace:t,context:r}=e,n=r.sequences[0];t.nestedWrapper>0?t.usfmBits.push("\\+".concat(Br(n.element.subType.split(":")[1])," ")):t.usfmBits.push("\\".concat(Br(n.element.subType.split(":")[1])," ")),t.nestedWrapper+=1}}],endWrapper:[{description:"Output end tag",test:e=>{var{context:t}=e;return!["fr","fq","fqa","fk","fl","fw","fp","ft","xo","xk","xq","xt","xta"].includes(t.sequences[0].element.subType.split(":")[1])},action:e=>{var{workspace:t,context:r}=e;t.nestedWrapper-=1;var n=r.sequences[0],u=n.element.subType.split(":")[1],s=t.nestedWrapper>0;if(u==="w"){var o=C1e(Br(u),n.element.atts,s);t.usfmBits.push(o)}else s?t.usfmBits.push("\\+".concat(Br(n.element.subType.split(":")[1]),"*")):t.usfmBits.push("\\".concat(Br(n.element.subType.split(":")[1]),"*"))}},{description:"Do NOT output end tag",test:()=>!0,action:e=>{var{workspace:t}=e;t.nestedWrapper-=1}}],endDocument:[{description:"Build output",test:()=>!0,action:e=>{var{workspace:t,output:r}=e;r.usfm=t.usfmBits.join("").replace(/(\s*)\n(\s*)/gm,` +`)}}]},d_={perfToUsfmActions:b1e},{wordCountActions:S1e}=l_,{calculateUsfmChapterPositionsActions:w1e}=p_,{perfToUsfmActions:_1e}=d_,B1e={wordCountActions:S1e,perfToUsfmActions:_1e,calculateUsfmChapterPositionsActions:w1e},T1e=$1e(gs);function $1e(e){return e&&e.__esModule?e:{default:e}}var{wordCountActions:P1e}=l_,k1e=function(t){var{perf:r}=t,n=new T1e.default({srcJson:r,actions:P1e}),u={};return n.renderDocument({docId:"",config:{},output:u}),{report:u.report}},O1e={name:"wordCount",type:"Transform",description:"PERF=>JSON: Generates positions for inserting chapter numbers into USFM",inputs:[{name:"perf",type:"json",source:""}],outputs:[{name:"report",type:"json"}],code:k1e},I1e={wordCount:O1e},N1e=q1e(gs);function q1e(e){return e&&e.__esModule?e:{default:e}}var{calculateUsfmChapterPositionsActions:x1e}=p_,R1e=function(t){var{perf:r}=t,n=new N1e.default({srcJson:r,actions:x1e}),u={};return n.renderDocument({docId:"",config:{maxLength:60},output:u}),{report:u.report}},j1e={name:"calculateUsfmChapterPositions",type:"Transform",description:"PERF=>JSON: Generates positions for inserting chapter numbers into USFM",inputs:[{name:"perf",type:"json",source:""}],outputs:[{name:"report",type:"json"}],code:R1e},M1e={calculateUsfmChapterPositions:j1e},L1e=U1e(gs);function U1e(e){return e&&e.__esModule?e:{default:e}}var{perfToUsfmActions:G1e}=d_,V1e=function(t){var{perf:r,report:n}=t,u=new L1e.default({srcJson:r,actions:G1e}),s={};return u.renderDocument({docId:"",config:{report:n},output:s}),{usfm:s.usfm}},H1e={name:"perfToUsfm",type:"Transform",description:"PERF=>USFM",inputs:[{name:"perf",type:"json",source:""},{name:"report",type:"json",source:""}],outputs:[{name:"usfm",type:"text"}],code:V1e},W1e={perfToUsfm:H1e},{wordCount:J1e}=I1e,{calculateUsfmChapterPositions:z1e}=M1e,{perfToUsfm:K1e}=W1e,X1e={wordCount:J1e,perfToUsfm:K1e,calculateUsfmChapterPositions:z1e},Y1e=B1e,Z1e=X1e,Q1e={transforms:Z1e,renderActions:Y1e},e0e={startMilestone:[{description:"Ignore startMilestone events",test:()=>!0,action:()=>{}}],endMilestone:[{description:"Ignore endMilestone events",test:()=>!0,action:()=>{}}],startWrapper:[{description:"Ignore startWrapper events",test:()=>!0,action:()=>{}}],endWrapper:[{description:"Ignore endWrapper events",test:()=>!0,action:()=>{}}],blockGraft:[{description:"Ignore blockGraft events, except for title (\\mt)",test:e=>e.context.sequences[0].block.subType!=="title",action:e=>{}}],inlineGraft:[{description:"Ignore inlineGraft events",test:()=>!0,action:()=>{}}],mark:[{description:"Ignore mark events, except for chapter and verses",test:e=>{var{context:t}=e;return!["chapter","verses"].includes(t.sequences[0].element.subType)},action:()=>{}}]},f_={justTheBibleActions:e0e},{identityActions:t0e}=Fc,{justTheBibleActions:r0e}=f_,n0e={identityActions:t0e,justTheBibleActions:r0e},{identityActions:u0e}=Fc,s0e=function(t){var{perf:r}=t,n=new PerfRenderFromJson({srcJson:r,actions:u0e}),u={};return n.renderDocument({docId:"",config:{},output:u}),{verseWords:u.cv}},o0e={name:"identityTransform",type:"Transform",description:"identity operation",inputs:[{name:"perf",type:"json",source:""}],outputs:[{name:"perf",type:"json"}],code:s0e},a0e={identity:o0e},i0e=D_(gs),c0e=D_(bd);function D_(e){return e&&e.__esModule?e:{default:e}}var{identityActions:l0e}=Fc,{justTheBibleActions:p0e}=f_,d0e=function(t){var{perf:r}=t,n=new i0e.default({srcJson:r,actions:(0,c0e.default)([p0e,l0e])}),u={};return n.renderDocument({docId:"",config:{},output:u}),{perf:u.perf}},f0e={name:"justTheBible",type:"Transform",description:"PERF=>PERF: Strips most markup",documentation:"This transform removes milestones, wrappers and most marks. It has been used in several pipelines. It may also be stripping metaContent.",inputs:[{name:"perf",type:"json",source:""}],outputs:[{name:"perf",type:"json"}],code:d0e},D0e={justTheBible:f0e};const sr={},h_=e=>{let t=typeof e;return t==="number"||t==="string"||t==="boolean"||t==="undefined"||t==="bigint"||t==="symbol"||e===null},Cc=e=>{if(h_(e)||!(e instanceof Object))return"primitive";const t=e.constructor&&e.constructor.name&&e.constructor.name.toLowerCase();if(typeof t=="string"&&t.length&&sr[t])return t;let r;for(const n in sr)if(r=sr[n].type,!r||e instanceof r)return n;return"unknown"},h0e=(e,t,r)=>Array.prototype.push.call(e,r),m0e=e=>{const t=[];return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),t},E0e=e=>{const t=[...e];return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),t},y0e=(e,t,r)=>{const n=e.length;for(let u=0;u{Object.assign(sr,{array:{type:Array,mayDeepCopy:!0,addElement:h0e,makeEmpty:m0e,makeShallow:E0e,iterate:y0e}})},g0e=()=>{Object.assign(sr,{date:{type:Date,makeShallow:e=>new Date(e.getTime())}})},A0e=()=>{Object.assign(sr,{regexp:{type:RegExp,makeShallow:e=>new RegExp(e)}})},F0e=()=>{Object.assign(sr,{function:{type:Function,makeShallow:e=>e}})},C0e=()=>{Object.assign(sr,{error:{type:Error,makeShallow:e=>{const t=new Error(e.message);return t.stack=e.stack,t}}})},b0e=e=>{let t=typeof Ce<"u"&&Ce[e]||typeof window<"u"&&window[e]||typeof WorkerGlobalScope<"u"&&WorkerGlobalScope[e];typeof t<"u"&&(sr[e.toLowerCase()]={type:t,makeShallow:r=>t.from(r)})},S0e=()=>{["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"].forEach(t=>b0e(t))},w0e=()=>{typeof ArrayBuffer<"u"&&Object.assign(sr,{arraybuffer:{type:ArrayBuffer,makeShallow:e=>e.slice(0)}})},_0e=()=>{typeof Map>"u"||Object.assign(sr,{map:{type:Map,mayDeepCopy:!0,addElement:(e,t,r)=>e.set(t,r),makeEmpty:()=>new Map,makeShallow:e=>new Map(e),iterate:(e,t,r)=>{e.forEach((n,u)=>{const s={key:u,value:n,type:Cc(n)};r(s)})}}})},B0e=()=>{typeof Set>"u"||Object.assign(sr,{set:{type:Set,mayDeepCopy:!0,addElement:(e,t,r)=>e.add(r),makeEmpty:()=>new Set,makeShallow:e=>new Set(e),iterate:(e,t,r)=>{e.forEach(n=>{const u={key:null,value:n,type:Cc(n)};r(u)})}}})},T0e=()=>{typeof WeakSet>"u"||Object.assign(sr,{weakset:{type:WeakSet,makeShallow:e=>e}})},$0e=()=>{typeof WeakMap>"u"||Object.assign(sr,{weakmap:{type:WeakMap,makeShallow:e=>e}})},P0e=()=>{typeof Buffer>"u"||Object.assign(sr,{buffer:{type:Buffer,makeShallow:e=>Buffer.from(e)}})},k0e=(e,t,r,n=void 0)=>{n?Object.defineProperty(e,t,n):e[t]=r},O0e=e=>{const t={};return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),t},I0e=e=>{const t=Object.assign({},e);return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),t},N0e=(e,t,r)=>{const n=t?Object.getOwnPropertyNames(e):Object.keys(e),u=n.length;for(let s=0;s{Object.assign(sr,{object:{type:Object,mayDeepCopy:!0,addElement:k0e,makeEmpty:O0e,makeShallow:I0e,iterate:N0e}})},x0e=()=>{Object.assign(sr,{unknown:{makeShallow:e=>e},primitive:{makeShallow:e=>e}})};v0e();g0e();A0e();F0e();C0e();S0e();w0e();_0e();B0e();T0e();$0e();P0e();q0e();x0e();function R0e(e){return sr[e]}var j0e=[h_,Cc,R0e];const[M0e,L0e,xh]=j0e,Rh={goDeep:!0,includeNonEnumerable:!1,detectCircular:!0,maxDepth:20};function U0e(e){Object.keys(Rh).forEach(t=>{e[t]===void 0&&(e[t]=Rh[t])})}class G0e{constructor(){this._seenMap=new WeakMap}setAsCopied(t,r){t instanceof Object&&this._seenMap.set(t,r)}wasCopied(t){return t instanceof Object&&this._seenMap.has(t)}getCopy(t){return this._seenMap.get(t)}}function V0e(e,t,r){const{options:n,watcher:u}=r;let s;return t.mayDeepCopy?(s=t.makeEmpty(e),n.detectCircular&&u.setAsCopied(e,s)):s=t.makeShallow(e),s}function H0e(e,t){if(e>=t)throw`Error max depth of ${t} levels exceeded, possible circular reference`}const m_=(e,t,r)=>{const{destObject:n,srcType:u,watcher:s,options:o}=t,a=o.detectCircular;H0e(++r,o.maxDepth);const i=xh(u);if(!i.mayDeepCopy)return;const c=i.addElement;i.iterate(e,o.includeNonEnumerable,l=>{const p=l.value,d=l.type,f=xh(d);let h,y=!1;a&&s.wasCopied(p)?(h=s.getCopy(p),y=!0):h=V0e(p,f,{options:o,watcher:s}),c(n,l.key,h,l.descriptor),f.mayDeepCopy&&!y&&m_(p,{destObject:h,srcType:d,watcher:s,options:o},r)})};function W0e(e,t=Rh){if(U0e(t),M0e(e))return e;const r=L0e(e),n=xh(r);if(!t.goDeep||!n.mayDeepCopy)return n.makeShallow(e);const u=t.detectCircular?new G0e:null;let s=n.makeEmpty(e);return t.detectCircular&&u.setAsCopied(e,s),m_(e,{destObject:s,srcType:r,watcher:u,options:t},0),s}var J0e=W0e,z0e=K0e(J0e);function K0e(e){return e&&e.__esModule?e:{default:e}}var Bp=e=>{var t=[];for(var r of e)typeof r=="string"?t.length>0&&typeof t[t.length-1]=="string"?t[t.length-1]+=r:t.push(r):(r.content&&(r.content=Bp(r.content)),r.metaContent&&(r.metaContent=Bp(r.content)),t.push(r));return t},X0e=e=>{var t=(0,z0e.default)(e);for(var r of Object.values(t.sequences))for(var n of r.blocks)n.content&&(n.content=Bp(n.content)),n.metaContent&&(n.metaContent=Bp(n.metaContent));return t},E_=function(t){var{perf:r}=t;return{perf:X0e(r)}},Y0e={name:"mergePerfText",type:"Transform",description:"PERF=>PERF: Merge consecutive text strings",inputs:[{name:"perf",type:"json",source:""}],outputs:[{name:"perf",type:"json"}],code:E_},Z0e={mergePerfText:Y0e,mergePerfTextCode:E_},{identity:Q0e}=a0e,{justTheBible:eDe}=D0e,{mergePerfText:tDe,mergePerfTextCode:rDe}=Z0e,nDe={identity:Q0e,justTheBible:eDe,mergePerfText:tDe,mergePerfTextCode:rDe},uDe=n0e,sDe=nDe,oDe={transforms:sDe,renderActions:uDe};function r8(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable})),r.push.apply(r,n)}return r}function n8(e){for(var t=1;t!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e;if(t.displayPartOfText!=null&&!["begin","continue"].includes(t.displayPartOfText.state))throw new Error("state must be typeof string and one of begin or continue");n.settings=n8(n8({},lDe),t),n.webParas=[],n.currentIndex=0,u.sofria={},u.sofria.sequence={},n.currentSequence=u.sofria.sequence,n.paraContentStack=[],n.footnoteNo=1,n.bookCode=r.document.metadata.document.bookCode,n.chapter=0}}],startSequence:[{description:"startSequence",test:()=>!0,action:e=>{var{context:t,workspace:r}=e;r.currentIndex+=1,r.currentSequence.type=t.sequences[0].type,r.currentSequence.blocks=[]}}],endSequence:[{description:"endSequence",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n}=e;n.currentSequence.type==="footnote"&&n.footnoteNo++,n.currentSequence={}}}],startTable:[{description:"Initialise table",test:()=>!0,action:e=>{var{context:t,workspace:r}=e;r.currentIndex+=1,r.paraContentStack=[{subType:"table",content:[]}]}}],endTable:[{description:"Add completed table to webParas",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n}=e;n.webParas.push(t.renderers.table(n.paraContentStack[0].content))}}],startRow:[{description:"Initialise content stack",test:()=>!0,action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].block;r.currentIndex+=1,r.paraContentStack.unshift({subType:n.subType,content:[]})}}],endRow:[{description:"Add completed table to webParas",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n}=e,u=n.paraContentStack.shift();n.paraContentStack[0].content.push(t.renderers.row(u.content,n.currentIndex))}}],blockGraft:[{description:"Process block grafts",test:()=>!0,action:e=>{var t=e.context.sequences[0].block;if(t.subType!=="remark"&&!(["title","endTitle"].includes(t.subType)&&!e.workspace.settings.showTitles)&&!(["heading"].includes(t.subType)&&!e.workspace.settings.showHeadings)&&!(["introduction"].includes(t.subType)&&!e.workspace.settings.showIntroductions)){var r={type:t.type};if(t.sequence){r.sequence={};var n=e.workspace.currentSequence;e.workspace.currentSequence=r.sequence;var u=e.workspace.paraContentStack;e.context.renderer.renderSequence(e),e.workspace.paraContentStack=u,e.workspace.currentSequence=n}e.workspace.currentSequence.blocks.push(r)}}}],inlineGraft:[{description:"inlineGraft",test:e=>{var{context:t,workspace:r}=e;return t.sequences[0].element.subType!=="note_caller"&&!(["footnote"].includes(t.sequences[0].element.subType)&&!r.settings.showFootnotes)&&!(["xref"].includes(t.sequences[0].element.subType)&&!r.settings.showXrefs)},action:e=>{var t=e.context.sequences[0].element,r={type:t.type};if(t.sequence){r.sequence={};var n=e.workspace.currentSequence,u=[...e.workspace.paraContentStack],s=e.workspace.webParas;e.workspace.webParas=[],e.workspace.currentSequence=r.sequence,e.context.renderer.renderSequence(e);var o=e.workspace.webParas;e.workspace.webParas=s,e.workspace.paraContentStack=u,e.workspace.paraContentStack[0].content.push(o),e.workspace.currentSequence=n}}}],startParagraph:[{description:"Initialise content stack",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n}=e;n.currentIndex+=1;var u=r.sequences[0].block;n.paraContentStack=[{subType:u.subType,content:[]}]}}],endParagraph:[{description:"Add completed para to webParas",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n}=e;n.webParas.push(t.renderers.paragraph(n.settings.showParaStyles||["footnote","xref"].includes(r.sequences[0].type)?n.paraContentStack[0].subType:"usfm:m",n.paraContentStack[0].content,n.footnoteNo,n.currentIndex))}}],startWrapper:[{description:"Skip usfm:w outside main sequence",test:e=>{var{context:t}=e;return t.sequences[0].element.subType==="usfm:w"&&t.sequences[0].type!=="main"},action:()=>{}},{description:"Handle standard w attributes",test:e=>{var{context:t}=e;return t.sequences[0].element.subType==="usfm:w"},action:e=>{var{context:t,workspace:r}=e;r.currentIndex+=1;var n=t.sequences[0].element.atts,u={};for(var[s,o]of Object.entries(n))["strong","lemma","gloss"].includes(s)&&(u[s]=o);return r.paraContentStack.unshift({atts:u,content:[]}),!1}},{description:"Push to paraContent Stack",test:e=>{var{context:t,workspace:r}=e;return!["chapter","verses"].includes(t.sequences[0].element.subType)&&r.settings.showCharacterMarkup},action:e=>{var{context:t,workspace:r}=e,n={subType:t.sequences[0].element.subType,content:[]};t.sequences[0].element.subType==="cell"&&(n.atts=t.sequences[0].element.atts),r.currentIndex+=1,r.paraContentStack.unshift(n)}}],endWrapper:[{description:"Skip usfm:w outside main sequence",test:e=>{var{context:t}=e;return t.sequences[0].element.subType==="usfm:w"&&t.sequences[0].type!=="main"},action:()=>{}},{description:"Handle standard w attributes",test:e=>{var{context:t}=e;return t.sequences[0].element.subType==="usfm:w"},action:e=>{var{config:t,workspace:r}=e,n=r.paraContentStack.shift();return r.paraContentStack[0].content.push(t.renderers.wWrapper(r.settings.showWordAtts?n.atts:{},n.content,r.currentIndex)),!1}},{description:"Collapse one level of paraContent Stack",test:e=>{var{context:t,workspace:r}=e;return!["chapter","verses"].includes(t.sequences[0].element.subType)&&r.settings.showCharacterMarkup},action:e=>{var{config:t,workspace:r}=e,n=r.paraContentStack.shift();r.paraContentStack[0].content.push(t.renderers.wrapper(n.subType==="cell"?n.atts:{},n.subType,n.content,r.currentIndex))}}],startMilestone:[{description:"Handle zaln word-like atts",test:e=>{var{context:t}=e;return t.sequences[0].element.subType==="usfm:zaln"},action:e=>{var{context:t,workspace:r}=e,n=t.sequences[0].element.atts,u={};for(var[s,o]of Object.entries(n))["x-strong","x-lemma","x-morph","x-content"].includes(s)&&(u[s.split("-")[1]]=o);return r.currentIndex+=1,r.paraContentStack.unshift({atts:u,content:[]}),!1}}],endMilestone:[{description:"Handle zaln word-like atts",test:e=>{var{context:t}=e;return t.sequences[0].element.subType==="usfm:zaln"},action:e=>{var{config:t,workspace:r}=e,n=r.paraContentStack.shift();return r.paraContentStack[0].content.push(t.renderers.wWrapper(r.settings.showWordAtts?n.atts:{},n.content.join(""))),!1}}],text:[{description:"Push text to para",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n}=e,u=r.sequences[0].element;u.text.split(" ").map((s,o)=>{n.currentIndex+=1;var a=t.renderers.text(o===u.text.split(" ").length-1?s:s+" ",n.currentIndex);n.paraContentStack[0].content.push(a)})}}],mark:[{description:"Show chapter/verse markers",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n}=e;n.currentIndex+=1;var u=r.sequences[0].element;if(u.subType==="chapter_label"&&n.settings.showChapterLabels)n.chapter=u.atts.number,n.paraContentStack[0].content.push(t.renderers.chapter_label(u.atts.number,n.currentIndex));else if(u.subType==="verses_label"&&n.settings.showVersesLabels){var s=[];t.selectedBcvNotes.length>0&&(s=[n.bookCode,n.chapter,u.atts.number]),n.paraContentStack[0].content.push(t.renderers.verses_label(u.atts.number,s,t.bcvNotesCallback,n.currentIndex))}}}],endDocument:[{description:"Build JSX",test:()=>!0,action:e=>{var{config:t,workspace:r,output:n}=e;n.paras=t.renderers.mergeParas(r.webParas)}}]},dDe={sofria2WebActions:pDe},{sofria2WebActions:fDe}=dDe,DDe={sofria2WebActions:fDe},hDe={paras:{default:{fontSize:"medium",marginTop:"0.5ex",marginBottom:"0.5ex"},"usfm:b":{height:"1em"},"usfm:d":{fontStyle:"italic"},"usfm:f":{fontSize:"small"},"usfm:hangingGraft":{},"usfm:imt":{fontWeight:"bold",fontStyle:"italic",fontSize:"xx-large",textAlign:"center"},"usfm:imt2":{fontWeight:"bold",fontStyle:"italic",fontSize:"x-large",textAlign:"center"},"usfm:imt3":{fontWeight:"bold",fontStyle:"italic",fontSize:"large",textAlign:"center"},"usfm:ip":{textIndent:"1.5em"},"usfm:ipi":{paddingLeft:"1.5em",textIndent:"1.5em"},"usfm:io":{paddingLeft:"1.5em"},"usfm:iot":{fontWeight:"bold",fontSize:"large"},"usfm:is":{fontStyle:"italic",fontSize:"xx-large"},"usfm:is2":{fontStyle:"italic",fontSize:"x-large"},"usfm:is3":{fontStyle:"italic",fontSize:"large"},"usfm:li":{listStyleType:"disc",paddingLeft:"3em",textIndent:"-1.5em"},"usfm:li2":{listStyleType:"disc",paddingLeft:"4.5em",textIndent:"-1.5em"},"usfm:li3":{listStyleType:"disc",paddingLeft:"6em",textIndent:"-1.5em"},"usfm:m":{},"usfm:mi":{paddingLeft:"1.5em"},"usfm:mr":{fontSize:"large",fontStyle:"italic"},"usfm:ms":{fontSize:"large",fontWeight:"bold"},"usfm:ms2":{fontWeight:"bold"},"usfm:mt":{fontWeight:"bold",fontStyle:"italic",fontSize:"xx-large",textAlign:"center"},"usfm:mt2":{fontWeight:"bold",fontStyle:"italic",fontSize:"x-large",textAlign:"center"},"usfm:mt3":{fontWeight:"bold",fontStyle:"italic",fontSize:"large",textAlign:"center"},"usfm:nb":{},"usfm:p":{textIndent:"1.5em"},"usfm:pc":{textAlign:"center"},"usfm:pi":{paddingLeft:"1.5em",textIndent:"1.5em"},"usfm:pi2":{paddingLeft:"3em",textIndent:"1.5em"},"usfm:pi3":{paddingLeft:"4.5em",textIndent:"1.5em"},"usfm:q":{paddingLeft:"1.5em",marginTop:"0.5ex",marginBottom:"0.5ex"},"usfm:q2":{paddingLeft:"3em",marginTop:"0.5ex",marginBottom:"0.5ex"},"usfm:q3":{paddingLeft:"4.5em",marginTop:"0.5ex",marginBottom:"0.5ex"},"usfm:q4":{paddingLeft:"6em",marginTop:"0.5ex",marginBottom:"0.5ex"},"usfm:qa":{fontWeight:"bold",fontSize:"x-large"},"usfm:qr":{textAlign:"right"},"usfm:r":{fontWeight:"bold"},"usfm:s":{fontStyle:"italic",fontSize:"xx-large"},"usfm:s2":{fontStyle:"italic",fontSize:"x-large"},"usfm:s3":{fontStyle:"italic",fontSize:"large"},"usfm:sr":{fontSize:"large"},"usfm:tr":{},"usfm:x":{fontSize:"small"}},marks:{default:{},chapter_label:{float:"left",fontSize:"xx-large",marginRight:"0.5em"},verses_label:{fontWeight:"bold",fontSize:"small",verticalAlign:"super",marginRight:"0.5em"}},wrappers:{default:{},"usfm:add":{fontStyle:"italic"},"usfm:bd":{fontWeight:"bold"},"usfm:bdit":{fontWeight:"bold",fontStyle:"italic"},"usfm:bk":{fontWeight:"bold"},chapter:{},"usfm:fl":{},"usfm:fm":{},"usfm:fq":{fontStyle:"italic"},"usfm:fqa":{fontStyle:"italic"},"usfm:fr":{fontWeight:"bold"},"usfm:ft":{},"usfm:it":{fontStyle:"italic"},"usfm:nd":{fontWeight:"bold",fontSize:"smaller",textTransform:"uppercase"},"usfm:qs":{float:"right",fontStyle:"italic"},"usfm:sc":{fontSize:"smaller",textTransform:"uppercase"},"usfm:tl":{fontStyle:"italic"},verses:{},"usfm:wj":{color:"#D00"},"usfm:xk":{},"usfm:xo":{fontWeight:"bold"},"usfm:xt":{}}},mDe=e=>{for(var t in e){var r="/* ".concat(t,` CSS format : */ `);for(var n in e[t]){if(n.includes(":")){var u=n.replace(":","_");r+=" .".concat(t,"_").concat(u.replace(/([A-Z])/g,"_$1").toLowerCase(),` { `)}else r+=" .".concat(t,"_").concat(n.replace(/([A-Z])/g,"_$1").toLowerCase(),` { `);var s=e[t][n];for(var o in s)for(var a in o)if(o[a]===o[a].toUpperCase()){var i=o.replace(/([A-Z])/g,"-$1").toLowerCase();r+=" ".concat(i,": ").concat(s[o],`; `)}r+=` } -`}console.log(r)}};function mDe(e){var t=e,r=Object.keys(t);return r.map(n=>{var u=Object.keys(t[n]);u.map(s=>{var o=Object.keys(t[n][s]);o.map(a=>{if(a==="float"&&t[n][s][a]==="left"&&(t[n][s].textAlign="left",delete t[n][s][a]),a==="verticalAlign"&&t[n][s][a]==="super"&&(t[n][s][a]="top"),a==="textIndent"){if(t[n][s][a].includes("em")){var i=t[n][s][a];i.replace("em",""),t[n][s].marginLeft=parseFloat(i)*16,delete t[n][s][a]}delete t[n][s][a]}if(t[n][s][a]==="medium"&&(t[n][s][a]=16),t[n][s][a]==="x-small"&&(t[n][s][a]=10),t[n][s][a]==="xx-small"&&(t[n][s][a]=9),t[n][s][a]==="small"&&(t[n][s][a]=13.333),t[n][s][a]==="large"&&(t[n][s][a]=18),t[n][s][a]==="x-large"&&(t[n][s][a]=24),t[n][s][a]==="xx-large"&&(t[n][s][a]=32),typeof t[n][s][a]=="string"){if(t[n][s][a].includes("em")){var c=t[n][s][a];c.replace("em",""),t[n][s][a]=parseFloat(c)*16;return}if(t[n][s][a].includes("ex")){var l=t[n][s][a];l.replace("ex",""),t[n][s][a]=parseFloat(l);return}}})})}),t}var m_={styles:DDe,StyleAsCSS:hDe,ConvertCssToReactNativeStyle:mDe};function r8(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable})),r.push.apply(r,n)}return r}function n8(e){for(var t=1;te.replace(/[A-Z]/g,t=>"-".concat(t.toLowerCase())),Ya=(e,t)=>{if(!Xa[e])throw new Error("Unknown style type '".concat(e,"'"));if(!Xa[e][t])return console.log("No styles for ".concat(e,"/").concat(t)),Xa[e].default;var r=n8(n8({},Xa[e].default),Xa[e][t]),n=[];return Object.entries(r).forEach(u=>{var[s,o]=u;n.push("".concat(gDe(s),": ").concat(o))}),n.join("; ")};function ADe(e){return`{var u=Object.keys(t[n]);u.map(s=>{var o=Object.keys(t[n][s]);o.map(a=>{if(a==="float"&&t[n][s][a]==="left"&&(t[n][s].textAlign="left",delete t[n][s][a]),a==="verticalAlign"&&t[n][s][a]==="super"&&(t[n][s][a]="top"),a==="textIndent"){if(t[n][s][a].includes("em")){var i=t[n][s][a];i.replace("em",""),t[n][s].marginLeft=parseFloat(i)*16,delete t[n][s][a]}delete t[n][s][a]}if(t[n][s][a]==="medium"&&(t[n][s][a]=16),t[n][s][a]==="x-small"&&(t[n][s][a]=10),t[n][s][a]==="xx-small"&&(t[n][s][a]=9),t[n][s][a]==="small"&&(t[n][s][a]=13.333),t[n][s][a]==="large"&&(t[n][s][a]=18),t[n][s][a]==="x-large"&&(t[n][s][a]=24),t[n][s][a]==="xx-large"&&(t[n][s][a]=32),typeof t[n][s][a]=="string"){if(t[n][s][a].includes("em")){var c=t[n][s][a];c.replace("em",""),t[n][s][a]=parseFloat(c)*16;return}if(t[n][s][a].includes("ex")){var l=t[n][s][a];l.replace("ex",""),t[n][s][a]=parseFloat(l);return}}})})}),t}var y_={styles:hDe,StyleAsCSS:mDe,ConvertCssToReactNativeStyle:EDe};function u8(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable})),r.push.apply(r,n)}return r}function s8(e){for(var t=1;te.replace(/[A-Z]/g,t=>"-".concat(t.toLowerCase())),Ya=(e,t)=>{if(!Xa[e])throw new Error("Unknown style type '".concat(e,"'"));if(!Xa[e][t])return console.log("No styles for ".concat(e,"/").concat(t)),Xa[e].default;var r=s8(s8({},Xa[e].default),Xa[e][t]),n=[];return Object.entries(r).forEach(u=>{var[s,o]=u;n.push("".concat(ADe(s),": ").concat(o))}),n.join("; ")};function FDe(e){return` `.concat(e.children,` - `)}var FDe={text:e=>"".concat(e),chapter_label:e=>'').concat(e,""),verses_label:e=>'').concat(e,""),paragraph:(e,t,r)=>["usfm:f","usfm:x"].includes(e)?ADe({style:Ya("paras",e),linkText:e==="usfm:f"?r:"*",children:t.join("")}):'

').concat(t.join(""),"

"),wrapper:(e,t,r)=>t==="cell"?e.role==="body"?"').concat(r.join(""),""):"').concat(r.join(""),""):'').concat(r,""),wWrapper:(e,t)=>Object.keys(e).length===0?t:``)}var CDe={text:e=>"".concat(e),chapter_label:e=>'').concat(e,""),verses_label:e=>'').concat(e,""),paragraph:(e,t,r)=>["usfm:f","usfm:x"].includes(e)?FDe({style:Ya("paras",e),linkText:e==="usfm:f"?r:"*",children:t.join("")}):'

').concat(t.join(""),"

"),wrapper:(e,t,r)=>t==="cell"?e.role==="body"?"').concat(r.join(""),""):"').concat(r.join(""),""):'').concat(r,""),wWrapper:(e,t)=>Object.keys(e).length===0?t:` {`.concat(r[0]," = ").concat(r[1],`} `)).join(""),""),mergeParas:e=>e.join(` -`),row:e=>"".concat(e.join(""),""),table:e=>"".concat(e.join(" "),"
")},CDe={renderers:FDe},bDe=fDe,SDe=m_,wDe=CDe,_De={renderStyles:SDe,renderActions:bDe,sofria2html:wDe},BDe=Jfe,TDe=r1e,$De=y1e,PDe=Z1e,kDe=sDe,ODe=_De,E_={xToPerf:TDe,perfToX:PDe,sofriaToSofria:$De,alignment:BDe,perfToPerf:kDe,sofria2web:ODe};const IDe=[{id:0,type:"Inputs",inputs:{usfm:"text",selectors:"json"}},{id:2,title:"USFM to PERF",name:"usfmToPerf",type:"Transform",inputs:[{name:"usfm",type:"text",source:"Input usfm"},{name:"selectors",type:"json",source:"Input selectors"}],outputs:[{name:"perf",type:"json"}],description:"USFM=>PERF: Conversion via Proskomma"},{id:999,type:"Outputs",outputs:[{name:"perf",type:"json",source:"Transform 2 perf"}]}],NDe=[{id:0,type:"Inputs",inputs:{perf:"json",strippedAlignment:"json"}},{id:1,title:"Count stripped perf words",name:"verseWords",transformName:"verseWords",type:"Transform",inputs:[{name:"perf",type:"json",source:"Input perf"}],outputs:[{name:"verseWords",type:"json"}],description:"PERF=>JSON: Counts words occurrences"},{id:2,title:"Merge Back Into Stripped (roundtrip)",name:"mergeAlignment",transformName:"mergeAlignment",type:"Transform",inputs:[{name:"perf",type:"json",source:"Input perf"},{name:"strippedAlignment",type:"json",source:"Input strippedAlignment"},{name:"verseWords",type:"json",source:"Transform 1 verseWords"}],outputs:[{name:"perf",type:"json"},{name:"unalignedWords",type:"json"}],description:"PERF=>PERF adds report to verses"},{id:3,title:"Merge Merged PERF Text",name:"mergePerfText",transformName:"mergePerfText",type:"Transform",inputs:[{name:"perf",type:"json",source:"Transform 2 perf"}],outputs:[{name:"perf",type:"json"}],description:"PERF=>PERF: Merge consecutive text strings"},{id:999,type:"Outputs",outputs:[{name:"perf",type:"json",source:"Transform 3 perf"},{name:"unalignedWords",type:"json",source:"Transform 2 unalignedWords"}]}],qDe=[{id:0,type:"Inputs",inputs:{perf:"json"}},{id:1,title:"Count stripped perf words",name:"verseWords",type:"Transform",transformName:"verseWords",inputs:[{name:"perf",type:"json",source:"Input perf"}],outputs:[{name:"verseWords",type:"json"}],description:"PERF=>JSON: Counts words occurrences"},{id:2,title:"Strip Alignment",name:"stripAlignment",type:"Transform",transformName:"stripAlignment",inputs:[{name:"perf",type:"json",source:"Input perf"},{name:"verseWords",type:"json",source:"Transform 1 verseWords"}],outputs:[{name:"perf",type:"json"},{name:"strippedAlignment",type:"json"},{name:"unalignedWords",type:"json"}],description:"PERF=>PERF: Strips alignment markup"},{id:3,title:"Merge stripped perf",name:"mergePerfText",type:"Transform",transformName:"mergePerfText",inputs:[{name:"perf",type:"json",source:"Transform 2 perf"}],outputs:[{name:"perf",type:"json"}],description:"PERF=>PERF: Merge consecutive text strings"},{id:999,type:"Outputs",outputs:[{name:"perf",type:"json",source:"Transform 3 perf"},{name:"strippedAlignment",type:"json",source:"Transform 2 strippedAlignment"},{name:"unalignedWords",type:"json",source:"Transform 2 unalignedWords"}]}],xDe=[{id:0,type:"Inputs",inputs:{perf:"json"}},{id:1,title:"Generate report",name:"calculateUsfmChapterPositions",type:"Transform",inputs:[{name:"perf",type:"json",source:"Input perf"}],outputs:[{name:"report",type:"json"}],description:"Generate report from perf to calculate the position of the chapters"},{id:2,title:"PERF to USFM",name:"perfToUsfm",type:"Transform",inputs:[{name:"perf",type:"json",source:"Input perf"},{name:"report",type:"json",source:"Transform 1 report"}],outputs:[{name:"usfm",type:"text"}],description:"PERF=>USFM: Conversion via Proskomma"},{id:999,type:"Outputs",outputs:[{name:"usfm",type:"text",source:"Transform 2 usfm"}]}],RDe=[{id:0,type:"Inputs",inputs:{perf:"json"}},{id:1,title:"Simplify Input PERF",name:"justTheBible",transformName:"justTheBible",type:"Transform",inputs:[{name:"perf",type:"json",source:"Input perf"}],outputs:[{name:"perf",type:"json"}]},{id:999,type:"Outputs",outputs:[{name:"perf",type:"json",source:"Transform 1 perf"}]}];var jDe=bc(IDe),MDe=bc(NDe),LDe=bc(qDe),UDe=bc(xDe),GDe=bc(RDe);function bc(e){return e&&e.__esModule?e:{default:e}}var y_={usfmToPerfPipeline:jDe.default,mergeAlignmentPipeline:MDe.default,stripAlignmentPipeline:LDe.default,perfToUsfmPipeline:UDe.default,justTheBiblePipeline:GDe.default};function u8(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable})),r.push.apply(r,n)}return r}function s8(e){for(var t=1;t"".concat(e.join(""),""),table:e=>"".concat(e.join(" "),"
")},bDe={renderers:CDe},SDe=DDe,wDe=y_,_De=bDe,BDe={renderStyles:wDe,renderActions:SDe,sofria2html:_De},TDe=zfe,$De=n1e,PDe=v1e,kDe=Q1e,ODe=oDe,IDe=BDe,v_={xToPerf:$De,perfToX:kDe,sofriaToSofria:PDe,alignment:TDe,perfToPerf:ODe,sofria2web:IDe};const NDe=[{id:0,type:"Inputs",inputs:{usfm:"text",selectors:"json"}},{id:2,title:"USFM to PERF",name:"usfmToPerf",type:"Transform",inputs:[{name:"usfm",type:"text",source:"Input usfm"},{name:"selectors",type:"json",source:"Input selectors"}],outputs:[{name:"perf",type:"json"}],description:"USFM=>PERF: Conversion via Proskomma"},{id:999,type:"Outputs",outputs:[{name:"perf",type:"json",source:"Transform 2 perf"}]}],qDe=[{id:0,type:"Inputs",inputs:{perf:"json",strippedAlignment:"json"}},{id:1,title:"Count stripped perf words",name:"verseWords",transformName:"verseWords",type:"Transform",inputs:[{name:"perf",type:"json",source:"Input perf"}],outputs:[{name:"verseWords",type:"json"}],description:"PERF=>JSON: Counts words occurrences"},{id:2,title:"Merge Back Into Stripped (roundtrip)",name:"mergeAlignment",transformName:"mergeAlignment",type:"Transform",inputs:[{name:"perf",type:"json",source:"Input perf"},{name:"strippedAlignment",type:"json",source:"Input strippedAlignment"},{name:"verseWords",type:"json",source:"Transform 1 verseWords"}],outputs:[{name:"perf",type:"json"},{name:"unalignedWords",type:"json"}],description:"PERF=>PERF adds report to verses"},{id:3,title:"Merge Merged PERF Text",name:"mergePerfText",transformName:"mergePerfText",type:"Transform",inputs:[{name:"perf",type:"json",source:"Transform 2 perf"}],outputs:[{name:"perf",type:"json"}],description:"PERF=>PERF: Merge consecutive text strings"},{id:999,type:"Outputs",outputs:[{name:"perf",type:"json",source:"Transform 3 perf"},{name:"unalignedWords",type:"json",source:"Transform 2 unalignedWords"}]}],xDe=[{id:0,type:"Inputs",inputs:{perf:"json"}},{id:1,title:"Count stripped perf words",name:"verseWords",type:"Transform",transformName:"verseWords",inputs:[{name:"perf",type:"json",source:"Input perf"}],outputs:[{name:"verseWords",type:"json"}],description:"PERF=>JSON: Counts words occurrences"},{id:2,title:"Strip Alignment",name:"stripAlignment",type:"Transform",transformName:"stripAlignment",inputs:[{name:"perf",type:"json",source:"Input perf"},{name:"verseWords",type:"json",source:"Transform 1 verseWords"}],outputs:[{name:"perf",type:"json"},{name:"strippedAlignment",type:"json"},{name:"unalignedWords",type:"json"}],description:"PERF=>PERF: Strips alignment markup"},{id:3,title:"Merge stripped perf",name:"mergePerfText",type:"Transform",transformName:"mergePerfText",inputs:[{name:"perf",type:"json",source:"Transform 2 perf"}],outputs:[{name:"perf",type:"json"}],description:"PERF=>PERF: Merge consecutive text strings"},{id:999,type:"Outputs",outputs:[{name:"perf",type:"json",source:"Transform 3 perf"},{name:"strippedAlignment",type:"json",source:"Transform 2 strippedAlignment"},{name:"unalignedWords",type:"json",source:"Transform 2 unalignedWords"}]}],RDe=[{id:0,type:"Inputs",inputs:{perf:"json"}},{id:1,title:"Generate report",name:"calculateUsfmChapterPositions",type:"Transform",inputs:[{name:"perf",type:"json",source:"Input perf"}],outputs:[{name:"report",type:"json"}],description:"Generate report from perf to calculate the position of the chapters"},{id:2,title:"PERF to USFM",name:"perfToUsfm",type:"Transform",inputs:[{name:"perf",type:"json",source:"Input perf"},{name:"report",type:"json",source:"Transform 1 report"}],outputs:[{name:"usfm",type:"text"}],description:"PERF=>USFM: Conversion via Proskomma"},{id:999,type:"Outputs",outputs:[{name:"usfm",type:"text",source:"Transform 2 usfm"}]}],jDe=[{id:0,type:"Inputs",inputs:{perf:"json"}},{id:1,title:"Simplify Input PERF",name:"justTheBible",transformName:"justTheBible",type:"Transform",inputs:[{name:"perf",type:"json",source:"Input perf"}],outputs:[{name:"perf",type:"json"}]},{id:999,type:"Outputs",outputs:[{name:"perf",type:"json",source:"Transform 1 perf"}]}];var MDe=bc(NDe),LDe=bc(qDe),UDe=bc(xDe),GDe=bc(RDe),VDe=bc(jDe);function bc(e){return e&&e.__esModule?e:{default:e}}var g_={usfmToPerfPipeline:MDe.default,mergeAlignmentPipeline:LDe.default,stripAlignmentPipeline:UDe.default,perfToUsfmPipeline:GDe.default,justTheBiblePipeline:VDe.default};function o8(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable})),r.push.apply(r,n)}return r}function a8(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:"perf",n=t.filter(y=>y.type==="Transform");if(n.length===0)throw new Error("No Transform steps found in report steps");var u=Object.keys(n).map(y=>n[y].name);if(r==="sofria"){var s=null;for(var[o,a]of Object.entries(this.namespaces))if(o==="sofriaToSofria"){a.transforms?s=Object.entries(a.transforms):s=Object.entries(a);for(var[i,c]of s)u.includes(i)&&(this.transforms[i]=c)}}else{var l=null;for(var[p,d]of Object.entries(this.namespaces))if(p!=="sofriaToSofria"){d.transforms?l=Object.entries(d.transforms):l=Object.entries(d);for(var[f,h]of l)u.includes(f)&&(this.transforms[f]=h)}}}evaluateSteps(t){var{specSteps:r,inputValues:n}=t;this.verbose&&console.log("** Evaluate **");var u=r.filter(q=>q.type==="Inputs")[0];if(!u)throw new Error("No Inputs step found in report steps");var s=r.filter(q=>q.type==="Outputs")[0];if(!s)throw new Error("No Outputs step found in report steps");var o=r.filter(q=>q.type==="Transform");if(o.length===0)throw new Error("No Transform steps found in report steps");var a={},i={};for(var c of Object.values(o)){a[c.id]={};for(var l of c.inputs)a[c.id][l.name]=null;i[c.id]={};for(var p of c.outputs)i[c.id][p]=null}for(var[d,f]of Object.entries(n))for(var h of o)for(var y of h.inputs)y.source==="Input ".concat(d)&&(this.verbose&&console.log("Copying Input ".concat(d," to Transform ").concat(h.id," ").concat(y.name," input")),a[h.id][y.name]=f);for(var A=!0;A;){A=!1;for(var m of o)if(Object.values(a[m.id]).filter(q=>!q).length===0&&Object.values(i[m.id]).filter(q=>!q).length>0){this.verbose&&console.log("Evaluating Transform ".concat(m.id));try{i[m.id]=this.transforms[m.name].code(s8(s8({},a[m.id]),{},{proskomma:this.getProskomma()}))}catch(q){var v="Error evaluating Transform ".concat(m.id," (name=").concat(m.name,", type=").concat(typeof m.code,"): ").concat(q);throw new Error(v)}for(var C of o)for(var B of C.inputs)for(var T of Object.keys(i[m.id]))B.source==="Transform ".concat(m.id," ").concat(T)&&(this.verbose&&console.log("Copying Transform ".concat(m.id," ").concat(T," output to Transform ").concat(C.id," ").concat(B.name," input")),a[C.id][B.name]=i[m.id][T]);A=!0}}var N={};for(var R of s.outputs){var J=R.source.split(" ")[1];this.verbose&&console.log("Copying Transform ".concat(J," ").concat(R.name," to Output ").concat(R.name)),N[R.name]=i[J][R.name]}return this.verbose&&console.log("****"),N}};var YDe=XDe;function a8(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable})),r.push.apply(r,n)}return r}function i8(e){for(var t=1;t{var t=[];for(var r of e.split(""))r.toUpperCase()===r&&r.toLowerCase()!==r?t.push("_".concat(r.toLowerCase())):t.push(r);return t.join("")};let r2e=class extends t2e{constructor(t){if(super(t),!t.proskomma)throw new Error("No Proskomma");this.pk=t.proskomma,this._tokens=[],this._container=null}renderDocument1(t){var{docId:r,config:n,context:u,workspace:s,output:o}=t,a={config:n,context:u,workspace:s,output:o};u.renderer=this;var i=this.pk.gqlQuerySync('{document(id: "'.concat(r,'") {docSetId mainSequence { id } nSequences sequences {id} headers { key value } } }')),c=i.data.document.docSetId,l=i.data.document.mainSequence.id,p=i.data.document.nSequences;i.data.document.sequences.map(m=>m.id);var d={};for(var f of i.data.document.headers)d[f.key]=f.value;var h=this.pk.gqlQuerySync('{docSet(id: "'.concat(c,'") {selectors {key value}}}')),y={};for(var A of h.data.docSet.selectors)y[A.key]=A.value;u.document={id:r,schema:{structure:"flat",structure_version:"0.2.1",constraints:[{name:"perf",version:"0.2.1"}]},metadata:{translation:{id:c,selectors:y,properties:{},tags:[]},document:i8(i8({},d),{},{properties:{},tags:[]})},mainSequenceId:l,nSequences:p},u.sequences=[],this.renderEvent("startDocument",a),this.renderSequenceId(a,l),this.renderEvent("endDocument",a)}sequenceContext(t,r){return{id:r,type:$s(t.type),nBlocks:t.nBlocks,milestones:new Set([])}}renderSequenceId(t,r){var n=t.context,u=this.pk.gqlQuerySync('{document(id: "'.concat(n.document.id,'") {sequence(id:"').concat(r,'") {id type nBlocks } } }')),s=u.data.document.sequence;if(!s)throw new Error("Sequence '".concat(r,"' not found in renderSequenceId()"));n.sequences.unshift(this.sequenceContext(s,r)),this.renderEvent("startSequence",t);for(var o=0,a=0;a1&&arguments[1]!==void 0?arguments[1]:"perf",n=t.filter(y=>y.type==="Transform");if(n.length===0)throw new Error("No Transform steps found in report steps");var u=Object.keys(n).map(y=>n[y].name);if(r==="sofria"){var s=null;for(var[o,a]of Object.entries(this.namespaces))if(o==="sofriaToSofria"){a.transforms?s=Object.entries(a.transforms):s=Object.entries(a);for(var[i,c]of s)u.includes(i)&&(this.transforms[i]=c)}}else{var l=null;for(var[p,d]of Object.entries(this.namespaces))if(p!=="sofriaToSofria"){d.transforms?l=Object.entries(d.transforms):l=Object.entries(d);for(var[f,h]of l)u.includes(f)&&(this.transforms[f]=h)}}}evaluateSteps(t){var{specSteps:r,inputValues:n}=t;this.verbose&&console.log("** Evaluate **");var u=r.filter(q=>q.type==="Inputs")[0];if(!u)throw new Error("No Inputs step found in report steps");var s=r.filter(q=>q.type==="Outputs")[0];if(!s)throw new Error("No Outputs step found in report steps");var o=r.filter(q=>q.type==="Transform");if(o.length===0)throw new Error("No Transform steps found in report steps");var a={},i={};for(var c of Object.values(o)){a[c.id]={};for(var l of c.inputs)a[c.id][l.name]=null;i[c.id]={};for(var p of c.outputs)i[c.id][p]=null}for(var[d,f]of Object.entries(n))for(var h of o)for(var y of h.inputs)y.source==="Input ".concat(d)&&(this.verbose&&console.log("Copying Input ".concat(d," to Transform ").concat(h.id," ").concat(y.name," input")),a[h.id][y.name]=f);for(var A=!0;A;){A=!1;for(var m of o)if(Object.values(a[m.id]).filter(q=>!q).length===0&&Object.values(i[m.id]).filter(q=>!q).length>0){this.verbose&&console.log("Evaluating Transform ".concat(m.id));try{i[m.id]=this.transforms[m.name].code(a8(a8({},a[m.id]),{},{proskomma:this.getProskomma()}))}catch(q){var v="Error evaluating Transform ".concat(m.id," (name=").concat(m.name,", type=").concat(typeof m.code,"): ").concat(q);throw new Error(v)}for(var C of o)for(var B of C.inputs)for(var T of Object.keys(i[m.id]))B.source==="Transform ".concat(m.id," ").concat(T)&&(this.verbose&&console.log("Copying Transform ".concat(m.id," ").concat(T," output to Transform ").concat(C.id," ").concat(B.name," input")),a[C.id][B.name]=i[m.id][T]);A=!0}}var N={};for(var R of s.outputs){var J=R.source.split(" ")[1];this.verbose&&console.log("Copying Transform ".concat(J," ").concat(R.name," to Output ").concat(R.name)),N[R.name]=i[J][R.name]}return this.verbose&&console.log("****"),N}};var ZDe=YDe;function c8(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable})),r.push.apply(r,n)}return r}function l8(e){for(var t=1;t{var t=[];for(var r of e.split(""))r.toUpperCase()===r&&r.toLowerCase()!==r?t.push("_".concat(r.toLowerCase())):t.push(r);return t.join("")};let n2e=class extends r2e{constructor(t){if(super(t),!t.proskomma)throw new Error("No Proskomma");this.pk=t.proskomma,this._tokens=[],this._container=null}renderDocument1(t){var{docId:r,config:n,context:u,workspace:s,output:o}=t,a={config:n,context:u,workspace:s,output:o};u.renderer=this;var i=this.pk.gqlQuerySync('{document(id: "'.concat(r,'") {docSetId mainSequence { id } nSequences sequences {id} headers { key value } } }')),c=i.data.document.docSetId,l=i.data.document.mainSequence.id,p=i.data.document.nSequences;i.data.document.sequences.map(m=>m.id);var d={};for(var f of i.data.document.headers)d[f.key]=f.value;var h=this.pk.gqlQuerySync('{docSet(id: "'.concat(c,'") {selectors {key value}}}')),y={};for(var A of h.data.docSet.selectors)y[A.key]=A.value;u.document={id:r,schema:{structure:"flat",structure_version:"0.2.1",constraints:[{name:"perf",version:"0.2.1"}]},metadata:{translation:{id:c,selectors:y,properties:{},tags:[]},document:l8(l8({},d),{},{properties:{},tags:[]})},mainSequenceId:l,nSequences:p},u.sequences=[],this.renderEvent("startDocument",a),this.renderSequenceId(a,l),this.renderEvent("endDocument",a)}sequenceContext(t,r){return{id:r,type:$s(t.type),nBlocks:t.nBlocks,milestones:new Set([])}}renderSequenceId(t,r){var n=t.context,u=this.pk.gqlQuerySync('{document(id: "'.concat(n.document.id,'") {sequence(id:"').concat(r,'") {id type nBlocks } } }')),s=u.data.document.sequence;if(!s)throw new Error("Sequence '".concat(r,"' not found in renderSequenceId()"));n.sequences.unshift(this.sequenceContext(s,r)),this.renderEvent("startSequence",t);for(var o=0,a=0;a{t.meta_content&&(o.metaContent=t.meta_content,this.renderEvent("metaContent",r))},u=r.context,s={type:t.type||"text"};if(t.subtype&&(s.subType=t.subtype),t.atts?s.atts=t.atts:s.type!=="end_milestone"&&s.type!=="meta_content"&&(s.atts={}),t.sequence&&(s.sequence=this.sequenceContext(t.sequence)),s.type==="text"&&(s.text=t),u.sequences[0].element=s,s.type==="text")r.workspace.inTable&&(r.workspace.tableHasContent=!0),this.renderEvent("text",r),n(s);else if(s.type==="mark")this.renderEvent("mark",r),n(s);else if(s.type==="start_milestone")this.renderEvent("startMilestone",r),n(s);else if(s.type==="end_milestone")this.renderEvent("endMilestone",r),n(s);else if(s.type==="graft")this.cachedSequences.unshift(t.sequence),this.renderEvent("inlineGraft",r),this.cachedSequences.shift(),n(s);else if(s.type==="wrapper")s.subType==="chapter"&&(r.workspace.chapterCurent?r.workspace.chapterCurent!=s.atts.number&&(r.workspace.changingChapter=!0):r.workspace.chapterCurent=s.atts.number),r.workspace.changingChapter&&r.workspace.inTable&&r.workspace.tableHasContent&&s.subType==="chapter"&&(this.renderEvent("endRow",r),this.renderEvent("endTable",r),r.workspace.inTable=!1,r.workspace.tableHasContent=!1,r.workspace.skipEndRow=!0,r.workspace.changingChapter=!1),u.sequences[0].block.wrappers.unshift(s.subType),this.renderEvent("startWrapper",r),this.renderContent(t.content,r),u.sequences[0].element=s,n(s),this.renderEvent("endWrapper",r),u.sequences[0].block.wrappers.shift();else throw new Error("Unexpected element type '".concat(s.type));delete u.sequences[0].element}};var o2e=s2e;function c8(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable})),r.push.apply(r,n)}return r}function l8(e){for(var t=1;t{var t=[];for(var r of e.split(""))r.toUpperCase()===r&&r.toLowerCase()!==r?t.push("_".concat(r.toLowerCase())):t.push(r);return t.join("")};let p2e=class extends l2e{constructor(t){if(super(t),!t.proskomma)throw new Error("No Proskomma");this.pk=t.proskomma,this._tokens=[],this._container=null,this.cachedSequenceIds=[],this.sequences=null,this.currentCV={chapter:null,verses:null}}renderDocument1(t){var{docId:r,config:n,context:u,workspace:s,output:o}=t,a={config:n,context:u,workspace:s,output:o};u.renderer=this;var i=this.pk.gqlQuerySync(`{ + }`)),c=i.data.document.sequence.blocks[0];for(var l of c.bg)n.sequences[0].block={type:"graft",subType:$s(l.subType),blockN:o},n.sequences[0].block.target=l.payload,n.sequences[0].block.isNew=!1,this.renderEvent("blockGraft",t),o++;var p=c.bs.payload.split("/"),d=void 0;p[1]&&["tr","zrow"].includes(p[1])?d=p[1]==="tr"?"usfm:tr":"pk":p[1]?d="usfm:".concat(p[1]):d=p[0],n.sequences[0].block={type:["usfm:tr","pk"].includes(d)?"row":"paragraph",subType:d,blockN:o,wrappers:[]},d==="row"?this.renderEvent("startRow",t):this.renderEvent("startParagraph",t),this._tokens=[],this.renderContent(c.items,t),this._tokens=[],d==="row"?this.renderEvent("endRow",t):this.renderEvent("endParagraph",t),delete n.sequences[0].block,o++}this.renderEvent("endSequence",t),n.sequences.shift()}renderContent(t,r){for(var n of t)this.renderItem(n,r);this.maybeRenderText(r)}renderItem(t,r){if(t.type==="scope"&&t.payload.startsWith("attribute")){var n=t.payload.split("/");t.subType==="start"?(this._container||(this._container={direction:"start",subType:"usfm:w",type:"wrapper",atts:{}}),n[3]in this._container.atts?this._container.atts[n[3]].push(n[5]):this._container.atts[n[3]]=[n[5]]):this._container||(this._container={direction:"end",subType:"usfm:".concat($s(n[2]))},n[1]==="milestone"?this._container.type="end_milestone":(this._container.type="wrapper",this._container.atts={}))}else if(this._container&&(this.maybeRenderText(r),this.renderContainer(r)),t.type==="token")this._tokens.push(t.payload.replace(/\s+/g," "));else if(t.type==="graft"){this.maybeRenderText(r);var u={type:"graft",subType:$s(t.subType),target:t.payload,isNew:!1};r.context.sequences[0].element=u,this.renderEvent("inlineGraft",r),delete r.context.sequences[0].element}else{this.maybeRenderText(r);var s=t.payload.split("/");if(["chapter","verses","pubChapter","pubVerse","altChapter","altVerse"].includes(s[0])){if(t.subType==="start"){var o={type:"mark",subType:$s(s[0]),atts:{number:s[1]}};r.context.sequences[0].element=o,this.renderEvent("mark",r),delete r.context.sequences[0].element}}else if(s[0]==="span"){var a={type:"wrapper",subType:"usfm:".concat(s[1]),atts:{}};r.context.sequences[0].element=a,t.subType==="start"?(r.context.sequences[0].block.wrappers.unshift(a.subType),this.renderEvent("startWrapper",r)):(this.renderEvent("endWrapper",r),r.context.sequences[0].block.wrappers.shift()),delete r.context.sequences[0].element}else if(s[0]==="spanWithAtts")t.subType==="start"&&(this._container={direction:"start",type:"wrapper",subType:"usfm:".concat(s[1]),atts:{}});else if(s[0]==="cell"){var i={direction:"start",type:"wrapper",subType:s[0],atts:{role:s[1],alignment:s[2],nCols:parseInt(s[3])}};r.context.sequences[0].element=i,t.subType==="start"?(r.context.sequences[0].block.wrappers.unshift(i.subType),this.renderEvent("startWrapper",r)):(this.renderEvent("endWrapper",r),r.context.sequences[0].block.wrappers.shift()),delete r.context.sequences[0].element}else if(s[0]==="milestone"&&t.subType==="start")if(s[1]==="ts"){var c={type:"mark",subType:"usfm:".concat($s(s[1])),atts:{}};r.context.sequences[0].element=c,this.renderEvent("mark",r),delete r.context.sequences[0].element}else this._container={type:"start_milestone",subType:"usfm:".concat($s(s[1])),atts:{}}}}maybeRenderText(t){if(this._tokens.length!==0){var r={type:"text",text:this._tokens.join("")};t.context.sequences[0].element=r,this._tokens=[],this.renderEvent("text",t),delete t.context.sequences[0].element}}renderContainer(t){if(this._container.type==="wrapper"){var r=this._container.direction;delete this._container.direction,r==="start"?(t.context.sequences[0].element=this._container,t.context.sequences[0].block.wrappers.unshift(this._container.subType),this.renderEvent("startWrapper",t),delete t.context.sequences[0].element):(t.context.sequences[0].element=this._container,this.renderEvent("endWrapper",t),t.context.sequences[0].block.wrappers.shift(),delete t.context.sequences[0].element)}else this._container.type==="start_milestone"?(t.context.sequences[0].element=this._container,this.renderEvent("startMilestone",t),delete t.context.sequences[0].element):this._container.type==="end_milestone"&&(t.context.sequences[0].element=this._container,this.renderEvent("endMilestone",t),delete t.context.sequences[0].element);this._container=null}};var u2e=n2e,s2e=Ac;let o2e=class extends s2e{constructor(t){if(super(t),!t.srcJson)throw new Error("Must provide srcJson");this.srcJson=t.srcJson,this.cachedSequences=[]}renderDocument1(t){var{docId:r,config:n,context:u,workspace:s,output:o}=t,a={config:n,context:u,workspace:s,output:o};u.renderer=this,u.document={id:r,schema:this.srcJson.schema,metadata:this.srcJson.metadata},u.sequences=[],this.renderEvent("startDocument",a),this.renderSequence(a,this.srcJson.sequence),this.renderEvent("endDocument",a)}sequenceContext(t){return{type:t.type,nBlocks:t.blocks.length,milestones:new Set([])}}renderSequence(t,r){var n;if(r)n=r;else{if(this.cachedSequences.length===0)throw new Error("No sequence provided and no sequences cached");n=this.cachedSequences[0]}var u=t.context;u.sequences.unshift(n),this.renderEvent("startSequence",t);for(var[s,o]of n.blocks.entries())u.sequences[0].block={type:o.type,subType:o.subtype,blockN:s,wrappers:[]},o.type==="graft"?(u.sequences[0].block.sequence=this.sequenceContext(o.sequence),this.cachedSequences.unshift(o.sequence),this.renderEvent("blockGraft",t),this.cachedSequences.shift()):o.type==="row"?(t.workspace.inTable||(this.renderEvent("startTable",t),t.workspace.inTable=!0),this.renderEvent("startRow",t),this.renderContent(o.content,t),t.workspace.skipEndRow?t.workspace.skipEndRow=!1:this.renderEvent("endRow",t)):(t.workspace.inTable&&u.sequences[0].type.includes("main")&&(this.renderEvent("endTable",t),t.workspace.inTable=!1),this.renderEvent("startParagraph",t),this.renderContent(o.content,t),this.renderEvent("endParagraph",t)),delete u.sequences[0].block;t.workspace.inTable&&u.sequences[0].type.includes("main")&&(this.renderEvent("endTable",t),t.workspace.inTable=!1,t.workspace.tableHasContent=!1,t.workspace.skipEndRow=!1,t.workspace.changingChapter=!1),this.renderEvent("endSequence",t),this.cachedSequence=null,u.sequences.shift()}renderContent(t,r){for(var n of t)this.renderElement(n,r)}renderElement(t,r){var n=o=>{t.meta_content&&(o.metaContent=t.meta_content,this.renderEvent("metaContent",r))},u=r.context,s={type:t.type||"text"};if(t.subtype&&(s.subType=t.subtype),t.atts?s.atts=t.atts:s.type!=="end_milestone"&&s.type!=="meta_content"&&(s.atts={}),t.sequence&&(s.sequence=this.sequenceContext(t.sequence)),s.type==="text"&&(s.text=t),u.sequences[0].element=s,s.type==="text")r.workspace.inTable&&(r.workspace.tableHasContent=!0),this.renderEvent("text",r),n(s);else if(s.type==="mark")this.renderEvent("mark",r),n(s);else if(s.type==="start_milestone")this.renderEvent("startMilestone",r),n(s);else if(s.type==="end_milestone")this.renderEvent("endMilestone",r),n(s);else if(s.type==="graft")this.cachedSequences.unshift(t.sequence),this.renderEvent("inlineGraft",r),this.cachedSequences.shift(),n(s);else if(s.type==="wrapper")s.subType==="chapter"&&(r.workspace.chapterCurent?r.workspace.chapterCurent!=s.atts.number&&(r.workspace.changingChapter=!0):r.workspace.chapterCurent=s.atts.number),r.workspace.changingChapter&&r.workspace.inTable&&r.workspace.tableHasContent&&s.subType==="chapter"&&(this.renderEvent("endRow",r),this.renderEvent("endTable",r),r.workspace.inTable=!1,r.workspace.tableHasContent=!1,r.workspace.skipEndRow=!0,r.workspace.changingChapter=!1),u.sequences[0].block.wrappers.unshift(s.subType),this.renderEvent("startWrapper",r),this.renderContent(t.content,r),u.sequences[0].element=s,n(s),this.renderEvent("endWrapper",r),u.sequences[0].block.wrappers.shift();else throw new Error("Unexpected element type '".concat(s.type));delete u.sequences[0].element}};var a2e=o2e;function p8(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable})),r.push.apply(r,n)}return r}function d8(e){for(var t=1;t{var t=[];for(var r of e.split(""))r.toUpperCase()===r&&r.toLowerCase()!==r?t.push("_".concat(r.toLowerCase())):t.push(r);return t.join("")};let d2e=class extends p2e{constructor(t){if(super(t),!t.proskomma)throw new Error("No Proskomma");this.pk=t.proskomma,this._tokens=[],this._container=null,this.cachedSequenceIds=[],this.sequences=null,this.currentCV={chapter:null,verses:null}}renderDocument1(t){var{docId:r,config:n,context:u,workspace:s,output:o}=t,a={config:n,context:u,workspace:s,output:o};u.renderer=this;var i=this.pk.gqlQuerySync(`{ document(id: "`.concat(r,`") { docSetId mainSequence { id } @@ -4906,7 +4906,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho value } } - }`)),c=i.data.document.docSetId,l=i.data.document.mainSequence.id,p=i.data.document.nSequences;this.sequences={},a.nbBlock||(a.config.nbBlock=1e4);for(var d of i.data.document.sequences)this.sequences[d.id]=d;var f={};for(var h of i.data.document.headers)f[h.key]=h.value;var y=this.pk.gqlQuerySync('{docSet(id: "'.concat(c,'") {selectors {key value}}}')),A={};for(var m of y.data.docSet.selectors)A[m.key]=m.value;if(u.document={id:r,schema:{structure:"nested",structure_version:"0.2.1",constraints:[{name:"sofria",version:"0.2.1"}]},metadata:{translation:{id:c,selectors:A,properties:{},tags:[]},document:l8(l8({},f),{},{properties:{},tags:[]})},mainSequenceId:l,nSequences:p},n.chapters&&(s.chapters?s.chapters.length===0&&(s.chapters=n.chapters):s.chapters=n.chapters),s.chapters&&(u.document.metadata.document.properties.chapters=s.chapters[0]),u.sequences=[{}],n.displayPartOfText!=null&&!["begin","continue"].includes(n.displayPartOfText.state))throw new Error("state must be typeof string and one of ['begin','continue']");a.config.displayPartOfText!=null?a.config.displayPartOfText.state==="begin"&&this.renderEvent("startDocument",a):this.renderEvent("startDocument",a),this.cachedSequenceIds.unshift(l),this.renderSequence(a),this.cachedSequenceIds.shift(),this.renderEvent("endDocument",a)}sequenceContext(t,r){return{id:r,type:Ju(t.type),nBlocks:t.nBlocks,milestones:new Set([])}}renderSequence(t){var r=t.context,n=this.cachedSequenceIds[0],u=this.pk.gqlQuerySync('{document(id: "'.concat(r.document.id,'") {sequence(id:"').concat(n,'") {type} } }')).data.document.sequence.type,s={},o=null,a=null,i=[];u==="main"&&t.workspace.blockId&&(i=t.workspace.blockId);var c=0;if(u==="main"){if(t.workspace.chapters)for(;t.workspace.chapters.length!=0;){if(o=t.workspace.chapters.pop(),o&&(a=this.pk.gqlQuerySync('{document(id: "'.concat(r.document.id,'") {cIndex(chapter: ').concat(o,`) { + }`)),c=i.data.document.docSetId,l=i.data.document.mainSequence.id,p=i.data.document.nSequences;this.sequences={},a.nbBlock||(a.config.nbBlock=1e4);for(var d of i.data.document.sequences)this.sequences[d.id]=d;var f={};for(var h of i.data.document.headers)f[h.key]=h.value;var y=this.pk.gqlQuerySync('{docSet(id: "'.concat(c,'") {selectors {key value}}}')),A={};for(var m of y.data.docSet.selectors)A[m.key]=m.value;if(u.document={id:r,schema:{structure:"nested",structure_version:"0.2.1",constraints:[{name:"sofria",version:"0.2.1"}]},metadata:{translation:{id:c,selectors:A,properties:{},tags:[]},document:d8(d8({},f),{},{properties:{},tags:[]})},mainSequenceId:l,nSequences:p},n.chapters&&(s.chapters?s.chapters.length===0&&(s.chapters=n.chapters):s.chapters=n.chapters),s.chapters&&(u.document.metadata.document.properties.chapters=s.chapters[0]),u.sequences=[{}],n.displayPartOfText!=null&&!["begin","continue"].includes(n.displayPartOfText.state))throw new Error("state must be typeof string and one of ['begin','continue']");a.config.displayPartOfText!=null?a.config.displayPartOfText.state==="begin"&&this.renderEvent("startDocument",a):this.renderEvent("startDocument",a),this.cachedSequenceIds.unshift(l),this.renderSequence(a),this.cachedSequenceIds.shift(),this.renderEvent("endDocument",a)}sequenceContext(t,r){return{id:r,type:Ju(t.type),nBlocks:t.nBlocks,milestones:new Set([])}}renderSequence(t){var r=t.context,n=this.cachedSequenceIds[0],u=this.pk.gqlQuerySync('{document(id: "'.concat(r.document.id,'") {sequence(id:"').concat(n,'") {type} } }')).data.document.sequence.type,s={},o=null,a=null,i=[];u==="main"&&t.workspace.blockId&&(i=t.workspace.blockId);var c=0;if(u==="main"){if(t.workspace.chapters)for(;t.workspace.chapters.length!=0;){if(o=t.workspace.chapters.pop(),o&&(a=this.pk.gqlQuerySync('{document(id: "'.concat(r.document.id,'") {cIndex(chapter: ').concat(o,`) { startBlock endBlock }}}`))),o&&a)for(var l=a.data.document.cIndex.startBlock;lK-ee),t.nbBlock||(t.nbBlock=null),t.config.nbBlock||(t.config.nbBlock=i.length)}else for(var d=0;d0){var v=t.config.excludeScopeTypes.map(ee=>'"'.concat(ee,'"'));m=this.pk.gqlQuerySync(`{ @@ -4939,7 +4939,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho } } } - }`));var C=m.data.document.sequence.blocks[0];for(var B of C.bg)r.sequences[0].block={type:"graft",subType:Ju(B.subType),blockN:h,sequence:this.sequences[B.payload]},this.cachedSequenceIds.unshift(B.payload),this.renderEvent("blockGraft",t),this.cachedSequenceIds.shift(),h++;var T=C.bs.payload.split("/"),N=void 0;if(T[1]&&["tr","zrow"].includes(T[1])?N=T[1]==="tr"?"usfm:tr":"pk":T[1]?N="usfm:".concat(T[1]):N=T[0],r.sequences[0].block={type:["usfm:tr","pk"].includes(N)?"row":"paragraph",subType:N,blockN:h,wrappers:[]},r.sequences[0].block.type==="row"?(t.workspace.inTable||(this.renderEvent("startTable",t),t.workspace.inTable=!0),this.renderEvent("startRow",t)):(t.workspace.inTable&&r.sequences[0].type.includes("main")&&(this.renderEvent("endTable",t),t.workspace.tableHasContent=!1,t.workspace.inTable=!1,t.workspace.skipEndRow=!1),this.renderEvent("startParagraph",t)),this._tokens=[],u==="main"&&this.currentCV.chapter){var R={type:"wrapper",subType:"chapter",atts:{number:this.currentCV.chapter}};t.context.sequences[0].element=R,t.context.sequences[0].block.wrappers.unshift(R.subType),this.renderEvent("startWrapper",t)}if(u==="main"&&this.currentCV.verses){var J={type:"wrapper",subType:"verses",atts:{number:this.currentCV.verses}};t.context.sequences[0].element=J,t.context.sequences[0].block.wrappers.unshift(J.subType),this.renderEvent("startWrapper",t)}if(this.renderContent(C.items,t),this._tokens=[],u==="main"&&this.currentCV.verses){var q={type:"wrapper",subType:"verses",atts:{number:this.currentCV.verses}};t.context.sequences[0].element=q,t.context.sequences[0].block.wrappers.shift(),this.renderEvent("endWrapper",t)}if(u==="main"&&this.currentCV.chapter){var G={type:"wrapper",subType:"chapter",atts:{number:this.currentCV.chapter}};t.context.sequences[0].element=G,t.context.sequences[0].block.wrappers.shift(),this.renderEvent("endWrapper",t)}r.sequences[0].block.type==="row"&&!t.workspace.skipEndRow?this.renderEvent("endRow",t):t.workspace.skipEndRow&&r.sequences[0].block.type==="row"?t.workspace.skipEndRow=!1:this.renderEvent("endParagraph",t),delete r.sequences[0].block,h++}t.workspace.inTable&&r.sequences[0].type.includes("main")&&(this.renderEvent("endTable",t),t.workspace.tableHasContent=!1,t.workspace.inTable=!1,t.workspace.skipEndRow=!1),this.renderEvent("endSequence",t),u==="main"&&(t.workspace.blockId=i),r.sequences.shift()}renderContent(t,r){for(var n=0;n!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e;n.chapter=null,n.verses=null,n.matches=new Set([]),n.chunks=[],t.regex&&(n.regex=new RegExp(t.toSearch,t.regexFlags))}}],mark:[{description:"Update CV state",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e,s=r.sequences[0].element;s.subType==="chapter"?(m2(n,t),n.chapter=s.atts.number,n.chunks=[]):s.subType==="verses"&&(m2(n,t),n.verses=s.atts.number,n.chunks=[])}}],text:[{description:"Add matching verses to set",test:e=>{var{context:t,workspace:r}=e;return r.chapter&&r.verses},action:e=>{var{config:t,context:r,workspace:n,output:u}=e,s=r.sequences[0].element.text;n.chunks.push(s)}}],endDocument:[{description:"Sort matches",test:()=>!0,action:e=>{var t,r,n,{config:u,context:s,workspace:o,output:a}=e;a.bookCode=(s==null||(t=s.document)===null||t===void 0||(r=t.metadata)===null||r===void 0||(n=r.document)===null||n===void 0?void 0:n.bookCode)||"",a.searchTerms=Array.isArray(u.toSearch)?u.toSearch.join(" "):u.toSearch,a.options=[],u.ignoreCase&&a.options.push("ignoreCase"),u.andLogic&&a.options.push("andLogic"),u.orLogic&&a.options.push("orLogic"),u.partialMatch&&a.options.push("partialMatch"),u.regex&&a.options.push("regex"),m2(o,u),a.matches=Array.from(o.matches).sort((i,c)=>i.chapter*1e3+i.verses-(c.chapter*1e3+c.verses))}}]},R2e=function(t,r){var n={chapter:t.chapter,verses:t.verses,content:[]},u=r.toSearch,s=d8(d8({},r),{},{andLogic:!1}),o=t.chunks.join(""),a=G3.default.split(o,v_);for(var i of a)if(i){var c=g_(s,i,u,t);c?n.content.push({type:"wrapper",subtype:"x-search-match",content:[i]}):n.content.push(i)}t.matches.add(n)};function g_(e,t,r,n){if(e.regex)return n.regex.test(t);var u=Array.isArray(r);if(e.ignoreCase&&(t=t.toLowerCase(),u?r=r.map(l=>l.toLowerCase()):r=r.toLowerCase()),u||(r=[r]),!e.partialMatch){var s=G3.default.split(t,v_);t=s}var o=!0,a=!1;for(var i of r){var c=t.includes(i);c?a=!0:o=!1}return e.andLogic?o:a}var m2=function(t,r){if(t.chunks.length){var n=t.chunks.join(""),u=r.toSearch,s=g_(r,n,u,t);s&&R2e(t,r)}},j2e=function(t){var{perf:r,searchString:n,ignoreCase:u="1",logic:s="",regex:o="0",partialMatch:a="0"}=t,i=new k2e.PerfRenderFromJson({srcJson:r,actions:x2e}),c={},l=u.trim()==="1";s=s.trim().substring(0,1).toUpperCase();var p=s==="A",d=s==="O",f=a&&a.trim()==="1",h=o.trim()==="1",y=n.trim();if(!h&&(y.includes("?")||y.includes("*"))){var A=y.replaceAll("?","\\S{1}");A=A.replaceAll("*","\\S*"),f||(A="\\b"+A+"\\b"),y="/"+A+"/"}var m="";if(y.startsWith("/")&&y.includes("/",2)){h=!0;var v=y.split("/");y=v[1],m=v[2],l&&!m.includes("i")&&(m+="i")}else(p||d)&&y&&(y=y.split(" "));return i.renderDocument({docId:"",config:{toSearch:y,ignoreCase:l,andLogic:p,orLogic:d,partialMatch:f,regex:h,regexFlags:m},output:c}),{matches:c}},M2e={name:"wordSearch",type:"Transform",description:"PERF=>JSON: Searches for a word",inputs:[{name:"perf",type:"json",source:""},{name:"searchString",type:"text",source:""},{name:"ignoreCase",type:"text",source:""},{name:"regex",type:"text",source:""},{name:"logic",type:"text",source:""},{name:"partial",type:"text",source:""}],outputs:[{name:"matches",type:"json"}],code:j2e},L2e=M2e;Bd.default=L2e;Object.defineProperty(_d,"__esModule",{value:!0});_d.default=void 0;var U2e=G2e(Bd);function G2e(e){return e&&e.__esModule?e:{default:e}}var V2e={wordSearch:U2e.default};_d.default=V2e;var A_={exports:{}};(function(e,t){(function(r,n){e.exports=n(U3)})(Ce,function(r){const n=[{id:0,type:"Inputs",inputs:{perf:"json",params:"json"}},{id:4,title:"Transform 4",name:"verseWords",type:"Transform",transformName:"verseWords",inputs:[{name:"perf",type:"json",source:"Input perf"}],outputs:[{name:"verseWords",type:"json"}],description:"PERF=>JSON: Counts words occurrences"},{id:6,title:"Strip Alignment",name:"stripAlignment",type:"Transform",transformName:"stripAlignment",inputs:[{name:"perf",type:"json",source:"Input perf"},{name:"verseWords",type:"json",source:"Transform 4 verseWords"}],outputs:[{name:"perf",type:"json"},{name:"strippedAlignment",type:"json"},{name:"unalignedWords",type:"json"}],description:"PERF=>PERF: Strips alignment markup"},{id:9,title:"Merge stripped perf",name:"mergePerfText",type:"Transform",transformName:"mergePerfText",inputs:[{name:"perf",type:"json",source:"Transform 6 perf"}],outputs:[{name:"perf",type:"json"}],description:"PERF=>PERF: Merge consecutive text strings"},{id:20,title:"findAndReplace",name:"findAndReplace",type:"Transform",transformName:"findAndReplace",inputs:[{name:"perf",type:"json",source:"Transform 9 perf"},{name:"params",type:"json",source:"Input params"}],outputs:[{name:"perf",type:"json"},{name:"results",type:"json"}],description:"Search the given phrase or regex"},{id:12,title:"Count stripped perf words",name:"verseWords",transformName:"verseWords",type:"Transform",inputs:[{name:"perf",type:"json",source:"Transform 20 perf"}],outputs:[{name:"verseWords",type:"json"}],description:"PERF=>JSON: Counts words occurrences"},{id:13,title:"Merge Back Into Stripped (roundtrip)",name:"mergeAlignment",transformName:"mergeAlignment",type:"Transform",inputs:[{name:"perf",type:"json",source:"Transform 20 perf"},{name:"strippedAlignment",type:"json",source:"Transform 6 strippedAlignment"},{name:"verseWords",type:"json",source:"Transform 12 verseWords"}],outputs:[{name:"perf",type:"json"},{name:"unalignedWords",type:"json"}],description:"PERF=>PERF adds report to verses"},{id:17,title:"Merge Merged PERF Text",name:"mergePerfText",transformName:"mergePerfText",type:"Transform",inputs:[{name:"perf",type:"json",source:"Transform 13 perf"}],outputs:[{name:"perf",type:"json"}],description:"PERF=>PERF: Merge consecutive text strings"},{id:999,type:"Outputs",outputs:[{name:"perf",type:"json",source:"Transform 17 perf"},{name:"unalignedWords",type:"json",source:"Transform 13 unalignedWords"},{name:"results",type:"json",source:"Transform 20 results"}]}];function u(h){return(h instanceof RegExp?h.source:h).replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function s(h){if(h instanceof RegExp)return h;if(typeof h!="string")throw new Error("Arg `source` shoud be of type string or RegExp");const y=h.match(/\/(.+)\/(?=(\w*$))/);return y!=null&&y[1]?{source:y[1],flags:y[2]}:{source:h}}function o(h){return h.toUpperCase()===h&&h.toLowerCase()!==h}function a({source:h,target:y,replacement:A="",replacementKeys:m=[],metadata:v,config:{filterCtxMatch:C=K=>K,filterCtxReplacement:B=K=>K,buildResultKey:T,ctxLen:N=0,xregexp:R,isRegex:J=!1,isCaseMatched:q=!0,isWordMatched:G=!1,isCasePreserved:ee=!1}={}}){const K=["g"];q||K.push("i");const ue=typeof J=="boolean"?J:J==="true";!ue&&y instanceof RegExp&&console.warn("isRegex is set to false but target of type RegExp given.");const oe=R instanceof Function,de=oe?R:function(b,w=""){return new RegExp(b,w)},he=oe?"p{Letter}\\p{Number}":"\\w\\d",fe=oe?"\\p{Uppercase_Letter}":"[A-Z]";function ge({regexp:b,isWordMatched:w}){const{source:I,flags:$}=b;return de(w?`(^|[^${he}])(${I})(?=[^${he}]|$)`:`()(${I})`,$)}const pe=ue?s(y):{source:u(y),flags:null},z=pe.flags?[...new Set([...pe.flags,...K])]:K,O=de(pe.source,z.join("")),E=ge({regexp:O,isWordMatched:G});let F=0,D=0;const g=[],P=y!==""?h.replace(E,function(...b){const I=typeof b[b.length-1]=="object"?b.pop():void 0,$=b.pop(),M=b.pop(),L=b.shift(),Y=b.shift(),be=M+Y.length,Ne=b.shift(),Me=function(){if(typeof A=="function")return A({index:D,match:Ne,groups:b,position:be,source:$,namedGroups:I});if(typeof A=="string")return A;throw new Error("Replacement param should be of type string or function.")}(),qe=((_,x)=>ee?o(_)?x.toUpperCase():new RegExp(de(fe)).test(_[0])?x[0].toUpperCase()+x.slice(1):x:x)(Ne,Ne.replace(O,Me)),Pe=T?T(D):D;if(D++,m==="all"||m.includes(Pe))return Y+qe;const Be=$.slice(be-N,be),le=$.slice(be+Ne.length,be+Ne.length+N),Te=$.slice(0,be),W=$.slice(be+Ne.length,-1),se=C?C(Ne):Ne,ce=B?B(qe):qe,k=T?T(F):F,S={match:se,replacement:ce,context:{before:Be,after:le},extContext:{before:Te,after:W},resultKey:k,metadata:{source:$,match:Ne,searchIndex:F,position:be,groups:b,namedGroups:I,...v}};return g.push(S),F++,L}):h;return{results:g,replaced:P}}const i={startDocument:[{description:"setup",test:()=>!0,action:h=>{const{workspace:y,output:A,context:m}=h;return y.bookCode=m.document.metadata.document.bookCode,y.chapter=null,y.verses=null,A.results=[],!0}}],text:[{description:"add-to-text",test:()=>!0,action:({config:h,context:y,workspace:A,output:m})=>{try{const{target:v,replacement:C,replacementKeys:B=[],config:T={}}=h,N=y.sequences[0].element.text,{chapter:R,verses:J,bookCode:q}=A,{results:G,replaced:ee}=a({source:N,target:v,replacement:C,replacementKeys:B,metadata:{chapter:R,verses:J,bookCode:q},config:{buildResultKey:K=>`${K}-${q}-${R}-${J}`,...T}});return m.results.push(...G),A.outputContentStack[0].push(ee),!J}catch(v){throw console.error(v),v}}}],mark:[{description:"mark-chapters",test:({context:h})=>h.sequences[0].element.subType==="chapter",action:({context:h,workspace:y})=>{const A=h.sequences[0].element;return y.chapter=A.atts.number,y.verses=0,!0}},{description:"mark-verses",test:({context:h})=>h.sequences[0].element.subType==="verses",action:({context:h,workspace:y})=>{const A=h.sequences[0].element;return y.verses=A.atts.number,!0}}]};return Object.freeze(Object.defineProperty({__proto__:null,pipelines:{findAndReplace:n},transforms:{findAndReplace:{name:"findAndReplace",type:"Transform",description:"Search and replace text in stripped perf",inputs:[{name:"perf",type:"json",source:""},{name:"params",type:"json",source:""}],outputs:[{name:"results",type:"json"}],code:function({perf:h,params:y}){const A=new r.PerfRenderFromJson({srcJson:h,actions:r.mergeActions([i,r.render.perfToPerf.renderActions.identityActions])}),m={};return A.renderDocument({docId:"",config:{...y},output:m}),{perf:m.perf,results:m.results}}}}},Symbol.toStringTag,{value:"Module"}))})})(A_);var H2e=A_.exports,W2e=J2e;function ca(e){return e instanceof Buffer?Buffer.from(e):new e.constructor(e.buffer.slice(),e.byteOffset,e.length)}function J2e(e){if(e=e||{},e.circles)return z2e(e);const t=new Map;if(t.set(Date,o=>new Date(o)),t.set(Map,(o,a)=>new Map(n(Array.from(o),a))),t.set(Set,(o,a)=>new Set(n(Array.from(o),a))),e.constructorHandlers)for(const o of e.constructorHandlers)t.set(o[0],o[1]);let r=null;return e.proto?s:u;function n(o,a){const i=Object.keys(o),c=new Array(i.length);for(let l=0;lnew Date(i)),n.set(Map,(i,c)=>new Map(s(Array.from(i),c))),n.set(Set,(i,c)=>new Set(s(Array.from(i),c))),e.constructorHandlers)for(const i of e.constructorHandlers)n.set(i[0],i[1]);let u=null;return e.proto?a:o;function s(i,c){const l=Object.keys(i),p=new Array(l.length);for(let d=0;d!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e;n.chapter=null,n.verses=null,n.matches=new Set([]),n.chunks=[],t.regex&&(n.regex=new RegExp(t.toSearch,t.regexFlags))}}],mark:[{description:"Update CV state",test:()=>!0,action:e=>{var{config:t,context:r,workspace:n,output:u}=e,s=r.sequences[0].element;s.subType==="chapter"?(E2(n,t),n.chapter=s.atts.number,n.chunks=[]):s.subType==="verses"&&(E2(n,t),n.verses=s.atts.number,n.chunks=[])}}],text:[{description:"Add matching verses to set",test:e=>{var{context:t,workspace:r}=e;return r.chapter&&r.verses},action:e=>{var{config:t,context:r,workspace:n,output:u}=e,s=r.sequences[0].element.text;n.chunks.push(s)}}],endDocument:[{description:"Sort matches",test:()=>!0,action:e=>{var t,r,n,{config:u,context:s,workspace:o,output:a}=e;a.bookCode=(s==null||(t=s.document)===null||t===void 0||(r=t.metadata)===null||r===void 0||(n=r.document)===null||n===void 0?void 0:n.bookCode)||"",a.searchTerms=Array.isArray(u.toSearch)?u.toSearch.join(" "):u.toSearch,a.options=[],u.ignoreCase&&a.options.push("ignoreCase"),u.andLogic&&a.options.push("andLogic"),u.orLogic&&a.options.push("orLogic"),u.partialMatch&&a.options.push("partialMatch"),u.regex&&a.options.push("regex"),E2(o,u),a.matches=Array.from(o.matches).sort((i,c)=>i.chapter*1e3+i.verses-(c.chapter*1e3+c.verses))}}]},j2e=function(t,r){var n={chapter:t.chapter,verses:t.verses,content:[]},u=r.toSearch,s=D8(D8({},r),{},{andLogic:!1}),o=t.chunks.join(""),a=V3.default.split(o,A_);for(var i of a)if(i){var c=F_(s,i,u,t);c?n.content.push({type:"wrapper",subtype:"x-search-match",content:[i]}):n.content.push(i)}t.matches.add(n)};function F_(e,t,r,n){if(e.regex)return n.regex.test(t);var u=Array.isArray(r);if(e.ignoreCase&&(t=t.toLowerCase(),u?r=r.map(l=>l.toLowerCase()):r=r.toLowerCase()),u||(r=[r]),!e.partialMatch){var s=V3.default.split(t,A_);t=s}var o=!0,a=!1;for(var i of r){var c=t.includes(i);c?a=!0:o=!1}return e.andLogic?o:a}var E2=function(t,r){if(t.chunks.length){var n=t.chunks.join(""),u=r.toSearch,s=F_(r,n,u,t);s&&j2e(t,r)}},M2e=function(t){var{perf:r,searchString:n,ignoreCase:u="1",logic:s="",regex:o="0",partialMatch:a="0"}=t,i=new O2e.PerfRenderFromJson({srcJson:r,actions:R2e}),c={},l=u.trim()==="1";s=s.trim().substring(0,1).toUpperCase();var p=s==="A",d=s==="O",f=a&&a.trim()==="1",h=o.trim()==="1",y=n.trim();if(!h&&(y.includes("?")||y.includes("*"))){var A=y.replaceAll("?","\\S{1}");A=A.replaceAll("*","\\S*"),f||(A="\\b"+A+"\\b"),y="/"+A+"/"}var m="";if(y.startsWith("/")&&y.includes("/",2)){h=!0;var v=y.split("/");y=v[1],m=v[2],l&&!m.includes("i")&&(m+="i")}else(p||d)&&y&&(y=y.split(" "));return i.renderDocument({docId:"",config:{toSearch:y,ignoreCase:l,andLogic:p,orLogic:d,partialMatch:f,regex:h,regexFlags:m},output:c}),{matches:c}},L2e={name:"wordSearch",type:"Transform",description:"PERF=>JSON: Searches for a word",inputs:[{name:"perf",type:"json",source:""},{name:"searchString",type:"text",source:""},{name:"ignoreCase",type:"text",source:""},{name:"regex",type:"text",source:""},{name:"logic",type:"text",source:""},{name:"partial",type:"text",source:""}],outputs:[{name:"matches",type:"json"}],code:M2e},U2e=L2e;Bd.default=U2e;Object.defineProperty(_d,"__esModule",{value:!0});_d.default=void 0;var G2e=V2e(Bd);function V2e(e){return e&&e.__esModule?e:{default:e}}var H2e={wordSearch:G2e.default};_d.default=H2e;var C_={exports:{}};(function(e,t){(function(r,n){e.exports=n(G3)})(Ce,function(r){const n=[{id:0,type:"Inputs",inputs:{perf:"json",params:"json"}},{id:4,title:"Transform 4",name:"verseWords",type:"Transform",transformName:"verseWords",inputs:[{name:"perf",type:"json",source:"Input perf"}],outputs:[{name:"verseWords",type:"json"}],description:"PERF=>JSON: Counts words occurrences"},{id:6,title:"Strip Alignment",name:"stripAlignment",type:"Transform",transformName:"stripAlignment",inputs:[{name:"perf",type:"json",source:"Input perf"},{name:"verseWords",type:"json",source:"Transform 4 verseWords"}],outputs:[{name:"perf",type:"json"},{name:"strippedAlignment",type:"json"},{name:"unalignedWords",type:"json"}],description:"PERF=>PERF: Strips alignment markup"},{id:9,title:"Merge stripped perf",name:"mergePerfText",type:"Transform",transformName:"mergePerfText",inputs:[{name:"perf",type:"json",source:"Transform 6 perf"}],outputs:[{name:"perf",type:"json"}],description:"PERF=>PERF: Merge consecutive text strings"},{id:20,title:"findAndReplace",name:"findAndReplace",type:"Transform",transformName:"findAndReplace",inputs:[{name:"perf",type:"json",source:"Transform 9 perf"},{name:"params",type:"json",source:"Input params"}],outputs:[{name:"perf",type:"json"},{name:"results",type:"json"}],description:"Search the given phrase or regex"},{id:12,title:"Count stripped perf words",name:"verseWords",transformName:"verseWords",type:"Transform",inputs:[{name:"perf",type:"json",source:"Transform 20 perf"}],outputs:[{name:"verseWords",type:"json"}],description:"PERF=>JSON: Counts words occurrences"},{id:13,title:"Merge Back Into Stripped (roundtrip)",name:"mergeAlignment",transformName:"mergeAlignment",type:"Transform",inputs:[{name:"perf",type:"json",source:"Transform 20 perf"},{name:"strippedAlignment",type:"json",source:"Transform 6 strippedAlignment"},{name:"verseWords",type:"json",source:"Transform 12 verseWords"}],outputs:[{name:"perf",type:"json"},{name:"unalignedWords",type:"json"}],description:"PERF=>PERF adds report to verses"},{id:17,title:"Merge Merged PERF Text",name:"mergePerfText",transformName:"mergePerfText",type:"Transform",inputs:[{name:"perf",type:"json",source:"Transform 13 perf"}],outputs:[{name:"perf",type:"json"}],description:"PERF=>PERF: Merge consecutive text strings"},{id:999,type:"Outputs",outputs:[{name:"perf",type:"json",source:"Transform 17 perf"},{name:"unalignedWords",type:"json",source:"Transform 13 unalignedWords"},{name:"results",type:"json",source:"Transform 20 results"}]}];function u(h){return(h instanceof RegExp?h.source:h).replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function s(h){if(h instanceof RegExp)return h;if(typeof h!="string")throw new Error("Arg `source` shoud be of type string or RegExp");const y=h.match(/\/(.+)\/(?=(\w*$))/);return y!=null&&y[1]?{source:y[1],flags:y[2]}:{source:h}}function o(h){return h.toUpperCase()===h&&h.toLowerCase()!==h}function a({source:h,target:y,replacement:A="",replacementKeys:m=[],metadata:v,config:{filterCtxMatch:C=K=>K,filterCtxReplacement:B=K=>K,buildResultKey:T,ctxLen:N=0,xregexp:R,isRegex:J=!1,isCaseMatched:q=!0,isWordMatched:G=!1,isCasePreserved:ee=!1}={}}){const K=["g"];q||K.push("i");const ue=typeof J=="boolean"?J:J==="true";!ue&&y instanceof RegExp&&console.warn("isRegex is set to false but target of type RegExp given.");const oe=R instanceof Function,de=oe?R:function(b,w=""){return new RegExp(b,w)},he=oe?"p{Letter}\\p{Number}":"\\w\\d",fe=oe?"\\p{Uppercase_Letter}":"[A-Z]";function ge({regexp:b,isWordMatched:w}){const{source:I,flags:$}=b;return de(w?`(^|[^${he}])(${I})(?=[^${he}]|$)`:`()(${I})`,$)}const pe=ue?s(y):{source:u(y),flags:null},z=pe.flags?[...new Set([...pe.flags,...K])]:K,O=de(pe.source,z.join("")),E=ge({regexp:O,isWordMatched:G});let F=0,D=0;const g=[],P=y!==""?h.replace(E,function(...b){const I=typeof b[b.length-1]=="object"?b.pop():void 0,$=b.pop(),M=b.pop(),L=b.shift(),Y=b.shift(),be=M+Y.length,Ne=b.shift(),Me=function(){if(typeof A=="function")return A({index:D,match:Ne,groups:b,position:be,source:$,namedGroups:I});if(typeof A=="string")return A;throw new Error("Replacement param should be of type string or function.")}(),qe=((_,x)=>ee?o(_)?x.toUpperCase():new RegExp(de(fe)).test(_[0])?x[0].toUpperCase()+x.slice(1):x:x)(Ne,Ne.replace(O,Me)),Pe=T?T(D):D;if(D++,m==="all"||m.includes(Pe))return Y+qe;const Be=$.slice(be-N,be),le=$.slice(be+Ne.length,be+Ne.length+N),Te=$.slice(0,be),W=$.slice(be+Ne.length,-1),se=C?C(Ne):Ne,ce=B?B(qe):qe,k=T?T(F):F,S={match:se,replacement:ce,context:{before:Be,after:le},extContext:{before:Te,after:W},resultKey:k,metadata:{source:$,match:Ne,searchIndex:F,position:be,groups:b,namedGroups:I,...v}};return g.push(S),F++,L}):h;return{results:g,replaced:P}}const i={startDocument:[{description:"setup",test:()=>!0,action:h=>{const{workspace:y,output:A,context:m}=h;return y.bookCode=m.document.metadata.document.bookCode,y.chapter=null,y.verses=null,A.results=[],!0}}],text:[{description:"add-to-text",test:()=>!0,action:({config:h,context:y,workspace:A,output:m})=>{try{const{target:v,replacement:C,replacementKeys:B=[],config:T={}}=h,N=y.sequences[0].element.text,{chapter:R,verses:J,bookCode:q}=A,{results:G,replaced:ee}=a({source:N,target:v,replacement:C,replacementKeys:B,metadata:{chapter:R,verses:J,bookCode:q},config:{buildResultKey:K=>`${K}-${q}-${R}-${J}`,...T}});return m.results.push(...G),A.outputContentStack[0].push(ee),!J}catch(v){throw console.error(v),v}}}],mark:[{description:"mark-chapters",test:({context:h})=>h.sequences[0].element.subType==="chapter",action:({context:h,workspace:y})=>{const A=h.sequences[0].element;return y.chapter=A.atts.number,y.verses=0,!0}},{description:"mark-verses",test:({context:h})=>h.sequences[0].element.subType==="verses",action:({context:h,workspace:y})=>{const A=h.sequences[0].element;return y.verses=A.atts.number,!0}}]};return Object.freeze(Object.defineProperty({__proto__:null,pipelines:{findAndReplace:n},transforms:{findAndReplace:{name:"findAndReplace",type:"Transform",description:"Search and replace text in stripped perf",inputs:[{name:"perf",type:"json",source:""},{name:"params",type:"json",source:""}],outputs:[{name:"results",type:"json"}],code:function({perf:h,params:y}){const A=new r.PerfRenderFromJson({srcJson:h,actions:r.mergeActions([i,r.render.perfToPerf.renderActions.identityActions])}),m={};return A.renderDocument({docId:"",config:{...y},output:m}),{perf:m.perf,results:m.results}}}}},Symbol.toStringTag,{value:"Module"}))})})(C_);var W2e=C_.exports,J2e=z2e;function ca(e){return e instanceof Buffer?Buffer.from(e):new e.constructor(e.buffer.slice(),e.byteOffset,e.length)}function z2e(e){if(e=e||{},e.circles)return K2e(e);const t=new Map;if(t.set(Date,o=>new Date(o)),t.set(Map,(o,a)=>new Map(n(Array.from(o),a))),t.set(Set,(o,a)=>new Set(n(Array.from(o),a))),e.constructorHandlers)for(const o of e.constructorHandlers)t.set(o[0],o[1]);let r=null;return e.proto?s:u;function n(o,a){const i=Object.keys(o),c=new Array(i.length);for(let l=0;lnew Date(i)),n.set(Map,(i,c)=>new Map(s(Array.from(i),c))),n.set(Set,(i,c)=>new Set(s(Array.from(i),c))),e.constructorHandlers)for(const i of e.constructorHandlers)n.set(i[0],i[1]);let u=null;return e.proto?a:o;function s(i,c){const l=Object.keys(i),p=new Array(l.length);for(let d=0;d ** @@ -4961,14 +4961,14 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE ** SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*/(function(e){(function(t,r,n){e.exports=n(t),e.exports.default=e.exports})(Ce,"UUID",function(){var t=function(E,F,D,g,P,b){for(var w=function($,M){var L=$.toString(16);return L.length<2&&(L="0"+L),M&&(L=L.toUpperCase()),L},I=F;I<=D;I++)P[b++]=w(E[I],g);return P},r=function(E,F,D,g,P){for(var b=F;b<=D;b+=2)g[P++]=parseInt(E.substr(b,2),16)},n="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-:+=^!/*?&<>()[]{}@%$#".split(""),u=[0,68,0,84,83,82,72,0,75,76,70,65,0,63,62,69,0,1,2,3,4,5,6,7,8,9,64,0,73,66,74,71,81,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,77,0,78,67,0,0,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,79,0,80,0,0],s=function(E,F){for(var D="",g=0,P=0;g=1;){var w=Math.floor(P/b)%85;D+=n[w],b/=85}P=0}return D},o=function(E,F){var D=E.length;if(D%5!==0)throw new Error("z85_decode: invalid input length (multiple of 5 expected)");typeof F>"u"&&(F=new Array(D*4/5));for(var g=0,P=0,b=0;g=u.length)break;if(b=b*85+u[w],g%5===0){for(var I=16777216;I>=1;)F[P++]=Math.trunc(b/I%256),I/=256;b=0}}return F},a=function(E,F){var D={ibits:8,obits:8,obigendian:!0};for(var g in F)typeof D[g]<"u"&&(D[g]=F[g]);for(var P=[],b=0,w,I,$=0,M,L=0,Y=E.length;$===0&&(I=E.charCodeAt(b++)),w=I>>D.ibits-($+8)&255,$=($+8)%D.ibits,D.obigendian?L===0?M=w<=Y)););return P},i=function(E,F){var D={ibits:32,ibigendian:!0};for(var g in F)typeof D[g]<"u"&&(D[g]=F[g]);var P="",b=4294967295;D.ibits<32&&(b=(1<>D.ibits-8-M&255):P+=String.fromCharCode($>>M&255);return P},c=8,l=8,p=256,d=function(E,F,D,g,P,b,w,I){return[I,w,b,P,g,D,F,E]},f=function(){return d(0,0,0,0,0,0,0,0)},h=function(E){return E.slice(0)},y=function(E){for(var F=f(),D=0;D=0;D--)F*=p,F+=E[D];return Math.floor(F)},m=function(E,F){for(var D=0,g=0;g=0;b--)D[b+1]=D[b];for(D[0]=E[0],b=0;bc*l)throw new Error("ui64_ror: invalid number of bits to shift");var D=new Array(c+c),g;for(g=0;g>>b|D[g+1]<>>b&(1<c*l)throw new Error("ui64_rol: invalid number of bits to shift");var D=new Array(c+c),g;for(g=0;g0;g--)D[g+P]=(D[g]<>>l-b)&(1<=0;g--)D[g]=0;for(g=0;g>16)+(F>>16)+(D>>16);return g<<16|D&65535},ee=function(E,F){return E<>>32-F&4294967295},K=function(E,F){function D(Pe,Be,le,Te){return Pe<20?Be&le|~Be&Te:Pe<40?Be^le^Te:Pe<60?Be&le|Be&Te|le&Te:Be^le^Te}function g(Pe){return Pe<20?1518500249:Pe<40?1859775393:Pe<60?-1894007588:-899497514}E[F>>5]|=128<<24-F%32,E[(F+64>>9<<4)+15]=F;for(var P=Array(80),b=1732584193,w=-271733879,I=-1732584194,$=271733878,M=-1009589776,L=0;L>5]|=128<>>9<<4)+14]=F;for(var I=1732584193,$=-271733879,M=-1732584194,L=271733878,Y=0;Y>>0):typeof window=="object"&&typeof window.crypto=="object"&&typeof window.crypto.getRandomValues=="function"?(F=new Uint32Array(2),window.crypto.getRandomValues(F),E=T(y(F[0]>>>0),R(y(F[1]>>>0),32))):typeof globalThis=="object"&&typeof globalThis.crypto=="object"&&typeof globalThis.crypto.getRandomValues=="function"?(F=new Uint32Array(2),globalThis.crypto.getRandomValues(F),E=T(y(F[0]>>>0),R(y(F[1]>>>0),32))):(E=y(Math.random()*4294967295>>>0),T(E,R(y(new Date().getTime()),32))),T(this.state,E),this.next()};he.prototype.next=function(){var E=h(this.state);C(this.state,this.mul),m(this.state,this.inc);var F=h(E);R(F,18),q(F,E),R(F,27);var D=h(E);R(D,59),B(F,this.mask);var g=A(D),P=h(F);return J(P,32-g),R(F,g),q(F,P),A(F)},he.prototype.reseed=function(E){if(typeof E!="string")throw new Error("UUID: PCG: seed: invalid argument (string expected)");for(var F=K(a(E,{ibits:8,obits:32,obigendian:!0}),E.length*8),D=0;D>>0))};var fe=new he;he.reseed=function(E){fe.reseed(E)};var ge=function(E,F){for(var D=[],g=0;g=1&&typeof arguments[0]=="number")this.make.apply(this,arguments);else{if(arguments.length>=1)throw new Error("UUID: constructor: invalid arguments");for(var E=0;E<16;E++)this[E]=0}};return typeof Uint8Array<"u"?O.prototype=new Uint8Array(16):Buffer?O.prototype=Buffer.alloc(16):O.prototype=new Array(16),O.prototype.constructor=O,O.prototype.make=function(E){var F,D=this;if(E===1){var g=new Date,P=g.getTime();P!==pe?z=0:z++,pe=P;var b=y(P);v(b,1e3*10),m(b,d(1,178,29,210,19,129,64,0)),z>0&&m(b,y(z));var w;w=N(b,8),D[3]=w&255,w=N(b,8),D[2]=w&255,w=N(b,8),D[1]=w&255,w=N(b,8),D[0]=w&255,w=N(b,8),D[5]=w&255,w=N(b,8),D[4]=w&255,w=N(b,8),D[7]=w&255,w=N(b,8),D[6]=w&15;var I=ge(2,255);D[8]=I[0],D[9]=I[1];var $=ge(6,255);for($[0]|=1,$[0]|=2,F=0;F<6;F++)D[10+F]=$[F]}else if(E===4){var M=ge(16,255);for(F=0;F<16;F++)this[F]=M[F]}else if(E===3||E===5){var L="",Y=typeof arguments[1]=="object"&&arguments[1]instanceof O?arguments[1]:new O().parse(arguments[1]);for(F=0;F<16;F++)L+=String.fromCharCode(Y[F]);L+=arguments[2];var be=E===3?de(L):ue(L);for(F=0;F<16;F++)D[F]=be.charCodeAt(F)}else throw new Error("UUID: make: invalid version");return D[6]&=15,D[6]|=E<<4,D[8]&=63,D[8]|=128,D},O.prototype.format=function(E){var F,D;return E==="z85"?F=s(this,16):E==="b16"?(D=Array(32),t(this,0,15,!0,D,0),F=D.join("")):(E===void 0||E==="std")&&(D=new Array(36),t(this,0,3,!1,D,0),D[8]="-",t(this,4,5,!1,D,9),D[13]="-",t(this,6,7,!1,D,14),D[18]="-",t(this,8,9,!1,D,19),D[23]="-",t(this,10,15,!1,D,24),F=D.join("")),F},O.prototype.toString=function(E){return this.format(E)},O.prototype.toJSON=function(){return this.format("std")},O.prototype.parse=function(E,F){if(typeof E!="string")throw new Error("UUID: parse: invalid argument (type string expected)");if(F==="z85")o(E,this);else if(F==="b16")r(E,0,35,this,0);else if(F===void 0||F==="std"){var D={nil:"00000000-0000-0000-0000-000000000000","ns:DNS":"6ba7b810-9dad-11d1-80b4-00c04fd430c8","ns:URL":"6ba7b811-9dad-11d1-80b4-00c04fd430c8","ns:OID":"6ba7b812-9dad-11d1-80b4-00c04fd430c8","ns:X500":"6ba7b814-9dad-11d1-80b4-00c04fd430c8"};if(D[E]!==void 0)E=D[E];else if(!E.match(/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/))throw new Error('UUID: parse: invalid string representation (expected "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")');r(E,0,7,this,0),r(E,9,12,this,4),r(E,14,17,this,6),r(E,19,22,this,8),r(E,24,35,this,10)}return this},O.prototype.export=function(){for(var E=Array(16),F=0;F<16;F++)E[F]=this[F];return E},O.prototype.import=function(E){if(!(typeof E=="object"&&E instanceof Array))throw new Error("UUID: import: invalid argument (type Array expected)");if(E.length!==16)throw new Error("UUID: import: invalid argument (Array of length 16 expected)");for(var F=0;F<16;F++){if(typeof E[F]!="number")throw new Error("UUID: import: invalid array element #"+F+" (type Number expected)");if(!(isFinite(E[F])&&Math.floor(E[F])===E[F]))throw new Error("UUID: import: invalid array element #"+F+" (Number with integer value expected)");if(!(E[F]>=0&&E[F]<=255))throw new Error("UUID: import: invalid array element #"+F+" (Number with integer value in range 0...255 expected)");this[F]=E[F]}return this},O.prototype.compare=function(E){if(typeof E!="object")throw new Error("UUID: compare: invalid argument (type UUID expected)");if(!(E instanceof O))throw new Error("UUID: compare: invalid argument (type UUID expected)");for(var F=0;F<16;F++){if(this[F]E[F])return 1}return 0},O.prototype.equal=function(E){return this.compare(E)===0},O.prototype.fold=function(E){if(typeof E>"u")throw new Error("UUID: fold: invalid argument (number of fold operations expected)");if(E<1||E>4)throw new Error("UUID: fold: invalid argument (1-4 fold operations expected)");for(var F=16/Math.pow(2,E),D=new Array(F),g=0;g>(-2*A&6)));return C},p=function(h){h=String(h),/[^\0-\xFF]/.test(h)&&a("The string to be encoded contains characters outside of the Latin1 range.");for(var y=h.length%3,A="",m=-1,v,C,B,T,N=h.length-y;++m>18&63)+i.charAt(T>>12&63)+i.charAt(T>>6&63)+i.charAt(T&63);return y==2?(v=h.charCodeAt(m)<<8,C=h.charCodeAt(++m),T=v+C,A+=i.charAt(T>>10)+i.charAt(T>>4&63)+i.charAt(T<<2&63)+"="):y==1&&(T=h.charCodeAt(m),A+=i.charAt(T>>2)+i.charAt(T<<4&63)+"=="),A},d={encode:p,decode:l,version:"1.0.0"};if(n&&!n.nodeType)if(u)u.exports=d;else for(var f in d)d.hasOwnProperty(f)&&(n[f]=d[f]);else r.base64=d})(Ce)})(Tp,Tp.exports);var H3=Tp.exports;Object.defineProperty(kr,"__esModule",{value:!0});kr.validateParams=kr.removeAttribute=kr.getPathValue=kr.generateId=kr.findObject=kr.findNewGraft=void 0;var X2e=C_(V3),Y2e=C_(H3);function C_(e){return e&&e.__esModule?e:{default:e}}var Z2e=(e,t,r)=>{var n=new Set(e),u=Object.keys(t).filter(s=>!n.has(s));if(u.length>0)throw new Error("".concat(r,". Expected one of: [").concat([...n].join(", "),"], But got: [").concat(u.join(", "),"]"))};kr.validateParams=Z2e;var Q2e=(e,t)=>{var r,n,u;if(typeof e!="object"||e===null)return e;r=Array.isArray(e)?[]:{};for(u in e)u==t&&Object.keys(e[u]).length===0||(n=e[u],r[u]=removeAtts(n));return r};kr.removeAttribute=Q2e;var ehe=e=>{var{object:t,path:r}=e;return r.split("/").reduce((n,u)=>(n=n[u],n),t)};kr.getPathValue=ehe;var the=()=>Y2e.default.encode(new X2e.default(4)).substring(0,12);kr.generateId=the;var rhe=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,u=[],s=function o(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};!a||typeof a!="object"||(a[r]===n&&u.push(a),Object.keys(a).forEach(function(i){o(a[i])}))};return s(t),u};kr.findObject=rhe;var nhe=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0,n=[],u=function s(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};!o||typeof o!="object"||(o.type==="graft"&&o.new&&(n.push(o),r(o)),o.blocks&&o.blocks.forEach(function(a){s(a)}),o.content&&o.content.forEach(function(a){s(a)}))};return u(t),n};kr.findNewGraft=nhe;Object.defineProperty(od,"__esModule",{value:!0});od.default=void 0;var E2=U3,Fl=Td(Sd),Cl=Td(_d),f8=Td(H2e),y2=Td(K2e),du=kr,uhe=["proskomma","docSetId","options"],she=["hs"],ohe=["perf"],ahe=["writePipeline","cloning","insertSequences"],ihe=["sequences"];function Td(e){return e&&e.__esModule?e:{default:e}}function D8(e,t,r,n,u,s,o){try{var a=e[s](o),i=a.value}catch(c){r(c);return}a.done?t(i):Promise.resolve(i).then(n,u)}function En(e){return function(){var t=this,r=arguments;return new Promise(function(n,u){var s=e.apply(t,r);function o(i){D8(s,n,u,o,a,"next",i)}function a(i){D8(s,n,u,o,a,"throw",i)}o(void 0)})}}function h8(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable})),r.push.apply(r,n)}return r}function Lt(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function dhe(e,t){if(e==null)return{};var r={},n=Object.keys(e),u,s;for(s=0;s=0)&&(r[u]=e[u]);return r}var bl={WRITE_PERF:"writePerf",READ_PERF:"readPerf",LOAD_PERF:"loadPerf",UNDO_PERF:"undoPerf",REDO_PERF:"redoPerf"};class fhe{constructor(t){var{proskomma:r=null,docSetId:n,options:u={}}=t,s=Za(t,uhe);if((0,du.validateParams)(["proskomma","docSetId","options"],s,"Unexpected arg in constructor"),(0,du.validateParams)(["historySize","pipelines","transforms"],u,"Unexpected option in constructor"),!n)throw new Error("docSetId is required");this._observers=[];var o='{ docSet(id: "'.concat(n,'") { id } }'),{data:a}=(r==null?void 0:r.gqlQuerySync(o))||{};if(r&&!(a!=null&&a.docSet))throw new Error("Provided docSetId is not present in the Proskomma instance.");var{hs:i}=u,c=Za(u,she),l=i?i+1:11;this.options=Lt({historySize:l},c),this.proskomma=r,this.pipelineHandler=new E2.PipelineHandler({pipelines:Fl.default||u.pipelines?Lt(Lt(Lt({},Fl.default),u.pipelines),f8.default.pipelines):null,transforms:Cl.default||u.transforms?Lt(Lt(Lt({},Cl.default),u.transforms),f8.default.transforms):null,proskomma:r}),this.docSetId=n,this.saved={},this.history={},this.validator=new E2.Validator,this.backend=r?"proskomma":"standalone"}unobserve(t){this._observers=this._observers.filter(r=>r!==t)}observe(t){return this._observers.push(t),()=>this.unobserve(t)}notifyObservers(){for(var t=arguments.length,r=new Array(t),n=0;n{u(...r)})}instanciatePipelineHandler(t){var{pipelines:r,transforms:n}=t;new E2.PipelineHandler({pipelines:Fl.default||r?Lt(Lt({},Fl.default),r):null,transforms:Cl.default||n?Lt(Lt({},Cl.default),n):null})}getBookData(t){var r=this.history[t];return r==null?void 0:r.stack[r.cursor]}getDocument(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,n=this.getBookData(t),u=n==null?void 0:n.perfDocument;if(u)return r?(0,y2.default)(u):Lt({},u)}getDocuments(){return Object.keys(this.history).reduce((t,r)=>(t[r]=this.getDocument(r),t),{})}savePerf(t){this.saved[t]=this.getBookData(t)}canSavePerf(t){return this.saved[t]!==this.getBookData(t)}setBookHistory(t){var r,n;return(n=(r=this.history)[t])!==null&&n!==void 0||(r[t]={stack:[],cursor:0}),this.history[t]}getBookHistory(t){var r,n=(r=this.history[t])!==null&&r!==void 0?r:this.setBookHistory(t);return n}clearPerf(){this.history={}}addDocument(t){var r,{bookCode:n,perfDocument:u,clone:s=!0}=t,{stack:o,cursor:a}=this.getBookHistory(n);return(r=o[a])!==null&&r!==void 0||(o[a]={}),o[a].perfDocument=s?(0,y2.default)(u):u,u}setPipelineData(t,r){var n,{stack:u,cursor:s}=this.getBookHistory(t);(n=u[s])!==null&&n!==void 0||(u[s]={});var o=u[s].pipelineData;r&&(u[s].pipelineData=Lt(Lt({},o),r))}getPipelineData(t){var r=this.getBookData(t);return r==null?void 0:r.pipelineData}getPipelineHandler(){return this.pipelineHandler}runPipeline(t){var r=this;return En(function*(){var{bookCode:n,pipelineName:u,perfDocument:s}=t;if(!u)return{perf:s};var o=r.getPipelineData(n),[a]=r.pipelineHandler.pipelines[u],{inputs:i}=a,c=o?Object.keys(o).reduce((h,y)=>(y in i&&(h[y]=o[y]),h),{}):void 0,l=Lt({perf:s},c),p=yield r.pipelineHandler.runPipeline(u,l),{perf:d}=p,f=Za(p,ohe);return{perf:d,pipelineData:f}})()}loadPerf(t,r,n){var u=this;return En(function*(){var s,o=(s=n.cloning)!==null&&s!==void 0?s:!0,{writePipeline:a,readPipeline:i}=n,{perf:c,pipelineData:l}=yield u.runPipeline({bookCode:t,pipelineName:a,perfDocument:r}),p=u.validator.validate("constraint","perfDocument","0.3.0",c);if(!p.isValid)throw new Error("writePerf is schema invalid: ".concat(JSON.stringify(p.errors)));u.setPipelineData(t,l);var d=u.addDocument({bookCode:t,perfDocument:c,clone:o});if(p=u.validator.validate("constraint","perfDocument","0.3.0",d),!p.isValid)throw new Error("savedPerf is schema invalid: ".concat(JSON.stringify(p.errors)));var{perf:f,pipelineData:h}=yield u.runPipeline({bookCode:t,pipelineName:i,perfDocument:d});if(p=u.validator.validate("constraint","perfDocument","0.3.0",f),!p.isValid){var y=p.errors.map(A=>{var m=(0,du.getPathValue)({object:f,path:A.instancePath});return Lt(Lt({},A),{},{value:JSON.stringify(m,null,2)})});throw new Error("readPerf is schema invalid: ".concat(JSON.stringify(y)))}return u.setPipelineData(t,h),u.savePerf(t),u.notifyObservers({action:bl.LOAD_PERF,data:f}),f})()}sideloadPerf(t,r){var n=arguments,u=this;return En(function*(){var s=n.length>2&&n[2]!==void 0?n[2]:{};if((0,du.validateParams)(["writePipeline","readPipeline","cloning"],s,"Unexpected option in sideloadPerf"),u.backend==="proskomma")throw"Can't call sideloadPerf in proskomma mode";if(!t||!r)throw"sideloadPerf requires 2 arguments (bookCode, perfDocument)";var o=u.validator.validate("constraint","perfDocument","0.3.0",r);if(!o.isValid)throw`perfJSON is not valid. -`.concat(JSON.stringify(o,null,2));return yield u.loadPerf(t,r,s)})()}fetchPerf(t){var r=arguments,n=this;return En(function*(){var u=r.length>1&&r[1]!==void 0?r[1]:{};if((0,du.validateParams)(["writePipeline","readPipeline","cloning"],u,"Unexpected option in fetchPerf"),n.backend==="standalone")throw"Can't call fetchPerf in standalone mode";if(!t)throw new Error("fetchPerf requires argument (bookCode)");if(t.length>3||!/^[A-Z0-9]{3}$/.test(t))throw new Error('Invalid bookCode: "'.concat(t,'". Only three characters (uppercase letters [A-Z] or numbers [0-9]) allowed.'));var s='{docSet(id: "'.concat(n.docSetId,'") { document(bookCode: "').concat(t,'") { perf } } }'),{data:o}=n.proskomma.gqlQuerySync(s),a=o.docSet.document.perf;if(!a)throw new Error('No document with bookCode="'.concat(t,'" found.'));var i=JSON.parse(a);return yield n.loadPerf(t,i,u)})()}readPerf(t){var r=arguments,n=this;return En(function*(){var u,s=r.length>1&&r[1]!==void 0?r[1]:{};(0,du.validateParams)(["readPipeline","cloning"],s,"Unexpected option in readPerf");var o=(u=s.cloning)!==null&&u!==void 0?u:!0;if(!n.history[t]&&n.backend==="proskomma")return n.fetchPerf(t,s);if(!n.history[t]&&n.backend==="standalone")throw'No document with bookCode="'.concat(t,'" found in memory. Use sideloadPerf() to load the document.');var a=n.getDocument(t,o),{readPipeline:i}=s,{perf:c,pipelineData:l}=yield n.runPipeline({bookCode:t,pipelineName:i,perfDocument:a});return n.setPipelineData(t,l),c})()}writePerf(t,r,n){var u=arguments,s=this;return En(function*(){var o=u.length>3&&u[3]!==void 0?u[3]:{};(0,du.validateParams)(["writePipeline","readPipeline","cloning","insertSequences"],o,"Unexpected option in writePerf");var{writePipeline:a,cloning:i,insertSequences:c}=o,l=Za(o,ahe),p=i??!0,d=s.getDocument(t,!1);if(!d)throw"document not found: ".concat(t);if(!d.sequences[r])throw"PERF sequence id not found: ".concat(t,", ").concat(r);var f=s.validator.validate("constraint","perfSequence","0.3.0",n);if(!f.isValid)throw"PERF sequence ".concat(r," for ").concat(t," is not valid: ").concat(JSON.stringify(f));var h={};c&&(0,du.findNewGraft)(n,N=>{var R=(0,du.generateId)();h[R]={type:N.subtype,blocks:[]},N.target=R,delete N.new});var{sequences:y}=d,A=Za(d,ihe),m=Lt(Lt({},y),{},{[r]:p?(0,y2.default)(n):n});A.sequences=m;var{perf:v,pipelineData:C}=yield s.runPipeline({bookCode:t,pipelineName:a,perfDocument:A});v.sequences=Lt(Lt(Lt({},y),h),{},{[r]:v.sequences[r]});var B=s.history[t];B.stack=B.stack.slice(B.cursor),B.stack.unshift({perfDocument:v}),B.cursor=0,s.setPipelineData(t,C),B.stack.length>s.options.historySize&&B.stack.pop();var T=yield s.readPerf(t,l);return s.notifyObservers({action:bl.WRITE_PERF,data:T}),T})()}undoPerf(t,r){var n=this;return En(function*(){if(n.canUndo(t)){var u=n.history[t];++u.cursor;var s=yield n.readPerf(t,r);return n.notifyObservers({action:bl.UNDO_PERF,data:s}),s}return null})()}redoPerf(t,r){var n=this;return En(function*(){if(n.canRedo(t)){var u=n.history[t];--u.cursor;var s=yield n.readPerf(t,r);return n.notifyObservers({action:bl.REDO_PERF,data:s}),s}return null})()}canUndo(t){var r=this.history[t];return!(!r||r.cursor+1===r.stack.length)}canRedo(t){var r=this.history[t];return!(!r||r.cursor===0)}checkPerfSequence(t){var r=0,n=0,u=t==null?void 0:t.blocks.reduce((s,o)=>{var{content:a}=o;if(Array.isArray(a))for(var i of a)i.type==="mark"&&i.subtype==="verses"&&(n++,n.toString()!==i.atts.number&&(s.push("Verse ".concat(i.atts.number," is out of order, expected ").concat(n)),n=Number(i.atts.number))),i.type==="mark"&&i.subtype==="chapter"&&(r++,r.toString()!==i.atts.number&&(s.push("Chapter ".concat(i.atts.number," is out of order, expected ").concat(r)),r=Number(i.atts.number)),n=0);return s},[]);return u}localBookCodes(){return Object.keys(this.history)}bookHeaders(){var t,r,n={},u='{ docSet(id: "'.concat(this.docSetId,'") { documents { headers { key value } } } }'),{data:s}=((t=this.proskomma)===null||t===void 0?void 0:t.gqlQuerySync(u))||{},o=(s==null||(r=s.docSet)===null||r===void 0?void 0:r.documents)||this.getDocuments();for(var a of o){var i=null,c={};for(var l of a.headers)l.key==="bookCode"?i=l.value:c[l.key]=l.value;i&&(n[i]=c)}return n}readUsfm(t,r){var n=this;return En(function*(){var u=yield n.readPerf(t,r);n.pipelineHandler===null&&n.instanciatePipelineHandler();var s=yield n.pipelineHandler.runPipeline("perfToUsfmPipeline",{perf:u});return s.usfm})()}makeDocumentReport(t,r,n){var u=this;return En(function*(){if(!u.localBookCodes().includes(t))throw new Error("bookCode '".concat(t,"' is not available locally"));return u.pipelineHandler===null&&u.instanciatePipelineHandler(),n.perf=u.getDocument(t),yield u.pipelineHandler.runPipeline(r,n)})()}makeDocumentsReport(t,r){var n=this;return En(function*(){var u=n.localBookCodes(),s={};for(var o of u){var a=yield n.makeDocumentReport(o,t,r);s[a.matches.bookCode]=a}return s})()}}var Dhe=fhe;od.default=Dhe;var $d={},Pd={};Object.defineProperty(Pd,"__esModule",{value:!0});Pd.default=void 0;var hhe={"*":{"*":{tagName:"span"},sequence:{tagName:"section"}},paragraph:{"*":{tagName:"p"}},mark:{"*":{tagName:"span"},chapter:e=>{var{atts:t}=e;return{classList:["mark","chapter","chapter-".concat(t.number)],id:"chapter-".concat(t.number)}}},graft:{heading:{tagName:"div"},title:{tagName:"div"},introduction:{tagName:"div"}}};Pd.default=hhe;var Or={};Object.defineProperty(Or,"__esModule",{value:!0});Or.mapHtml=Or.handleSubtypeNS=Or.handleNewGrafts=Or.handleAtts=Or.generateId=Or.createElement=void 0;var mhe=b_(V3),Ehe=b_(H3);function b_(e){return e&&e.__esModule?e:{default:e}}function m8(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable})),r.push.apply(r,n)}return r}function E8(e){for(var t=1;tObject.keys(e).reduce((t,r)=>e[r]!==void 0&&e[r]!==null?t+=" ".concat(r,'="').concat(e[r],'"'):t,""),ghe=e=>Object.keys(e).reduce((t,r)=>e[r]?t+=" data-".concat(r,'="').concat(e[r],'"'):t,""),Ahe=e=>e&&Array.isArray(e)?' class="'.concat(e.join(" "),'"'):' class="'.concat(e,'"'),Fhe=e=>{var{classList:t,id:r,attributes:n,dataset:u}=e;return"".concat(Ahe(t)).concat(r&&' id="'.concat(r,'"')).concat(ghe(u)).concat(vhe(n))},Che=e=>{var{tagName:t="div",id:r="",classList:n="",dataset:u={},children:s="",attributes:o={}}=e;return"<".concat(t||"div").concat(Fhe({classList:n,id:r,attributes:o,dataset:u}),">").concat(s,"")};Or.createElement=Che;var bhe=e=>{var t,r,n,u,{props:s,htmlMap:o}=e,{type:a,subtype:i}=s,c=(f,h)=>[...f?[f]:[],...h?[h.replace(":"," ")]:[]];if(!o)return{classList:c(a,i)};var l=[(t=o[a])===null||t===void 0?void 0:t[i],(r=o["*"])===null||r===void 0?void 0:r[i],(n=o[a])===null||n===void 0?void 0:n["*"],(u=o["*"])===null||u===void 0?void 0:u["*"]],p=f=>f&&(Array.isArray(f)?f:[f]),d=l.reduce((f,h)=>{var y=h||{},{classList:A,tagName:m,id:v,attributes:C}=typeof y=="function"?y(s):y;return f.classList=f.classList.concat(p(A)||[]),f.attributes=E8(E8({},f.attributes),C),!f.tagName&&m&&(f.tagName=m),!f.id&&v&&(f.id=v),f},{classList:[],tagName:"",attributes:{}});return{classList:d.classList.length?[...new Set(d.classList)]:c(a,i),tagName:d.tagName,id:d.id,attributes:d.attributes}};Or.mapHtml=bhe;var She=e=>e?Object.keys(e).reduce((t,r)=>(t["atts-".concat(r)]=typeof e[r]=="object"?e[r].join(","):e[r],t),{}):{};Or.handleAtts=She;var whe=e=>{var t=e.split(":");return t.length>1?{"subtype-ns":t[0],subtype:t[1]}:{subtype:e}};Or.handleSubtypeNS=whe;var S_=()=>Ehe.default.encode(new mhe.default(4)).substring(0,12);Or.generateId=S_;var _he=e=>{var t={};return e.forEach(r=>{var n=S_();t[n]={type:r.subtype,blocks:r.content||[]},r.target=n,delete r.content,delete r.new}),t};Or.handleNewGrafts=_he;Object.defineProperty($d,"__esModule",{value:!0});$d.default=void 0;var Bhe=khe(Pd),yn=Or,The=["type","subtype","content","meta_content","atts"],$he=["type","subtype","atts","content"],Phe=["blocks"];function khe(e){return e&&e.__esModule?e:{default:e}}function y8(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable})),r.push.apply(r,n)}return r}function Un(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function Ihe(e,t){if(e==null)return{};var r={},n=Object.keys(e),u,s;for(s=0;s=0)&&(r[u]=e[u]);return r}function Nhe(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Bhe.default,n=c=>{var l;return(l=c==null?void 0:c.reduce((p,d)=>p+=typeof d=="string"?d:s(d),""))!==null&&l!==void 0?l:""},u=(c,l)=>c?(0,yn.createElement)({tagName:"span",classList:[l],children:c==null?void 0:c.reduce((p,d)=>typeof d=="string"?p+=d:p+=s(d),"")}):"",s=c=>{var{type:l,subtype:p,content:d,meta_content:f,atts:h}=c,y=v2(c,The),A=(0,yn.handleAtts)(h),m=(0,yn.handleSubtypeNS)(p),{classList:v,tagName:C,id:B,attributes:T}=(0,yn.mapHtml)({props:Un({type:l,subtype:p,atts:h},y),htmlMap:r}),N=R=>{var J={markHtml:()=>["chapter","verses"].includes(p)?h.number:"",wrapperHtml:()=>n(R)+u(f,"meta-content")},q=J["".concat(l,"Html")];return typeof q=="function"?q():""};return(0,yn.createElement)({tagName:C,id:B,classList:v,attributes:T,dataset:Un(Un(Un({type:l},m),A),y),children:N(d)})},o=c=>{var{type:l,subtype:p,atts:d,content:f}=c,h=v2(c,$he),y=(0,yn.handleAtts)(d),A=(0,yn.handleSubtypeNS)(p),{classList:m,tagName:v,id:C,attributes:B}=(0,yn.mapHtml)({props:Un({type:l,subtype:p,atts:d},h),htmlMap:r});return(0,yn.createElement)({tagName:v,id:C,classList:m,attributes:B,dataset:Un(Un(Un({type:l},A),y),h),children:n(f)})},a=(c,l)=>{var{blocks:p}=c,d=v2(c,Phe),{classList:f,tagName:h,attributes:y}=(0,yn.mapHtml)({props:Un(Un({},d),{},{subtype:"sequence"}),htmlMap:r});return(0,yn.createElement)({tagName:h,id:"".concat(l),classList:f,dataset:d,attributes:y,children:p==null?void 0:p.reduce((A,m)=>A+=o(m),"")})},i=e.sequences[t];return a(i,t)}var qhe=Nhe;$d.default=qhe;var kd={},pr={},Od={},xa={},$p={exports:{}};/*! https://mths.be/he v1.2.0 by @mathias | MIT license */$p.exports;(function(e,t){(function(r){var n=t,u=e&&e.exports==n&&e,s=typeof Ce=="object"&&Ce;(s.global===s||s.window===s)&&(r=s);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,a=/[\x01-\x7F]/g,i=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,c=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,l={"­":"shy","‌":"zwnj","‍":"zwj","‎":"lrm","⁣":"ic","⁢":"it","⁡":"af","‏":"rlm","​":"ZeroWidthSpace","⁠":"NoBreak","̑":"DownBreve","⃛":"tdot","⃜":"DotDot"," ":"Tab","\n":"NewLine"," ":"puncsp"," ":"MediumSpace"," ":"thinsp"," ":"hairsp"," ":"emsp13"," ":"ensp"," ":"emsp14"," ":"emsp"," ":"numsp"," ":"nbsp","  ":"ThickSpace","‾":"oline",_:"lowbar","‐":"dash","–":"ndash","—":"mdash","―":"horbar",",":"comma",";":"semi","⁏":"bsemi",":":"colon","⩴":"Colone","!":"excl","¡":"iexcl","?":"quest","¿":"iquest",".":"period","‥":"nldr","…":"mldr","·":"middot","'":"apos","‘":"lsquo","’":"rsquo","‚":"sbquo","‹":"lsaquo","›":"rsaquo",'"':"quot","“":"ldquo","”":"rdquo","„":"bdquo","«":"laquo","»":"raquo","(":"lpar",")":"rpar","[":"lsqb","]":"rsqb","{":"lcub","}":"rcub","⌈":"lceil","⌉":"rceil","⌊":"lfloor","⌋":"rfloor","⦅":"lopar","⦆":"ropar","⦋":"lbrke","⦌":"rbrke","⦍":"lbrkslu","⦎":"rbrksld","⦏":"lbrksld","⦐":"rbrkslu","⦑":"langd","⦒":"rangd","⦓":"lparlt","⦔":"rpargt","⦕":"gtlPar","⦖":"ltrPar","⟦":"lobrk","⟧":"robrk","⟨":"lang","⟩":"rang","⟪":"Lang","⟫":"Rang","⟬":"loang","⟭":"roang","❲":"lbbrk","❳":"rbbrk","‖":"Vert","§":"sect","¶":"para","@":"commat","*":"ast","/":"sol",undefined:null,"&":"amp","#":"num","%":"percnt","‰":"permil","‱":"pertenk","†":"dagger","‡":"Dagger","•":"bull","⁃":"hybull","′":"prime","″":"Prime","‴":"tprime","⁗":"qprime","‵":"bprime","⁁":"caret","`":"grave","´":"acute","˜":"tilde","^":"Hat","¯":"macr","˘":"breve","˙":"dot","¨":"die","˚":"ring","˝":"dblac","¸":"cedil","˛":"ogon","ˆ":"circ","ˇ":"caron","°":"deg","©":"copy","®":"reg","℗":"copysr","℘":"wp","℞":"rx","℧":"mho","℩":"iiota","←":"larr","↚":"nlarr","→":"rarr","↛":"nrarr","↑":"uarr","↓":"darr","↔":"harr","↮":"nharr","↕":"varr","↖":"nwarr","↗":"nearr","↘":"searr","↙":"swarr","↝":"rarrw","↝̸":"nrarrw","↞":"Larr","↟":"Uarr","↠":"Rarr","↡":"Darr","↢":"larrtl","↣":"rarrtl","↤":"mapstoleft","↥":"mapstoup","↦":"map","↧":"mapstodown","↩":"larrhk","↪":"rarrhk","↫":"larrlp","↬":"rarrlp","↭":"harrw","↰":"lsh","↱":"rsh","↲":"ldsh","↳":"rdsh","↵":"crarr","↶":"cularr","↷":"curarr","↺":"olarr","↻":"orarr","↼":"lharu","↽":"lhard","↾":"uharr","↿":"uharl","⇀":"rharu","⇁":"rhard","⇂":"dharr","⇃":"dharl","⇄":"rlarr","⇅":"udarr","⇆":"lrarr","⇇":"llarr","⇈":"uuarr","⇉":"rrarr","⇊":"ddarr","⇋":"lrhar","⇌":"rlhar","⇐":"lArr","⇍":"nlArr","⇑":"uArr","⇒":"rArr","⇏":"nrArr","⇓":"dArr","⇔":"iff","⇎":"nhArr","⇕":"vArr","⇖":"nwArr","⇗":"neArr","⇘":"seArr","⇙":"swArr","⇚":"lAarr","⇛":"rAarr","⇝":"zigrarr","⇤":"larrb","⇥":"rarrb","⇵":"duarr","⇽":"loarr","⇾":"roarr","⇿":"hoarr","∀":"forall","∁":"comp","∂":"part","∂̸":"npart","∃":"exist","∄":"nexist","∅":"empty","∇":"Del","∈":"in","∉":"notin","∋":"ni","∌":"notni","϶":"bepsi","∏":"prod","∐":"coprod","∑":"sum","+":"plus","±":"pm","÷":"div","×":"times","<":"lt","≮":"nlt","<⃒":"nvlt","=":"equals","≠":"ne","=⃥":"bne","⩵":"Equal",">":"gt","≯":"ngt",">⃒":"nvgt","¬":"not","|":"vert","¦":"brvbar","−":"minus","∓":"mp","∔":"plusdo","⁄":"frasl","∖":"setmn","∗":"lowast","∘":"compfn","√":"Sqrt","∝":"prop","∞":"infin","∟":"angrt","∠":"ang","∠⃒":"nang","∡":"angmsd","∢":"angsph","∣":"mid","∤":"nmid","∥":"par","∦":"npar","∧":"and","∨":"or","∩":"cap","∩︀":"caps","∪":"cup","∪︀":"cups","∫":"int","∬":"Int","∭":"tint","⨌":"qint","∮":"oint","∯":"Conint","∰":"Cconint","∱":"cwint","∲":"cwconint","∳":"awconint","∴":"there4","∵":"becaus","∶":"ratio","∷":"Colon","∸":"minusd","∺":"mDDot","∻":"homtht","∼":"sim","≁":"nsim","∼⃒":"nvsim","∽":"bsim","∽̱":"race","∾":"ac","∾̳":"acE","∿":"acd","≀":"wr","≂":"esim","≂̸":"nesim","≃":"sime","≄":"nsime","≅":"cong","≇":"ncong","≆":"simne","≈":"ap","≉":"nap","≊":"ape","≋":"apid","≋̸":"napid","≌":"bcong","≍":"CupCap","≭":"NotCupCap","≍⃒":"nvap","≎":"bump","≎̸":"nbump","≏":"bumpe","≏̸":"nbumpe","≐":"doteq","≐̸":"nedot","≑":"eDot","≒":"efDot","≓":"erDot","≔":"colone","≕":"ecolon","≖":"ecir","≗":"cire","≙":"wedgeq","≚":"veeeq","≜":"trie","≟":"equest","≡":"equiv","≢":"nequiv","≡⃥":"bnequiv","≤":"le","≰":"nle","≤⃒":"nvle","≥":"ge","≱":"nge","≥⃒":"nvge","≦":"lE","≦̸":"nlE","≧":"gE","≧̸":"ngE","≨︀":"lvnE","≨":"lnE","≩":"gnE","≩︀":"gvnE","≪":"ll","≪̸":"nLtv","≪⃒":"nLt","≫":"gg","≫̸":"nGtv","≫⃒":"nGt","≬":"twixt","≲":"lsim","≴":"nlsim","≳":"gsim","≵":"ngsim","≶":"lg","≸":"ntlg","≷":"gl","≹":"ntgl","≺":"pr","⊀":"npr","≻":"sc","⊁":"nsc","≼":"prcue","⋠":"nprcue","≽":"sccue","⋡":"nsccue","≾":"prsim","≿":"scsim","≿̸":"NotSucceedsTilde","⊂":"sub","⊄":"nsub","⊂⃒":"vnsub","⊃":"sup","⊅":"nsup","⊃⃒":"vnsup","⊆":"sube","⊈":"nsube","⊇":"supe","⊉":"nsupe","⊊︀":"vsubne","⊊":"subne","⊋︀":"vsupne","⊋":"supne","⊍":"cupdot","⊎":"uplus","⊏":"sqsub","⊏̸":"NotSquareSubset","⊐":"sqsup","⊐̸":"NotSquareSuperset","⊑":"sqsube","⋢":"nsqsube","⊒":"sqsupe","⋣":"nsqsupe","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊕":"oplus","⊖":"ominus","⊗":"otimes","⊘":"osol","⊙":"odot","⊚":"ocir","⊛":"oast","⊝":"odash","⊞":"plusb","⊟":"minusb","⊠":"timesb","⊡":"sdotb","⊢":"vdash","⊬":"nvdash","⊣":"dashv","⊤":"top","⊥":"bot","⊧":"models","⊨":"vDash","⊭":"nvDash","⊩":"Vdash","⊮":"nVdash","⊪":"Vvdash","⊫":"VDash","⊯":"nVDash","⊰":"prurel","⊲":"vltri","⋪":"nltri","⊳":"vrtri","⋫":"nrtri","⊴":"ltrie","⋬":"nltrie","⊴⃒":"nvltrie","⊵":"rtrie","⋭":"nrtrie","⊵⃒":"nvrtrie","⊶":"origof","⊷":"imof","⊸":"mumap","⊹":"hercon","⊺":"intcal","⊻":"veebar","⊽":"barvee","⊾":"angrtvb","⊿":"lrtri","⋀":"Wedge","⋁":"Vee","⋂":"xcap","⋃":"xcup","⋄":"diam","⋅":"sdot","⋆":"Star","⋇":"divonx","⋈":"bowtie","⋉":"ltimes","⋊":"rtimes","⋋":"lthree","⋌":"rthree","⋍":"bsime","⋎":"cuvee","⋏":"cuwed","⋐":"Sub","⋑":"Sup","⋒":"Cap","⋓":"Cup","⋔":"fork","⋕":"epar","⋖":"ltdot","⋗":"gtdot","⋘":"Ll","⋘̸":"nLl","⋙":"Gg","⋙̸":"nGg","⋚︀":"lesg","⋚":"leg","⋛":"gel","⋛︀":"gesl","⋞":"cuepr","⋟":"cuesc","⋦":"lnsim","⋧":"gnsim","⋨":"prnsim","⋩":"scnsim","⋮":"vellip","⋯":"ctdot","⋰":"utdot","⋱":"dtdot","⋲":"disin","⋳":"isinsv","⋴":"isins","⋵":"isindot","⋵̸":"notindot","⋶":"notinvc","⋷":"notinvb","⋹":"isinE","⋹̸":"notinE","⋺":"nisd","⋻":"xnis","⋼":"nis","⋽":"notnivc","⋾":"notnivb","⌅":"barwed","⌆":"Barwed","⌌":"drcrop","⌍":"dlcrop","⌎":"urcrop","⌏":"ulcrop","⌐":"bnot","⌒":"profline","⌓":"profsurf","⌕":"telrec","⌖":"target","⌜":"ulcorn","⌝":"urcorn","⌞":"dlcorn","⌟":"drcorn","⌢":"frown","⌣":"smile","⌭":"cylcty","⌮":"profalar","⌶":"topbot","⌽":"ovbar","⌿":"solbar","⍼":"angzarr","⎰":"lmoust","⎱":"rmoust","⎴":"tbrk","⎵":"bbrk","⎶":"bbrktbrk","⏜":"OverParenthesis","⏝":"UnderParenthesis","⏞":"OverBrace","⏟":"UnderBrace","⏢":"trpezium","⏧":"elinters","␣":"blank","─":"boxh","│":"boxv","┌":"boxdr","┐":"boxdl","└":"boxur","┘":"boxul","├":"boxvr","┤":"boxvl","┬":"boxhd","┴":"boxhu","┼":"boxvh","═":"boxH","║":"boxV","╒":"boxdR","╓":"boxDr","╔":"boxDR","╕":"boxdL","╖":"boxDl","╗":"boxDL","╘":"boxuR","╙":"boxUr","╚":"boxUR","╛":"boxuL","╜":"boxUl","╝":"boxUL","╞":"boxvR","╟":"boxVr","╠":"boxVR","╡":"boxvL","╢":"boxVl","╣":"boxVL","╤":"boxHd","╥":"boxhD","╦":"boxHD","╧":"boxHu","╨":"boxhU","╩":"boxHU","╪":"boxvH","╫":"boxVh","╬":"boxVH","▀":"uhblk","▄":"lhblk","█":"block","░":"blk14","▒":"blk12","▓":"blk34","□":"squ","▪":"squf","▫":"EmptyVerySmallSquare","▭":"rect","▮":"marker","▱":"fltns","△":"xutri","▴":"utrif","▵":"utri","▸":"rtrif","▹":"rtri","▽":"xdtri","▾":"dtrif","▿":"dtri","◂":"ltrif","◃":"ltri","◊":"loz","○":"cir","◬":"tridot","◯":"xcirc","◸":"ultri","◹":"urtri","◺":"lltri","◻":"EmptySmallSquare","◼":"FilledSmallSquare","★":"starf","☆":"star","☎":"phone","♀":"female","♂":"male","♠":"spades","♣":"clubs","♥":"hearts","♦":"diams","♪":"sung","✓":"check","✗":"cross","✠":"malt","✶":"sext","❘":"VerticalSeparator","⟈":"bsolhsub","⟉":"suphsol","⟵":"xlarr","⟶":"xrarr","⟷":"xharr","⟸":"xlArr","⟹":"xrArr","⟺":"xhArr","⟼":"xmap","⟿":"dzigrarr","⤂":"nvlArr","⤃":"nvrArr","⤄":"nvHarr","⤅":"Map","⤌":"lbarr","⤍":"rbarr","⤎":"lBarr","⤏":"rBarr","⤐":"RBarr","⤑":"DDotrahd","⤒":"UpArrowBar","⤓":"DownArrowBar","⤖":"Rarrtl","⤙":"latail","⤚":"ratail","⤛":"lAtail","⤜":"rAtail","⤝":"larrfs","⤞":"rarrfs","⤟":"larrbfs","⤠":"rarrbfs","⤣":"nwarhk","⤤":"nearhk","⤥":"searhk","⤦":"swarhk","⤧":"nwnear","⤨":"toea","⤩":"tosa","⤪":"swnwar","⤳":"rarrc","⤳̸":"nrarrc","⤵":"cudarrr","⤶":"ldca","⤷":"rdca","⤸":"cudarrl","⤹":"larrpl","⤼":"curarrm","⤽":"cularrp","⥅":"rarrpl","⥈":"harrcir","⥉":"Uarrocir","⥊":"lurdshar","⥋":"ldrushar","⥎":"LeftRightVector","⥏":"RightUpDownVector","⥐":"DownLeftRightVector","⥑":"LeftUpDownVector","⥒":"LeftVectorBar","⥓":"RightVectorBar","⥔":"RightUpVectorBar","⥕":"RightDownVectorBar","⥖":"DownLeftVectorBar","⥗":"DownRightVectorBar","⥘":"LeftUpVectorBar","⥙":"LeftDownVectorBar","⥚":"LeftTeeVector","⥛":"RightTeeVector","⥜":"RightUpTeeVector","⥝":"RightDownTeeVector","⥞":"DownLeftTeeVector","⥟":"DownRightTeeVector","⥠":"LeftUpTeeVector","⥡":"LeftDownTeeVector","⥢":"lHar","⥣":"uHar","⥤":"rHar","⥥":"dHar","⥦":"luruhar","⥧":"ldrdhar","⥨":"ruluhar","⥩":"rdldhar","⥪":"lharul","⥫":"llhard","⥬":"rharul","⥭":"lrhard","⥮":"udhar","⥯":"duhar","⥰":"RoundImplies","⥱":"erarr","⥲":"simrarr","⥳":"larrsim","⥴":"rarrsim","⥵":"rarrap","⥶":"ltlarr","⥸":"gtrarr","⥹":"subrarr","⥻":"suplarr","⥼":"lfisht","⥽":"rfisht","⥾":"ufisht","⥿":"dfisht","⦚":"vzigzag","⦜":"vangrt","⦝":"angrtvbd","⦤":"ange","⦥":"range","⦦":"dwangle","⦧":"uwangle","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","⦰":"bemptyv","⦱":"demptyv","⦲":"cemptyv","⦳":"raemptyv","⦴":"laemptyv","⦵":"ohbar","⦶":"omid","⦷":"opar","⦹":"operp","⦻":"olcross","⦼":"odsold","⦾":"olcir","⦿":"ofcir","⧀":"olt","⧁":"ogt","⧂":"cirscir","⧃":"cirE","⧄":"solb","⧅":"bsolb","⧉":"boxbox","⧍":"trisb","⧎":"rtriltri","⧏":"LeftTriangleBar","⧏̸":"NotLeftTriangleBar","⧐":"RightTriangleBar","⧐̸":"NotRightTriangleBar","⧜":"iinfin","⧝":"infintie","⧞":"nvinfin","⧣":"eparsl","⧤":"smeparsl","⧥":"eqvparsl","⧫":"lozf","⧴":"RuleDelayed","⧶":"dsol","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨄":"xuplus","⨆":"xsqcup","⨍":"fpartint","⨐":"cirfnint","⨑":"awint","⨒":"rppolint","⨓":"scpolint","⨔":"npolint","⨕":"pointint","⨖":"quatint","⨗":"intlarhk","⨢":"pluscir","⨣":"plusacir","⨤":"simplus","⨥":"plusdu","⨦":"plussim","⨧":"plustwo","⨩":"mcomma","⨪":"minusdu","⨭":"loplus","⨮":"roplus","⨯":"Cross","⨰":"timesd","⨱":"timesbar","⨳":"smashp","⨴":"lotimes","⨵":"rotimes","⨶":"otimesas","⨷":"Otimes","⨸":"odiv","⨹":"triplus","⨺":"triminus","⨻":"tritime","⨼":"iprod","⨿":"amalg","⩀":"capdot","⩂":"ncup","⩃":"ncap","⩄":"capand","⩅":"cupor","⩆":"cupcap","⩇":"capcup","⩈":"cupbrcap","⩉":"capbrcup","⩊":"cupcup","⩋":"capcap","⩌":"ccups","⩍":"ccaps","⩐":"ccupssm","⩓":"And","⩔":"Or","⩕":"andand","⩖":"oror","⩗":"orslope","⩘":"andslope","⩚":"andv","⩛":"orv","⩜":"andd","⩝":"ord","⩟":"wedbar","⩦":"sdote","⩪":"simdot","⩭":"congdot","⩭̸":"ncongdot","⩮":"easter","⩯":"apacir","⩰":"apE","⩰̸":"napE","⩱":"eplus","⩲":"pluse","⩳":"Esim","⩷":"eDDot","⩸":"equivDD","⩹":"ltcir","⩺":"gtcir","⩻":"ltquest","⩼":"gtquest","⩽":"les","⩽̸":"nles","⩾":"ges","⩾̸":"nges","⩿":"lesdot","⪀":"gesdot","⪁":"lesdoto","⪂":"gesdoto","⪃":"lesdotor","⪄":"gesdotol","⪅":"lap","⪆":"gap","⪇":"lne","⪈":"gne","⪉":"lnap","⪊":"gnap","⪋":"lEg","⪌":"gEl","⪍":"lsime","⪎":"gsime","⪏":"lsimg","⪐":"gsiml","⪑":"lgE","⪒":"glE","⪓":"lesges","⪔":"gesles","⪕":"els","⪖":"egs","⪗":"elsdot","⪘":"egsdot","⪙":"el","⪚":"eg","⪝":"siml","⪞":"simg","⪟":"simlE","⪠":"simgE","⪡":"LessLess","⪡̸":"NotNestedLessLess","⪢":"GreaterGreater","⪢̸":"NotNestedGreaterGreater","⪤":"glj","⪥":"gla","⪦":"ltcc","⪧":"gtcc","⪨":"lescc","⪩":"gescc","⪪":"smt","⪫":"lat","⪬":"smte","⪬︀":"smtes","⪭":"late","⪭︀":"lates","⪮":"bumpE","⪯":"pre","⪯̸":"npre","⪰":"sce","⪰̸":"nsce","⪳":"prE","⪴":"scE","⪵":"prnE","⪶":"scnE","⪷":"prap","⪸":"scap","⪹":"prnap","⪺":"scnap","⪻":"Pr","⪼":"Sc","⪽":"subdot","⪾":"supdot","⪿":"subplus","⫀":"supplus","⫁":"submult","⫂":"supmult","⫃":"subedot","⫄":"supedot","⫅":"subE","⫅̸":"nsubE","⫆":"supE","⫆̸":"nsupE","⫇":"subsim","⫈":"supsim","⫋︀":"vsubnE","⫋":"subnE","⫌︀":"vsupnE","⫌":"supnE","⫏":"csub","⫐":"csup","⫑":"csube","⫒":"csupe","⫓":"subsup","⫔":"supsub","⫕":"subsub","⫖":"supsup","⫗":"suphsub","⫘":"supdsub","⫙":"forkv","⫚":"topfork","⫛":"mlcp","⫤":"Dashv","⫦":"Vdashl","⫧":"Barv","⫨":"vBar","⫩":"vBarv","⫫":"Vbar","⫬":"Not","⫭":"bNot","⫮":"rnmid","⫯":"cirmid","⫰":"midcir","⫱":"topcir","⫲":"nhpar","⫳":"parsim","⫽":"parsl","⫽⃥":"nparsl","♭":"flat","♮":"natur","♯":"sharp","¤":"curren","¢":"cent",$:"dollar","£":"pound","¥":"yen","€":"euro","¹":"sup1","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","²":"sup2","⅔":"frac23","⅖":"frac25","³":"sup3","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","𝒶":"ascr","𝕒":"aopf","𝔞":"afr","𝔸":"Aopf","𝔄":"Afr","𝒜":"Ascr",ª:"ordf",á:"aacute",Á:"Aacute",à:"agrave",À:"Agrave",ă:"abreve",Ă:"Abreve",â:"acirc",Â:"Acirc",å:"aring",Å:"angst",ä:"auml",Ä:"Auml",ã:"atilde",Ã:"Atilde",ą:"aogon",Ą:"Aogon",ā:"amacr",Ā:"Amacr",æ:"aelig",Æ:"AElig","𝒷":"bscr","𝕓":"bopf","𝔟":"bfr","𝔹":"Bopf",ℬ:"Bscr","𝔅":"Bfr","𝔠":"cfr","𝒸":"cscr","𝕔":"copf",ℭ:"Cfr","𝒞":"Cscr",ℂ:"Copf",ć:"cacute",Ć:"Cacute",ĉ:"ccirc",Ĉ:"Ccirc",č:"ccaron",Č:"Ccaron",ċ:"cdot",Ċ:"Cdot",ç:"ccedil",Ç:"Ccedil","℅":"incare","𝔡":"dfr","ⅆ":"dd","𝕕":"dopf","𝒹":"dscr","𝒟":"Dscr","𝔇":"Dfr","ⅅ":"DD","𝔻":"Dopf",ď:"dcaron",Ď:"Dcaron",đ:"dstrok",Đ:"Dstrok",ð:"eth",Ð:"ETH","ⅇ":"ee",ℯ:"escr","𝔢":"efr","𝕖":"eopf",ℰ:"Escr","𝔈":"Efr","𝔼":"Eopf",é:"eacute",É:"Eacute",è:"egrave",È:"Egrave",ê:"ecirc",Ê:"Ecirc",ě:"ecaron",Ě:"Ecaron",ë:"euml",Ë:"Euml",ė:"edot",Ė:"Edot",ę:"eogon",Ę:"Eogon",ē:"emacr",Ē:"Emacr","𝔣":"ffr","𝕗":"fopf","𝒻":"fscr","𝔉":"Ffr","𝔽":"Fopf",ℱ:"Fscr",ff:"fflig",ffi:"ffilig",ffl:"ffllig",fi:"filig",fj:"fjlig",fl:"fllig",ƒ:"fnof",ℊ:"gscr","𝕘":"gopf","𝔤":"gfr","𝒢":"Gscr","𝔾":"Gopf","𝔊":"Gfr",ǵ:"gacute",ğ:"gbreve",Ğ:"Gbreve",ĝ:"gcirc",Ĝ:"Gcirc",ġ:"gdot",Ġ:"Gdot",Ģ:"Gcedil","𝔥":"hfr",ℎ:"planckh","𝒽":"hscr","𝕙":"hopf",ℋ:"Hscr",ℌ:"Hfr",ℍ:"Hopf",ĥ:"hcirc",Ĥ:"Hcirc",ℏ:"hbar",ħ:"hstrok",Ħ:"Hstrok","𝕚":"iopf","𝔦":"ifr","𝒾":"iscr","ⅈ":"ii","𝕀":"Iopf",ℐ:"Iscr",ℑ:"Im",í:"iacute",Í:"Iacute",ì:"igrave",Ì:"Igrave",î:"icirc",Î:"Icirc",ï:"iuml",Ï:"Iuml",ĩ:"itilde",Ĩ:"Itilde",İ:"Idot",į:"iogon",Į:"Iogon",ī:"imacr",Ī:"Imacr",ij:"ijlig",IJ:"IJlig",ı:"imath","𝒿":"jscr","𝕛":"jopf","𝔧":"jfr","𝒥":"Jscr","𝔍":"Jfr","𝕁":"Jopf",ĵ:"jcirc",Ĵ:"Jcirc","ȷ":"jmath","𝕜":"kopf","𝓀":"kscr","𝔨":"kfr","𝒦":"Kscr","𝕂":"Kopf","𝔎":"Kfr",ķ:"kcedil",Ķ:"Kcedil","𝔩":"lfr","𝓁":"lscr",ℓ:"ell","𝕝":"lopf",ℒ:"Lscr","𝔏":"Lfr","𝕃":"Lopf",ĺ:"lacute",Ĺ:"Lacute",ľ:"lcaron",Ľ:"Lcaron",ļ:"lcedil",Ļ:"Lcedil",ł:"lstrok",Ł:"Lstrok",ŀ:"lmidot",Ŀ:"Lmidot","𝔪":"mfr","𝕞":"mopf","𝓂":"mscr","𝔐":"Mfr","𝕄":"Mopf",ℳ:"Mscr","𝔫":"nfr","𝕟":"nopf","𝓃":"nscr",ℕ:"Nopf","𝒩":"Nscr","𝔑":"Nfr",ń:"nacute",Ń:"Nacute",ň:"ncaron",Ň:"Ncaron",ñ:"ntilde",Ñ:"Ntilde",ņ:"ncedil",Ņ:"Ncedil","№":"numero",ŋ:"eng",Ŋ:"ENG","𝕠":"oopf","𝔬":"ofr",ℴ:"oscr","𝒪":"Oscr","𝔒":"Ofr","𝕆":"Oopf",º:"ordm",ó:"oacute",Ó:"Oacute",ò:"ograve",Ò:"Ograve",ô:"ocirc",Ô:"Ocirc",ö:"ouml",Ö:"Ouml",ő:"odblac",Ő:"Odblac",õ:"otilde",Õ:"Otilde",ø:"oslash",Ø:"Oslash",ō:"omacr",Ō:"Omacr",œ:"oelig",Œ:"OElig","𝔭":"pfr","𝓅":"pscr","𝕡":"popf",ℙ:"Popf","𝔓":"Pfr","𝒫":"Pscr","𝕢":"qopf","𝔮":"qfr","𝓆":"qscr","𝒬":"Qscr","𝔔":"Qfr",ℚ:"Qopf",ĸ:"kgreen","𝔯":"rfr","𝕣":"ropf","𝓇":"rscr",ℛ:"Rscr",ℜ:"Re",ℝ:"Ropf",ŕ:"racute",Ŕ:"Racute",ř:"rcaron",Ř:"Rcaron",ŗ:"rcedil",Ŗ:"Rcedil","𝕤":"sopf","𝓈":"sscr","𝔰":"sfr","𝕊":"Sopf","𝔖":"Sfr","𝒮":"Sscr","Ⓢ":"oS",ś:"sacute",Ś:"Sacute",ŝ:"scirc",Ŝ:"Scirc",š:"scaron",Š:"Scaron",ş:"scedil",Ş:"Scedil",ß:"szlig","𝔱":"tfr","𝓉":"tscr","𝕥":"topf","𝒯":"Tscr","𝔗":"Tfr","𝕋":"Topf",ť:"tcaron",Ť:"Tcaron",ţ:"tcedil",Ţ:"Tcedil","™":"trade",ŧ:"tstrok",Ŧ:"Tstrok","𝓊":"uscr","𝕦":"uopf","𝔲":"ufr","𝕌":"Uopf","𝔘":"Ufr","𝒰":"Uscr",ú:"uacute",Ú:"Uacute",ù:"ugrave",Ù:"Ugrave",ŭ:"ubreve",Ŭ:"Ubreve",û:"ucirc",Û:"Ucirc",ů:"uring",Ů:"Uring",ü:"uuml",Ü:"Uuml",ű:"udblac",Ű:"Udblac",ũ:"utilde",Ũ:"Utilde",ų:"uogon",Ų:"Uogon",ū:"umacr",Ū:"Umacr","𝔳":"vfr","𝕧":"vopf","𝓋":"vscr","𝔙":"Vfr","𝕍":"Vopf","𝒱":"Vscr","𝕨":"wopf","𝓌":"wscr","𝔴":"wfr","𝒲":"Wscr","𝕎":"Wopf","𝔚":"Wfr",ŵ:"wcirc",Ŵ:"Wcirc","𝔵":"xfr","𝓍":"xscr","𝕩":"xopf","𝕏":"Xopf","𝔛":"Xfr","𝒳":"Xscr","𝔶":"yfr","𝓎":"yscr","𝕪":"yopf","𝒴":"Yscr","𝔜":"Yfr","𝕐":"Yopf",ý:"yacute",Ý:"Yacute",ŷ:"ycirc",Ŷ:"Ycirc",ÿ:"yuml",Ÿ:"Yuml","𝓏":"zscr","𝔷":"zfr","𝕫":"zopf",ℨ:"Zfr",ℤ:"Zopf","𝒵":"Zscr",ź:"zacute",Ź:"Zacute",ž:"zcaron",Ž:"Zcaron",ż:"zdot",Ż:"Zdot",Ƶ:"imped",þ:"thorn",Þ:"THORN",ʼn:"napos",α:"alpha",Α:"Alpha",β:"beta",Β:"Beta",γ:"gamma",Γ:"Gamma",δ:"delta",Δ:"Delta",ε:"epsi","ϵ":"epsiv",Ε:"Epsilon",ϝ:"gammad",Ϝ:"Gammad",ζ:"zeta",Ζ:"Zeta",η:"eta",Η:"Eta",θ:"theta",ϑ:"thetav",Θ:"Theta",ι:"iota",Ι:"Iota",κ:"kappa",ϰ:"kappav",Κ:"Kappa",λ:"lambda",Λ:"Lambda",μ:"mu",µ:"micro",Μ:"Mu",ν:"nu",Ν:"Nu",ξ:"xi",Ξ:"Xi",ο:"omicron",Ο:"Omicron",π:"pi",ϖ:"piv",Π:"Pi",ρ:"rho",ϱ:"rhov",Ρ:"Rho",σ:"sigma",Σ:"Sigma",ς:"sigmaf",τ:"tau",Τ:"Tau",υ:"upsi",Υ:"Upsilon",ϒ:"Upsi",φ:"phi",ϕ:"phiv",Φ:"Phi",χ:"chi",Χ:"Chi",ψ:"psi",Ψ:"Psi",ω:"omega",Ω:"ohm",а:"acy",А:"Acy",б:"bcy",Б:"Bcy",в:"vcy",В:"Vcy",г:"gcy",Г:"Gcy",ѓ:"gjcy",Ѓ:"GJcy",д:"dcy",Д:"Dcy",ђ:"djcy",Ђ:"DJcy",е:"iecy",Е:"IEcy",ё:"iocy",Ё:"IOcy",є:"jukcy",Є:"Jukcy",ж:"zhcy",Ж:"ZHcy",з:"zcy",З:"Zcy",ѕ:"dscy",Ѕ:"DScy",и:"icy",И:"Icy",і:"iukcy",І:"Iukcy",ї:"yicy",Ї:"YIcy",й:"jcy",Й:"Jcy",ј:"jsercy",Ј:"Jsercy",к:"kcy",К:"Kcy",ќ:"kjcy",Ќ:"KJcy",л:"lcy",Л:"Lcy",љ:"ljcy",Љ:"LJcy",м:"mcy",М:"Mcy",н:"ncy",Н:"Ncy",њ:"njcy",Њ:"NJcy",о:"ocy",О:"Ocy",п:"pcy",П:"Pcy",р:"rcy",Р:"Rcy",с:"scy",С:"Scy",т:"tcy",Т:"Tcy",ћ:"tshcy",Ћ:"TSHcy",у:"ucy",У:"Ucy",ў:"ubrcy",Ў:"Ubrcy",ф:"fcy",Ф:"Fcy",х:"khcy",Х:"KHcy",ц:"tscy",Ц:"TScy",ч:"chcy",Ч:"CHcy",џ:"dzcy",Џ:"DZcy",ш:"shcy",Ш:"SHcy",щ:"shchcy",Щ:"SHCHcy",ъ:"hardcy",Ъ:"HARDcy",ы:"ycy",Ы:"Ycy",ь:"softcy",Ь:"SOFTcy",э:"ecy",Э:"Ecy",ю:"yucy",Ю:"YUcy",я:"yacy",Я:"YAcy",ℵ:"aleph",ℶ:"beth",ℷ:"gimel",ℸ:"daleth"},p=/["&'<>`]/g,d={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,h=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&(CounterClockwiseContourIntegral|DoubleLongLeftRightArrow|ClockwiseContourIntegral|NotNestedGreaterGreater|NotSquareSupersetEqual|DiacriticalDoubleAcute|NotRightTriangleEqual|NotSucceedsSlantEqual|NotPrecedesSlantEqual|CloseCurlyDoubleQuote|NegativeVeryThinSpace|DoubleContourIntegral|FilledVerySmallSquare|CapitalDifferentialD|OpenCurlyDoubleQuote|EmptyVerySmallSquare|NestedGreaterGreater|DoubleLongRightArrow|NotLeftTriangleEqual|NotGreaterSlantEqual|ReverseUpEquilibrium|DoubleLeftRightArrow|NotSquareSubsetEqual|NotDoubleVerticalBar|RightArrowLeftArrow|NotGreaterFullEqual|NotRightTriangleBar|SquareSupersetEqual|DownLeftRightVector|DoubleLongLeftArrow|leftrightsquigarrow|LeftArrowRightArrow|NegativeMediumSpace|blacktriangleright|RightDownVectorBar|PrecedesSlantEqual|RightDoubleBracket|SucceedsSlantEqual|NotLeftTriangleBar|RightTriangleEqual|SquareIntersection|RightDownTeeVector|ReverseEquilibrium|NegativeThickSpace|longleftrightarrow|Longleftrightarrow|LongLeftRightArrow|DownRightTeeVector|DownRightVectorBar|GreaterSlantEqual|SquareSubsetEqual|LeftDownVectorBar|LeftDoubleBracket|VerticalSeparator|rightleftharpoons|NotGreaterGreater|NotSquareSuperset|blacktriangleleft|blacktriangledown|NegativeThinSpace|LeftDownTeeVector|NotLessSlantEqual|leftrightharpoons|DoubleUpDownArrow|DoubleVerticalBar|LeftTriangleEqual|FilledSmallSquare|twoheadrightarrow|NotNestedLessLess|DownLeftTeeVector|DownLeftVectorBar|RightAngleBracket|NotTildeFullEqual|NotReverseElement|RightUpDownVector|DiacriticalTilde|NotSucceedsTilde|circlearrowright|NotPrecedesEqual|rightharpoondown|DoubleRightArrow|NotSucceedsEqual|NonBreakingSpace|NotRightTriangle|LessEqualGreater|RightUpTeeVector|LeftAngleBracket|GreaterFullEqual|DownArrowUpArrow|RightUpVectorBar|twoheadleftarrow|GreaterEqualLess|downharpoonright|RightTriangleBar|ntrianglerighteq|NotSupersetEqual|LeftUpDownVector|DiacriticalAcute|rightrightarrows|vartriangleright|UpArrowDownArrow|DiacriticalGrave|UnderParenthesis|EmptySmallSquare|LeftUpVectorBar|leftrightarrows|DownRightVector|downharpoonleft|trianglerighteq|ShortRightArrow|OverParenthesis|DoubleLeftArrow|DoubleDownArrow|NotSquareSubset|bigtriangledown|ntrianglelefteq|UpperRightArrow|curvearrowright|vartriangleleft|NotLeftTriangle|nleftrightarrow|LowerRightArrow|NotHumpDownHump|NotGreaterTilde|rightthreetimes|LeftUpTeeVector|NotGreaterEqual|straightepsilon|LeftTriangleBar|rightsquigarrow|ContourIntegral|rightleftarrows|CloseCurlyQuote|RightDownVector|LeftRightVector|nLeftrightarrow|leftharpoondown|circlearrowleft|SquareSuperset|OpenCurlyQuote|hookrightarrow|HorizontalLine|DiacriticalDot|NotLessGreater|ntriangleright|DoubleRightTee|InvisibleComma|InvisibleTimes|LowerLeftArrow|DownLeftVector|NotSubsetEqual|curvearrowleft|trianglelefteq|NotVerticalBar|TildeFullEqual|downdownarrows|NotGreaterLess|RightTeeVector|ZeroWidthSpace|looparrowright|LongRightArrow|doublebarwedge|ShortLeftArrow|ShortDownArrow|RightVectorBar|GreaterGreater|ReverseElement|rightharpoonup|LessSlantEqual|leftthreetimes|upharpoonright|rightarrowtail|LeftDownVector|Longrightarrow|NestedLessLess|UpperLeftArrow|nshortparallel|leftleftarrows|leftrightarrow|Leftrightarrow|LeftRightArrow|longrightarrow|upharpoonleft|RightArrowBar|ApplyFunction|LeftTeeVector|leftarrowtail|NotEqualTilde|varsubsetneqq|varsupsetneqq|RightTeeArrow|SucceedsEqual|SucceedsTilde|LeftVectorBar|SupersetEqual|hookleftarrow|DifferentialD|VerticalTilde|VeryThinSpace|blacktriangle|bigtriangleup|LessFullEqual|divideontimes|leftharpoonup|UpEquilibrium|ntriangleleft|RightTriangle|measuredangle|shortparallel|longleftarrow|Longleftarrow|LongLeftArrow|DoubleLeftTee|Poincareplane|PrecedesEqual|triangleright|DoubleUpArrow|RightUpVector|fallingdotseq|looparrowleft|PrecedesTilde|NotTildeEqual|NotTildeTilde|smallsetminus|Proportional|triangleleft|triangledown|UnderBracket|NotHumpEqual|exponentiale|ExponentialE|NotLessTilde|HilbertSpace|RightCeiling|blacklozenge|varsupsetneq|HumpDownHump|GreaterEqual|VerticalLine|LeftTeeArrow|NotLessEqual|DownTeeArrow|LeftTriangle|varsubsetneq|Intersection|NotCongruent|DownArrowBar|LeftUpVector|LeftArrowBar|risingdotseq|GreaterTilde|RoundImplies|SquareSubset|ShortUpArrow|NotSuperset|quaternions|precnapprox|backepsilon|preccurlyeq|OverBracket|blacksquare|MediumSpace|VerticalBar|circledcirc|circleddash|CircleMinus|CircleTimes|LessGreater|curlyeqprec|curlyeqsucc|diamondsuit|UpDownArrow|Updownarrow|RuleDelayed|Rrightarrow|updownarrow|RightVector|nRightarrow|nrightarrow|eqslantless|LeftCeiling|Equilibrium|SmallCircle|expectation|NotSucceeds|thickapprox|GreaterLess|SquareUnion|NotPrecedes|NotLessLess|straightphi|succnapprox|succcurlyeq|SubsetEqual|sqsupseteq|Proportion|Laplacetrf|ImaginaryI|supsetneqq|NotGreater|gtreqqless|NotElement|ThickSpace|TildeEqual|TildeTilde|Fouriertrf|rmoustache|EqualTilde|eqslantgtr|UnderBrace|LeftVector|UpArrowBar|nLeftarrow|nsubseteqq|subsetneqq|nsupseteqq|nleftarrow|succapprox|lessapprox|UpTeeArrow|upuparrows|curlywedge|lesseqqgtr|varepsilon|varnothing|RightFloor|complement|CirclePlus|sqsubseteq|Lleftarrow|circledast|RightArrow|Rightarrow|rightarrow|lmoustache|Bernoullis|precapprox|mapstoleft|mapstodown|longmapsto|dotsquare|downarrow|DoubleDot|nsubseteq|supsetneq|leftarrow|nsupseteq|subsetneq|ThinSpace|ngeqslant|subseteqq|HumpEqual|NotSubset|triangleq|NotCupCap|lesseqgtr|heartsuit|TripleDot|Leftarrow|Coproduct|Congruent|varpropto|complexes|gvertneqq|LeftArrow|LessTilde|supseteqq|MinusPlus|CircleDot|nleqslant|NotExists|gtreqless|nparallel|UnionPlus|LeftFloor|checkmark|CenterDot|centerdot|Mellintrf|gtrapprox|bigotimes|OverBrace|spadesuit|therefore|pitchfork|rationals|PlusMinus|Backslash|Therefore|DownBreve|backsimeq|backprime|DownArrow|nshortmid|Downarrow|lvertneqq|eqvparsl|imagline|imagpart|infintie|integers|Integral|intercal|LessLess|Uarrocir|intlarhk|sqsupset|angmsdaf|sqsubset|llcorner|vartheta|cupbrcap|lnapprox|Superset|SuchThat|succnsim|succneqq|angmsdag|biguplus|curlyvee|trpezium|Succeeds|NotTilde|bigwedge|angmsdah|angrtvbd|triminus|cwconint|fpartint|lrcorner|smeparsl|subseteq|urcorner|lurdshar|laemptyv|DDotrahd|approxeq|ldrushar|awconint|mapstoup|backcong|shortmid|triangle|geqslant|gesdotol|timesbar|circledR|circledS|setminus|multimap|naturals|scpolint|ncongdot|RightTee|boxminus|gnapprox|boxtimes|andslope|thicksim|angmsdaa|varsigma|cirfnint|rtriltri|angmsdab|rppolint|angmsdac|barwedge|drbkarow|clubsuit|thetasym|bsolhsub|capbrcup|dzigrarr|doteqdot|DotEqual|dotminus|UnderBar|NotEqual|realpart|otimesas|ulcorner|hksearow|hkswarow|parallel|PartialD|elinters|emptyset|plusacir|bbrktbrk|angmsdad|pointint|bigoplus|angmsdae|Precedes|bigsqcup|varkappa|notindot|supseteq|precneqq|precnsim|profalar|profline|profsurf|leqslant|lesdotor|raemptyv|subplus|notnivb|notnivc|subrarr|zigrarr|vzigzag|submult|subedot|Element|between|cirscir|larrbfs|larrsim|lotimes|lbrksld|lbrkslu|lozenge|ldrdhar|dbkarow|bigcirc|epsilon|simrarr|simplus|ltquest|Epsilon|luruhar|gtquest|maltese|npolint|eqcolon|npreceq|bigodot|ddagger|gtrless|bnequiv|harrcir|ddotseq|equivDD|backsim|demptyv|nsqsube|nsqsupe|Upsilon|nsubset|upsilon|minusdu|nsucceq|swarrow|nsupset|coloneq|searrow|boxplus|napprox|natural|asympeq|alefsym|congdot|nearrow|bigstar|diamond|supplus|tritime|LeftTee|nvinfin|triplus|NewLine|nvltrie|nvrtrie|nwarrow|nexists|Diamond|ruluhar|Implies|supmult|angzarr|suplarr|suphsub|questeq|because|digamma|Because|olcross|bemptyv|omicron|Omicron|rotimes|NoBreak|intprod|angrtvb|orderof|uwangle|suphsol|lesdoto|orslope|DownTee|realine|cudarrl|rdldhar|OverBar|supedot|lessdot|supdsub|topfork|succsim|rbrkslu|rbrksld|pertenk|cudarrr|isindot|planckh|lessgtr|pluscir|gesdoto|plussim|plustwo|lesssim|cularrp|rarrsim|Cayleys|notinva|notinvb|notinvc|UpArrow|Uparrow|uparrow|NotLess|dwangle|precsim|Product|curarrm|Cconint|dotplus|rarrbfs|ccupssm|Cedilla|cemptyv|notniva|quatint|frac35|frac38|frac45|frac56|frac58|frac78|tridot|xoplus|gacute|gammad|Gammad|lfisht|lfloor|bigcup|sqsupe|gbreve|Gbreve|lharul|sqsube|sqcups|Gcedil|apacir|llhard|lmidot|Lmidot|lmoust|andand|sqcaps|approx|Abreve|spades|circeq|tprime|divide|topcir|Assign|topbot|gesdot|divonx|xuplus|timesd|gesles|atilde|solbar|SOFTcy|loplus|timesb|lowast|lowbar|dlcorn|dlcrop|softcy|dollar|lparlt|thksim|lrhard|Atilde|lsaquo|smashp|bigvee|thinsp|wreath|bkarow|lsquor|lstrok|Lstrok|lthree|ltimes|ltlarr|DotDot|simdot|ltrPar|weierp|xsqcup|angmsd|sigmav|sigmaf|zeetrf|Zcaron|zcaron|mapsto|vsupne|thetav|cirmid|marker|mcomma|Zacute|vsubnE|there4|gtlPar|vsubne|bottom|gtrarr|SHCHcy|shchcy|midast|midcir|middot|minusb|minusd|gtrdot|bowtie|sfrown|mnplus|models|colone|seswar|Colone|mstpos|searhk|gtrsim|nacute|Nacute|boxbox|telrec|hairsp|Tcedil|nbumpe|scnsim|ncaron|Ncaron|ncedil|Ncedil|hamilt|Scedil|nearhk|hardcy|HARDcy|tcedil|Tcaron|commat|nequiv|nesear|tcaron|target|hearts|nexist|varrho|scedil|Scaron|scaron|hellip|Sacute|sacute|hercon|swnwar|compfn|rtimes|rthree|rsquor|rsaquo|zacute|wedgeq|homtht|barvee|barwed|Barwed|rpargt|horbar|conint|swarhk|roplus|nltrie|hslash|hstrok|Hstrok|rmoust|Conint|bprime|hybull|hyphen|iacute|Iacute|supsup|supsub|supsim|varphi|coprod|brvbar|agrave|Supset|supset|igrave|Igrave|notinE|Agrave|iiiint|iinfin|copysr|wedbar|Verbar|vangrt|becaus|incare|verbar|inodot|bullet|drcorn|intcal|drcrop|cularr|vellip|Utilde|bumpeq|cupcap|dstrok|Dstrok|CupCap|cupcup|cupdot|eacute|Eacute|supdot|iquest|easter|ecaron|Ecaron|ecolon|isinsv|utilde|itilde|Itilde|curarr|succeq|Bumpeq|cacute|ulcrop|nparsl|Cacute|nprcue|egrave|Egrave|nrarrc|nrarrw|subsup|subsub|nrtrie|jsercy|nsccue|Jsercy|kappav|kcedil|Kcedil|subsim|ulcorn|nsimeq|egsdot|veebar|kgreen|capand|elsdot|Subset|subset|curren|aacute|lacute|Lacute|emptyv|ntilde|Ntilde|lagran|lambda|Lambda|capcap|Ugrave|langle|subdot|emsp13|numero|emsp14|nvdash|nvDash|nVdash|nVDash|ugrave|ufisht|nvHarr|larrfs|nvlArr|larrhk|larrlp|larrpl|nvrArr|Udblac|nwarhk|larrtl|nwnear|oacute|Oacute|latail|lAtail|sstarf|lbrace|odblac|Odblac|lbrack|udblac|odsold|eparsl|lcaron|Lcaron|ograve|Ograve|lcedil|Lcedil|Aacute|ssmile|ssetmn|squarf|ldquor|capcup|ominus|cylcty|rharul|eqcirc|dagger|rfloor|rfisht|Dagger|daleth|equals|origof|capdot|equest|dcaron|Dcaron|rdquor|oslash|Oslash|otilde|Otilde|otimes|Otimes|urcrop|Ubreve|ubreve|Yacute|Uacute|uacute|Rcedil|rcedil|urcorn|parsim|Rcaron|Vdashl|rcaron|Tstrok|percnt|period|permil|Exists|yacute|rbrack|rbrace|phmmat|ccaron|Ccaron|planck|ccedil|plankv|tstrok|female|plusdo|plusdu|ffilig|plusmn|ffllig|Ccedil|rAtail|dfisht|bernou|ratail|Rarrtl|rarrtl|angsph|rarrpl|rarrlp|rarrhk|xwedge|xotime|forall|ForAll|Vvdash|vsupnE|preceq|bigcap|frac12|frac13|frac14|primes|rarrfs|prnsim|frac15|Square|frac16|square|lesdot|frac18|frac23|propto|prurel|rarrap|rangle|puncsp|frac25|Racute|qprime|racute|lesges|frac34|abreve|AElig|eqsim|utdot|setmn|urtri|Equal|Uring|seArr|uring|searr|dashv|Dashv|mumap|nabla|iogon|Iogon|sdote|sdotb|scsim|napid|napos|equiv|natur|Acirc|dblac|erarr|nbump|iprod|erDot|ucirc|awint|esdot|angrt|ncong|isinE|scnap|Scirc|scirc|ndash|isins|Ubrcy|nearr|neArr|isinv|nedot|ubrcy|acute|Ycirc|iukcy|Iukcy|xutri|nesim|caret|jcirc|Jcirc|caron|twixt|ddarr|sccue|exist|jmath|sbquo|ngeqq|angst|ccaps|lceil|ngsim|UpTee|delta|Delta|rtrif|nharr|nhArr|nhpar|rtrie|jukcy|Jukcy|kappa|rsquo|Kappa|nlarr|nlArr|TSHcy|rrarr|aogon|Aogon|fflig|xrarr|tshcy|ccirc|nleqq|filig|upsih|nless|dharl|nlsim|fjlig|ropar|nltri|dharr|robrk|roarr|fllig|fltns|roang|rnmid|subnE|subne|lAarr|trisb|Ccirc|acirc|ccups|blank|VDash|forkv|Vdash|langd|cedil|blk12|blk14|laquo|strns|diams|notin|vDash|larrb|blk34|block|disin|uplus|vdash|vBarv|aelig|starf|Wedge|check|xrArr|lates|lbarr|lBarr|notni|lbbrk|bcong|frasl|lbrke|frown|vrtri|vprop|vnsup|gamma|Gamma|wedge|xodot|bdquo|srarr|doteq|ldquo|boxdl|boxdL|gcirc|Gcirc|boxDl|boxDL|boxdr|boxdR|boxDr|TRADE|trade|rlhar|boxDR|vnsub|npart|vltri|rlarr|boxhd|boxhD|nprec|gescc|nrarr|nrArr|boxHd|boxHD|boxhu|boxhU|nrtri|boxHu|clubs|boxHU|times|colon|Colon|gimel|xlArr|Tilde|nsime|tilde|nsmid|nspar|THORN|thorn|xlarr|nsube|nsubE|thkap|xhArr|comma|nsucc|boxul|boxuL|nsupe|nsupE|gneqq|gnsim|boxUl|boxUL|grave|boxur|boxuR|boxUr|boxUR|lescc|angle|bepsi|boxvh|varpi|boxvH|numsp|Theta|gsime|gsiml|theta|boxVh|boxVH|boxvl|gtcir|gtdot|boxvL|boxVl|boxVL|crarr|cross|Cross|nvsim|boxvr|nwarr|nwArr|sqsup|dtdot|Uogon|lhard|lharu|dtrif|ocirc|Ocirc|lhblk|duarr|odash|sqsub|Hacek|sqcup|llarr|duhar|oelig|OElig|ofcir|boxvR|uogon|lltri|boxVr|csube|uuarr|ohbar|csupe|ctdot|olarr|olcir|harrw|oline|sqcap|omacr|Omacr|omega|Omega|boxVR|aleph|lneqq|lnsim|loang|loarr|rharu|lobrk|hcirc|operp|oplus|rhard|Hcirc|orarr|Union|order|ecirc|Ecirc|cuepr|szlig|cuesc|breve|reals|eDDot|Breve|hoarr|lopar|utrif|rdquo|Umacr|umacr|efDot|swArr|ultri|alpha|rceil|ovbar|swarr|Wcirc|wcirc|smtes|smile|bsemi|lrarr|aring|parsl|lrhar|bsime|uhblk|lrtri|cupor|Aring|uharr|uharl|slarr|rbrke|bsolb|lsime|rbbrk|RBarr|lsimg|phone|rBarr|rbarr|icirc|lsquo|Icirc|emacr|Emacr|ratio|simne|plusb|simlE|simgE|simeq|pluse|ltcir|ltdot|empty|xharr|xdtri|iexcl|Alpha|ltrie|rarrw|pound|ltrif|xcirc|bumpe|prcue|bumpE|asymp|amacr|cuvee|Sigma|sigma|iiint|udhar|iiota|ijlig|IJlig|supnE|imacr|Imacr|prime|Prime|image|prnap|eogon|Eogon|rarrc|mdash|mDDot|cuwed|imath|supne|imped|Amacr|udarr|prsim|micro|rarrb|cwint|raquo|infin|eplus|range|rangd|Ucirc|radic|minus|amalg|veeeq|rAarr|epsiv|ycirc|quest|sharp|quot|zwnj|Qscr|race|qscr|Qopf|qopf|qint|rang|Rang|Zscr|zscr|Zopf|zopf|rarr|rArr|Rarr|Pscr|pscr|prop|prod|prnE|prec|ZHcy|zhcy|prap|Zeta|zeta|Popf|popf|Zdot|plus|zdot|Yuml|yuml|phiv|YUcy|yucy|Yscr|yscr|perp|Yopf|yopf|part|para|YIcy|Ouml|rcub|yicy|YAcy|rdca|ouml|osol|Oscr|rdsh|yacy|real|oscr|xvee|andd|rect|andv|Xscr|oror|ordm|ordf|xscr|ange|aopf|Aopf|rHar|Xopf|opar|Oopf|xopf|xnis|rhov|oopf|omid|xmap|oint|apid|apos|ogon|ascr|Ascr|odot|odiv|xcup|xcap|ocir|oast|nvlt|nvle|nvgt|nvge|nvap|Wscr|wscr|auml|ntlg|ntgl|nsup|nsub|nsim|Nscr|nscr|nsce|Wopf|ring|npre|wopf|npar|Auml|Barv|bbrk|Nopf|nopf|nmid|nLtv|beta|ropf|Ropf|Beta|beth|nles|rpar|nleq|bnot|bNot|nldr|NJcy|rscr|Rscr|Vscr|vscr|rsqb|njcy|bopf|nisd|Bopf|rtri|Vopf|nGtv|ngtr|vopf|boxh|boxH|boxv|nges|ngeq|boxV|bscr|scap|Bscr|bsim|Vert|vert|bsol|bull|bump|caps|cdot|ncup|scnE|ncap|nbsp|napE|Cdot|cent|sdot|Vbar|nang|vBar|chcy|Mscr|mscr|sect|semi|CHcy|Mopf|mopf|sext|circ|cire|mldr|mlcp|cirE|comp|shcy|SHcy|vArr|varr|cong|copf|Copf|copy|COPY|malt|male|macr|lvnE|cscr|ltri|sime|ltcc|simg|Cscr|siml|csub|Uuml|lsqb|lsim|uuml|csup|Lscr|lscr|utri|smid|lpar|cups|smte|lozf|darr|Lopf|Uscr|solb|lopf|sopf|Sopf|lneq|uscr|spar|dArr|lnap|Darr|dash|Sqrt|LJcy|ljcy|lHar|dHar|Upsi|upsi|diam|lesg|djcy|DJcy|leqq|dopf|Dopf|dscr|Dscr|dscy|ldsh|ldca|squf|DScy|sscr|Sscr|dsol|lcub|late|star|Star|Uopf|Larr|lArr|larr|uopf|dtri|dzcy|sube|subE|Lang|lang|Kscr|kscr|Kopf|kopf|KJcy|kjcy|KHcy|khcy|DZcy|ecir|edot|eDot|Jscr|jscr|succ|Jopf|jopf|Edot|uHar|emsp|ensp|Iuml|iuml|eopf|isin|Iscr|iscr|Eopf|epar|sung|epsi|escr|sup1|sup2|sup3|Iota|iota|supe|supE|Iopf|iopf|IOcy|iocy|Escr|esim|Esim|imof|Uarr|QUOT|uArr|uarr|euml|IEcy|iecy|Idot|Euml|euro|excl|Hscr|hscr|Hopf|hopf|TScy|tscy|Tscr|hbar|tscr|flat|tbrk|fnof|hArr|harr|half|fopf|Fopf|tdot|gvnE|fork|trie|gtcc|fscr|Fscr|gdot|gsim|Gscr|gscr|Gopf|gopf|gneq|Gdot|tosa|gnap|Topf|topf|geqq|toea|GJcy|gjcy|tint|gesl|mid|Sfr|ggg|top|ges|gla|glE|glj|geq|gne|gEl|gel|gnE|Gcy|gcy|gap|Tfr|tfr|Tcy|tcy|Hat|Tau|Ffr|tau|Tab|hfr|Hfr|ffr|Fcy|fcy|icy|Icy|iff|ETH|eth|ifr|Ifr|Eta|eta|int|Int|Sup|sup|ucy|Ucy|Sum|sum|jcy|ENG|ufr|Ufr|eng|Jcy|jfr|els|ell|egs|Efr|efr|Jfr|uml|kcy|Kcy|Ecy|ecy|kfr|Kfr|lap|Sub|sub|lat|lcy|Lcy|leg|Dot|dot|lEg|leq|les|squ|div|die|lfr|Lfr|lgE|Dfr|dfr|Del|deg|Dcy|dcy|lne|lnE|sol|loz|smt|Cup|lrm|cup|lsh|Lsh|sim|shy|map|Map|mcy|Mcy|mfr|Mfr|mho|gfr|Gfr|sfr|cir|Chi|chi|nap|Cfr|vcy|Vcy|cfr|Scy|scy|ncy|Ncy|vee|Vee|Cap|cap|nfr|scE|sce|Nfr|nge|ngE|nGg|vfr|Vfr|ngt|bot|nGt|nis|niv|Rsh|rsh|nle|nlE|bne|Bfr|bfr|nLl|nlt|nLt|Bcy|bcy|not|Not|rlm|wfr|Wfr|npr|nsc|num|ocy|ast|Ocy|ofr|xfr|Xfr|Ofr|ogt|ohm|apE|olt|Rho|ape|rho|Rfr|rfr|ord|REG|ang|reg|orv|And|and|AMP|Rcy|amp|Afr|ycy|Ycy|yen|yfr|Yfr|rcy|par|pcy|Pcy|pfr|Pfr|phi|Phi|afr|Acy|acy|zcy|Zcy|piv|acE|acd|zfr|Zfr|pre|prE|psi|Psi|qfr|Qfr|zwj|Or|ge|Gg|gt|gg|el|oS|lt|Lt|LT|Re|lg|gl|eg|ne|Im|it|le|DD|wp|wr|nu|Nu|dd|lE|Sc|sc|pi|Pi|ee|af|ll|Ll|rx|gE|xi|pm|Xi|ic|pr|Pr|in|ni|mp|mu|ac|Mu|or|ap|Gt|GT|ii);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)(?!;)([=a-zA-Z0-9]?)|&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+)/g,A={aacute:"á",Aacute:"Á",abreve:"ă",Abreve:"Ă",ac:"∾",acd:"∿",acE:"∾̳",acirc:"â",Acirc:"Â",acute:"´",acy:"а",Acy:"А",aelig:"æ",AElig:"Æ",af:"⁡",afr:"𝔞",Afr:"𝔄",agrave:"à",Agrave:"À",alefsym:"ℵ",aleph:"ℵ",alpha:"α",Alpha:"Α",amacr:"ā",Amacr:"Ā",amalg:"⨿",amp:"&",AMP:"&",and:"∧",And:"⩓",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",Aogon:"Ą",aopf:"𝕒",Aopf:"𝔸",ap:"≈",apacir:"⩯",ape:"≊",apE:"⩰",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",aring:"å",Aring:"Å",ascr:"𝒶",Ascr:"𝒜",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",Bcy:"Б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",beta:"β",Beta:"Β",beth:"ℶ",between:"≬",bfr:"𝔟",Bfr:"𝔅",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bNot:"⫭",bopf:"𝕓",Bopf:"𝔹",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxhD:"╥",boxHd:"╤",boxHD:"╦",boxhu:"┴",boxhU:"╨",boxHu:"╧",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpe:"≏",bumpE:"⪮",bumpeq:"≏",Bumpeq:"≎",cacute:"ć",Cacute:"Ć",cap:"∩",Cap:"⋒",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",ccaron:"č",Ccaron:"Č",ccedil:"ç",Ccedil:"Ç",ccirc:"ĉ",Ccirc:"Ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",Cdot:"Ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",chcy:"ч",CHcy:"Ч",check:"✓",checkmark:"✓",chi:"χ",Chi:"Χ",cir:"○",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cire:"≗",cirE:"⧃",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",colone:"≔",Colone:"⩴",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",cscr:"𝒸",Cscr:"𝒞",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",Cup:"⋓",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",dArr:"⇓",Darr:"↡",dash:"‐",dashv:"⊣",Dashv:"⫤",dbkarow:"⤏",dblac:"˝",dcaron:"ď",Dcaron:"Ď",dcy:"д",Dcy:"Д",dd:"ⅆ",DD:"ⅅ",ddagger:"‡",ddarr:"⇊",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",delta:"δ",Delta:"Δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",Dfr:"𝔇",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",DJcy:"Ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",Dopf:"𝔻",dot:"˙",Dot:"¨",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",downarrow:"↓",Downarrow:"⇓",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",Dscr:"𝒟",dscy:"ѕ",DScy:"Ѕ",dsol:"⧶",dstrok:"đ",Dstrok:"Đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",DZcy:"Џ",dzigrarr:"⟿",eacute:"é",Eacute:"É",easter:"⩮",ecaron:"ě",Ecaron:"Ě",ecir:"≖",ecirc:"ê",Ecirc:"Ê",ecolon:"≕",ecy:"э",Ecy:"Э",eDDot:"⩷",edot:"ė",eDot:"≑",Edot:"Ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",Efr:"𝔈",eg:"⪚",egrave:"è",Egrave:"È",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",Emacr:"Ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp:" ",emsp13:" ",emsp14:" ",eng:"ŋ",ENG:"Ŋ",ensp:" ",eogon:"ę",Eogon:"Ę",eopf:"𝕖",Eopf:"𝔼",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",Epsilon:"Ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",esim:"≂",Esim:"⩳",eta:"η",Eta:"Η",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",fcy:"ф",Fcy:"Ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",Ffr:"𝔉",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",Fopf:"𝔽",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",gamma:"γ",Gamma:"Γ",gammad:"ϝ",Gammad:"Ϝ",gap:"⪆",gbreve:"ğ",Gbreve:"Ğ",Gcedil:"Ģ",gcirc:"ĝ",Gcirc:"Ĝ",gcy:"г",Gcy:"Г",gdot:"ġ",Gdot:"Ġ",ge:"≥",gE:"≧",gel:"⋛",gEl:"⪌",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",Gfr:"𝔊",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",GJcy:"Ѓ",gl:"≷",gla:"⪥",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",Gopf:"𝔾",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",gscr:"ℊ",Gscr:"𝒢",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",Gt:"≫",GT:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",HARDcy:"Ъ",harr:"↔",hArr:"⇔",harrcir:"⥈",harrw:"↭",Hat:"^",hbar:"ℏ",hcirc:"ĥ",Hcirc:"Ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",hstrok:"ħ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",iacute:"í",Iacute:"Í",ic:"⁣",icirc:"î",Icirc:"Î",icy:"и",Icy:"И",Idot:"İ",iecy:"е",IEcy:"Е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",igrave:"ì",Igrave:"Ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",IJlig:"IJ",Im:"ℑ",imacr:"ī",Imacr:"Ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",Implies:"⇒",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",Int:"∬",intcal:"⊺",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",iocy:"ё",IOcy:"Ё",iogon:"į",Iogon:"Į",iopf:"𝕚",Iopf:"𝕀",iota:"ι",Iota:"Ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",Itilde:"Ĩ",iukcy:"і",Iukcy:"І",iuml:"ï",Iuml:"Ï",jcirc:"ĵ",Jcirc:"Ĵ",jcy:"й",Jcy:"Й",jfr:"𝔧",Jfr:"𝔍",jmath:"ȷ",jopf:"𝕛",Jopf:"𝕁",jscr:"𝒿",Jscr:"𝒥",jsercy:"ј",Jsercy:"Ј",jukcy:"є",Jukcy:"Є",kappa:"κ",Kappa:"Κ",kappav:"ϰ",kcedil:"ķ",Kcedil:"Ķ",kcy:"к",Kcy:"К",kfr:"𝔨",Kfr:"𝔎",kgreen:"ĸ",khcy:"х",KHcy:"Х",kjcy:"ќ",KJcy:"Ќ",kopf:"𝕜",Kopf:"𝕂",kscr:"𝓀",Kscr:"𝒦",lAarr:"⇚",lacute:"ĺ",Lacute:"Ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",Lambda:"Λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larr:"←",lArr:"⇐",Larr:"↞",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",lAtail:"⤛",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",Lcaron:"Ľ",lcedil:"ļ",Lcedil:"Ļ",lceil:"⌈",lcub:"{",lcy:"л",Lcy:"Л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",leftarrow:"←",Leftarrow:"⇐",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",Leftrightarrow:"⇔",LeftRightArrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",leg:"⋚",lEg:"⪋",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",Lfr:"𝔏",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",LJcy:"Љ",ll:"≪",Ll:"⋘",llarr:"⇇",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",lmidot:"ŀ",Lmidot:"Ŀ",lmoust:"⎰",lmoustache:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",Longleftarrow:"⟸",LongLeftArrow:"⟵",longleftrightarrow:"⟷",Longleftrightarrow:"⟺",LongLeftRightArrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",Longrightarrow:"⟹",LongRightArrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",Lopf:"𝕃",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",Lstrok:"Ł",lt:"<",Lt:"≪",LT:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",Map:"⤅",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",Mcy:"М",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",mfr:"𝔪",Mfr:"𝔐",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",Mopf:"𝕄",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",mu:"μ",Mu:"Μ",multimap:"⊸",mumap:"⊸",nabla:"∇",nacute:"ń",Nacute:"Ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",Ncaron:"Ň",ncedil:"ņ",Ncedil:"Ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",Ncy:"Н",ndash:"–",ne:"≠",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:` -`,nexist:"∄",nexists:"∄",nfr:"𝔫",Nfr:"𝔑",nge:"≱",ngE:"≧̸",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",ngt:"≯",nGt:"≫⃒",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",NJcy:"Њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nle:"≰",nlE:"≦̸",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nlt:"≮",nLt:"≪⃒",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",not:"¬",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrarr:"↛",nrArr:"⇏",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",Nscr:"𝒩",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsube:"⊈",nsubE:"⫅̸",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupe:"⊉",nsupE:"⫆̸",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",Ntilde:"Ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",Nu:"Ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",oacute:"ó",Oacute:"Ó",oast:"⊛",ocir:"⊚",ocirc:"ô",Ocirc:"Ô",ocy:"о",Ocy:"О",odash:"⊝",odblac:"ő",Odblac:"Ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",OElig:"Œ",ofcir:"⦿",ofr:"𝔬",Ofr:"𝔒",ogon:"˛",ograve:"ò",Ograve:"Ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",Omacr:"Ō",omega:"ω",Omega:"Ω",omicron:"ο",Omicron:"Ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",Oopf:"𝕆",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",or:"∨",Or:"⩔",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",oscr:"ℴ",Oscr:"𝒪",oslash:"ø",Oslash:"Ø",osol:"⊘",otilde:"õ",Otilde:"Õ",otimes:"⊗",Otimes:"⨷",otimesas:"⨶",ouml:"ö",Ouml:"Ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",pcy:"п",Pcy:"П",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",Pfr:"𝔓",phi:"φ",Phi:"Φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",Pi:"Π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",pr:"≺",Pr:"⪻",prap:"⪷",prcue:"≼",pre:"⪯",prE:"⪳",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportion:"∷",Proportional:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",Pscr:"𝒫",psi:"ψ",Psi:"Ψ",puncsp:" ",qfr:"𝔮",Qfr:"𝔔",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",qscr:"𝓆",Qscr:"𝒬",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",racute:"ŕ",Racute:"Ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rArr:"⇒",Rarr:"↠",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",Rarrtl:"⤖",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",Rcaron:"Ř",rcedil:"ŗ",Rcedil:"Ŗ",rceil:"⌉",rcub:"}",rcy:"р",Rcy:"Р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",Re:"ℜ",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",Rho:"Ρ",rhov:"ϱ",RightAngleBracket:"⟩",rightarrow:"→",Rightarrow:"⇒",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",sacute:"ś",Sacute:"Ś",sbquo:"‚",sc:"≻",Sc:"⪼",scap:"⪸",scaron:"š",Scaron:"Š",sccue:"≽",sce:"⪰",scE:"⪴",scedil:"ş",Scedil:"Ş",scirc:"ŝ",Scirc:"Ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",Scy:"С",sdot:"⋅",sdotb:"⊡",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",Sfr:"𝔖",sfrown:"⌢",sharp:"♯",shchcy:"щ",SHCHcy:"Щ",shcy:"ш",SHcy:"Ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",sigma:"σ",Sigma:"Σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",SOFTcy:"Ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",Sopf:"𝕊",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",Sscr:"𝒮",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",Star:"⋆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",sube:"⊆",subE:"⫅",subedot:"⫃",submult:"⫁",subne:"⊊",subnE:"⫋",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup:"⊃",Sup:"⋑",sup1:"¹",sup2:"²",sup3:"³",supdot:"⪾",supdsub:"⫘",supe:"⊇",supE:"⫆",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supne:"⊋",supnE:"⫌",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",tau:"τ",Tau:"Τ",tbrk:"⎴",tcaron:"ť",Tcaron:"Ť",tcedil:"ţ",Tcedil:"Ţ",tcy:"т",Tcy:"Т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",Tfr:"𝔗",there4:"∴",therefore:"∴",Therefore:"∴",theta:"θ",Theta:"Θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",thinsp:" ",ThinSpace:" ",thkap:"≈",thksim:"∼",thorn:"þ",THORN:"Þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",Topf:"𝕋",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",Tscr:"𝒯",tscy:"ц",TScy:"Ц",tshcy:"ћ",TSHcy:"Ћ",tstrok:"ŧ",Tstrok:"Ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uacute:"ú",Uacute:"Ú",uarr:"↑",uArr:"⇑",Uarr:"↟",Uarrocir:"⥉",ubrcy:"ў",Ubrcy:"Ў",ubreve:"ŭ",Ubreve:"Ŭ",ucirc:"û",Ucirc:"Û",ucy:"у",Ucy:"У",udarr:"⇅",udblac:"ű",Udblac:"Ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",Ufr:"𝔘",ugrave:"ù",Ugrave:"Ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",Umacr:"Ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",uogon:"ų",Uogon:"Ų",uopf:"𝕦",Uopf:"𝕌",uparrow:"↑",Uparrow:"⇑",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",updownarrow:"↕",Updownarrow:"⇕",UpDownArrow:"↕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",upsilon:"υ",Upsilon:"Υ",UpTee:"⊥",UpTeeArrow:"↥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",Uring:"Ů",urtri:"◹",uscr:"𝓊",Uscr:"𝒰",utdot:"⋰",utilde:"ũ",Utilde:"Ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",Uuml:"Ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",vcy:"в",Vcy:"В",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",vee:"∨",Vee:"⋁",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",vfr:"𝔳",Vfr:"𝔙",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",Vopf:"𝕍",vprop:"∝",vrtri:"⊳",vscr:"𝓋",Vscr:"𝒱",vsubne:"⊊︀",vsubnE:"⫋︀",vsupne:"⊋︀",vsupnE:"⫌︀",Vvdash:"⊪",vzigzag:"⦚",wcirc:"ŵ",Wcirc:"Ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",wfr:"𝔴",Wfr:"𝔚",wopf:"𝕨",Wopf:"𝕎",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",Wscr:"𝒲",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",Xfr:"𝔛",xharr:"⟷",xhArr:"⟺",xi:"ξ",Xi:"Ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",Xopf:"𝕏",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",xscr:"𝓍",Xscr:"𝒳",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",Yacute:"Ý",yacy:"я",YAcy:"Я",ycirc:"ŷ",Ycirc:"Ŷ",ycy:"ы",Ycy:"Ы",yen:"¥",yfr:"𝔶",Yfr:"𝔜",yicy:"ї",YIcy:"Ї",yopf:"𝕪",Yopf:"𝕐",yscr:"𝓎",Yscr:"𝒴",yucy:"ю",YUcy:"Ю",yuml:"ÿ",Yuml:"Ÿ",zacute:"ź",Zacute:"Ź",zcaron:"ž",Zcaron:"Ž",zcy:"з",Zcy:"З",zdot:"ż",Zdot:"Ż",zeetrf:"ℨ",ZeroWidthSpace:"​",zeta:"ζ",Zeta:"Ζ",zfr:"𝔷",Zfr:"ℨ",zhcy:"ж",ZHcy:"Ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",zscr:"𝓏",Zscr:"𝒵",zwj:"‍",zwnj:"‌"},m={aacute:"á",Aacute:"Á",acirc:"â",Acirc:"Â",acute:"´",aelig:"æ",AElig:"Æ",agrave:"à",Agrave:"À",amp:"&",AMP:"&",aring:"å",Aring:"Å",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",brvbar:"¦",ccedil:"ç",Ccedil:"Ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",eacute:"é",Eacute:"É",ecirc:"ê",Ecirc:"Ê",egrave:"è",Egrave:"È",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",iacute:"í",Iacute:"Í",icirc:"î",Icirc:"Î",iexcl:"¡",igrave:"ì",Igrave:"Ì",iquest:"¿",iuml:"ï",Iuml:"Ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",ntilde:"ñ",Ntilde:"Ñ",oacute:"ó",Oacute:"Ó",ocirc:"ô",Ocirc:"Ô",ograve:"ò",Ograve:"Ò",ordf:"ª",ordm:"º",oslash:"ø",Oslash:"Ø",otilde:"õ",Otilde:"Õ",ouml:"ö",Ouml:"Ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",thorn:"þ",THORN:"Þ",times:"×",uacute:"ú",Uacute:"Ú",ucirc:"û",Ucirc:"Û",ugrave:"ù",Ugrave:"Ù",uml:"¨",uuml:"ü",Uuml:"Ü",yacute:"ý",Yacute:"Ý",yen:"¥",yuml:"ÿ"},v={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},C=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],B=String.fromCharCode,T={},N=T.hasOwnProperty,R=function(pe,z){return N.call(pe,z)},J=function(pe,z){for(var O=-1,E=pe.length;++O=55296&&pe<=57343||pe>1114111?(z&&ue("character reference outside the permissible Unicode range"),"�"):R(v,pe)?(z&&ue("disallowed character reference"),v[pe]):(z&&J(C,pe)&&ue("disallowed character reference"),pe>65535&&(pe-=65536,O+=B(pe>>>10&1023|55296),pe=56320|pe&1023),O+=B(pe),O)},ee=function(pe){return"&#x"+pe.toString(16).toUpperCase()+";"},K=function(pe){return"&#"+pe+";"},ue=function(pe){throw Error("Parse error: "+pe)},oe=function(pe,z){z=q(z,oe.options);var O=z.strict;O&&h.test(pe)&&ue("forbidden code point");var E=z.encodeEverything,F=z.useNamedReferences,D=z.allowUnsafeSymbols,g=z.decimal?K:ee,P=function(b){return g(b.charCodeAt(0))};return E?(pe=pe.replace(a,function(b){return F&&R(l,b)?"&"+l[b]+";":P(b)}),F&&(pe=pe.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),F&&(pe=pe.replace(c,function(b){return"&"+l[b]+";"}))):F?(D||(pe=pe.replace(p,function(b){return"&"+l[b]+";"})),pe=pe.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),pe=pe.replace(c,function(b){return"&"+l[b]+";"})):D||(pe=pe.replace(p,P)),pe.replace(o,function(b){var w=b.charCodeAt(0),I=b.charCodeAt(1),$=(w-55296)*1024+I-56320+65536;return g($)}).replace(i,P)};oe.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1,decimal:!1};var de=function(pe,z){z=q(z,de.options);var O=z.strict;return O&&f.test(pe)&&ue("malformed character reference"),pe.replace(y,function(E,F,D,g,P,b,w,I,$){var M,L,Y,be,Ne,Ve;return F?(Ne=F,A[Ne]):D?(Ne=D,Ve=g,Ve&&z.isAttributeValue?(O&&Ve=="="&&ue("`&` did not start a character reference"),E):(O&&ue("named character reference was not terminated by a semicolon"),m[Ne]+(Ve||""))):P?(Y=P,L=b,O&&!L&&ue("character reference was not terminated by a semicolon"),M=parseInt(Y,10),G(M,O)):w?(be=w,L=I,O&&!L&&ue("character reference was not terminated by a semicolon"),M=parseInt(be,16),G(M,O)):(O&&ue("named character reference was not terminated by a semicolon"),E)})};de.options={isAttributeValue:!1,strict:!1};var he=function(pe){return pe.replace(p,function(z){return d[z]})},fe={version:"1.2.0",encode:oe,decode:de,escape:he,unescape:de};if(n&&!n.nodeType)if(u)u.exports=fe;else for(var ge in fe)R(fe,ge)&&(n[ge]=fe[ge]);else r.he=fe})(Ce)})($p,$p.exports);var W3=$p.exports;Object.defineProperty(xa,"__esModule",{value:!0});var v8=W3,xhe=function(){function e(t,r){t===void 0&&(t=null),this.parentNode=t,this.childNodes=[],Object.defineProperty(this,"range",{enumerable:!1,writable:!0,configurable:!0,value:r??[-1,-1]})}return e.prototype.remove=function(){var t=this;if(this.parentNode){var r=this.parentNode.childNodes;this.parentNode.childNodes=r.filter(function(n){return t!==n}),this.parentNode=null}return this},Object.defineProperty(e.prototype,"innerText",{get:function(){return this.rawText},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"textContent",{get:function(){return(0,v8.decode)(this.rawText)},set:function(t){this.rawText=(0,v8.encode)(t)},enumerable:!1,configurable:!0}),e}();xa.default=xhe;var so={};Object.defineProperty(so,"__esModule",{value:!0});var Rh;(function(e){e[e.ELEMENT_NODE=1]="ELEMENT_NODE",e[e.TEXT_NODE=3]="TEXT_NODE",e[e.COMMENT_NODE=8]="COMMENT_NODE"})(Rh||(Rh={}));so.default=Rh;var Rhe=Ce&&Ce.__extends||function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,u){n.__proto__=u}||function(n,u){for(var s in u)Object.prototype.hasOwnProperty.call(u,s)&&(n[s]=u[s])},e(t,r)};return function(t,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");e(t,r);function n(){this.constructor=t}t.prototype=r===null?Object.create(r):(n.prototype=r.prototype,new n)}}(),w_=Ce&&Ce.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Od,"__esModule",{value:!0});var jhe=w_(xa),Mhe=w_(so),Lhe=function(e){Rhe(t,e);function t(r,n,u){var s=e.call(this,n,u)||this;return s.rawText=r,s.nodeType=Mhe.default.COMMENT_NODE,s}return t.prototype.clone=function(){return new t(this.rawText,null)},Object.defineProperty(t.prototype,"text",{get:function(){return this.rawText},enumerable:!1,configurable:!0}),t.prototype.toString=function(){return"")},t}(jhe.default);Od.default=Lhe;var Tu={},__={},B_={},Gr={},oo={},Sc={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Doctype=e.CDATA=e.Tag=e.Style=e.Script=e.Comment=e.Directive=e.Text=e.Root=e.isTag=e.ElementType=void 0;var t;(function(n){n.Root="root",n.Text="text",n.Directive="directive",n.Comment="comment",n.Script="script",n.Style="style",n.Tag="tag",n.CDATA="cdata",n.Doctype="doctype"})(t=e.ElementType||(e.ElementType={}));function r(n){return n.type===t.Tag||n.type===t.Script||n.type===t.Style}e.isTag=r,e.Root=t.Root,e.Text=t.Text,e.Directive=t.Directive,e.Comment=t.Comment,e.Script=t.Script,e.Style=t.Style,e.Tag=t.Tag,e.CDATA=t.CDATA,e.Doctype=t.Doctype})(Sc);var lt={},ao=Ce&&Ce.__extends||function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,u){n.__proto__=u}||function(n,u){for(var s in u)Object.prototype.hasOwnProperty.call(u,s)&&(n[s]=u[s])},e(t,r)};return function(t,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");e(t,r);function n(){this.constructor=t}t.prototype=r===null?Object.create(r):(n.prototype=r.prototype,new n)}}(),_i=Ce&&Ce.__assign||function(){return _i=Object.assign||function(e){for(var t,r=1,n=arguments.length;r0?this.children[this.children.length-1]:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"childNodes",{get:function(){return this.children},set:function(r){this.children=r},enumerable:!1,configurable:!0}),t}(J3);lt.NodeWithChildren=Nd;var k_=function(e){ao(t,e);function t(r){return e.call(this,Ut.ElementType.Root,r)||this}return t}(Nd);lt.Document=k_;var O_=function(e){ao(t,e);function t(r,n,u,s){u===void 0&&(u=[]),s===void 0&&(s=r==="script"?Ut.ElementType.Script:r==="style"?Ut.ElementType.Style:Ut.ElementType.Tag);var o=e.call(this,s,u)||this;return o.name=r,o.attribs=n,o}return Object.defineProperty(t.prototype,"tagName",{get:function(){return this.name},set:function(r){this.name=r},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"attributes",{get:function(){var r=this;return Object.keys(this.attribs).map(function(n){var u,s;return{name:n,value:r.attribs[n],namespace:(u=r["x-attribsNamespace"])===null||u===void 0?void 0:u[n],prefix:(s=r["x-attribsPrefix"])===null||s===void 0?void 0:s[n]}})},enumerable:!1,configurable:!0}),t}(Nd);lt.Element=O_;function I_(e){return(0,Ut.isTag)(e)}lt.isTag=I_;function N_(e){return e.type===Ut.ElementType.CDATA}lt.isCDATA=N_;function q_(e){return e.type===Ut.ElementType.Text}lt.isText=q_;function x_(e){return e.type===Ut.ElementType.Comment}lt.isComment=x_;function R_(e){return e.type===Ut.ElementType.Directive}lt.isDirective=R_;function j_(e){return e.type===Ut.ElementType.Root}lt.isDocument=j_;function Ghe(e){return Object.prototype.hasOwnProperty.call(e,"children")}lt.hasChildren=Ghe;function z3(e,t){t===void 0&&(t=!1);var r;if(q_(e))r=new T_(e.data);else if(x_(e))r=new $_(e.data);else if(I_(e)){var n=t?g2(e.children):[],u=new O_(e.name,_i({},e.attribs),n);n.forEach(function(i){return i.parent=u}),e.namespace!=null&&(u.namespace=e.namespace),e["x-attribsNamespace"]&&(u["x-attribsNamespace"]=_i({},e["x-attribsNamespace"])),e["x-attribsPrefix"]&&(u["x-attribsPrefix"]=_i({},e["x-attribsPrefix"])),r=u}else if(N_(e)){var n=t?g2(e.children):[],s=new Nd(Ut.ElementType.CDATA,n);n.forEach(function(c){return c.parent=s}),r=s}else if(j_(e)){var n=t?g2(e.children):[],o=new k_(n);n.forEach(function(c){return c.parent=o}),e["x-mode"]&&(o["x-mode"]=e["x-mode"]),r=o}else if(R_(e)){var a=new P_(e.name,e.data);e["x-name"]!=null&&(a["x-name"]=e["x-name"],a["x-publicId"]=e["x-publicId"],a["x-systemId"]=e["x-systemId"]),r=a}else throw new Error("Not implemented yet: ".concat(e.type));return r.startIndex=e.startIndex,r.endIndex=e.endIndex,e.sourceCodeLocation!=null&&(r.sourceCodeLocation=e.sourceCodeLocation),r}lt.cloneNode=z3;function g2(e){for(var t=e.map(function(n){return z3(n,!0)}),r=1;r",zze=">",Kze="Í",Xze="í",Yze="Î",Zze="î",Qze="¡",eKe="Ì",tKe="ì",rKe="¿",nKe="Ï",uKe="ï",sKe="«",oKe="<",aKe="<",iKe="¯",cKe="µ",lKe="·",pKe=" ",dKe="¬",fKe="Ñ",DKe="ñ",hKe="Ó",mKe="ó",EKe="Ô",yKe="ô",vKe="Ò",gKe="ò",AKe="ª",FKe="º",CKe="Ø",bKe="ø",SKe="Õ",wKe="õ",_Ke="Ö",BKe="ö",TKe="¶",$Ke="±",PKe="£",kKe='"',OKe='"',IKe="»",NKe="®",qKe="®",xKe="§",RKe="­",jKe="¹",MKe="²",LKe="³",UKe="ß",GKe="Þ",VKe="þ",HKe="×",WKe="Ú",JKe="ú",zKe="Û",KKe="û",XKe="Ù",YKe="ù",ZKe="¨",QKe="Ü",eXe="ü",tXe="Ý",rXe="ý",nXe="¥",uXe="ÿ",sXe={Aacute:aze,aacute:ize,Acirc:cze,acirc:lze,acute:pze,AElig:dze,aelig:fze,Agrave:Dze,agrave:hze,amp:mze,AMP:Eze,Aring:yze,aring:vze,Atilde:gze,atilde:Aze,Auml:Fze,auml:Cze,brvbar:bze,Ccedil:Sze,ccedil:wze,cedil:_ze,cent:Bze,copy:Tze,COPY:$ze,curren:Pze,deg:kze,divide:Oze,Eacute:Ize,eacute:Nze,Ecirc:qze,ecirc:xze,Egrave:Rze,egrave:jze,ETH:Mze,eth:Lze,Euml:Uze,euml:Gze,frac12:Vze,frac14:Hze,frac34:Wze,gt:Jze,GT:zze,Iacute:Kze,iacute:Xze,Icirc:Yze,icirc:Zze,iexcl:Qze,Igrave:eKe,igrave:tKe,iquest:rKe,Iuml:nKe,iuml:uKe,laquo:sKe,lt:oKe,LT:aKe,macr:iKe,micro:cKe,middot:lKe,nbsp:pKe,not:dKe,Ntilde:fKe,ntilde:DKe,Oacute:hKe,oacute:mKe,Ocirc:EKe,ocirc:yKe,Ograve:vKe,ograve:gKe,ordf:AKe,ordm:FKe,Oslash:CKe,oslash:bKe,Otilde:SKe,otilde:wKe,Ouml:_Ke,ouml:BKe,para:TKe,plusmn:$Ke,pound:PKe,quot:kKe,QUOT:OKe,raquo:IKe,reg:NKe,REG:qKe,sect:xKe,shy:RKe,sup1:jKe,sup2:MKe,sup3:LKe,szlig:UKe,THORN:GKe,thorn:VKe,times:HKe,Uacute:WKe,uacute:JKe,Ucirc:zKe,ucirc:KKe,Ugrave:XKe,ugrave:YKe,uml:ZKe,Uuml:QKe,uuml:eXe,Yacute:tXe,yacute:rXe,yen:nXe,yuml:uXe},oXe="&",aXe="'",iXe=">",cXe="<",lXe='"',U_={amp:oXe,apos:aXe,gt:iXe,lt:cXe,quot:lXe};var X3={};const pXe={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376};var dXe=Ce&&Ce.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(X3,"__esModule",{value:!0});var g8=dXe(pXe),fXe=String.fromCodePoint||function(e){var t="";return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|e&1023),t+=String.fromCharCode(e),t};function DXe(e){return e>=55296&&e<=57343||e>1114111?"�":(e in g8.default&&(e=g8.default[e]),fXe(e))}X3.default=DXe;var qd=Ce&&Ce.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Su,"__esModule",{value:!0});Su.decodeHTML=Su.decodeHTMLStrict=Su.decodeXML=void 0;var jh=qd(L_),hXe=qd(sXe),mXe=qd(U_),A8=qd(X3),EXe=/&(?:[a-zA-Z0-9]+|#[xX][\da-fA-F]+|#\d+);/g;Su.decodeXML=G_(mXe.default);Su.decodeHTMLStrict=G_(jh.default);function G_(e){var t=V_(e);return function(r){return String(r).replace(EXe,t)}}var F8=function(e,t){return e1?AXe(e):e.charCodeAt(0)).toString(16).toUpperCase()+";"}function FXe(e,t){return function(r){return r.replace(t,function(n){return e[n]}).replace(X_,xd)}}var Y_=new RegExp(J_.source+"|"+X_.source,"g");function CXe(e){return e.replace(Y_,xd)}Vr.escape=CXe;function bXe(e){return e.replace(J_,xd)}Vr.escapeUTF8=bXe;function Z_(e){return function(t){return t.replace(Y_,function(r){return e[r]||xd(r)})}}(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.decodeXMLStrict=e.decodeHTML5Strict=e.decodeHTML4Strict=e.decodeHTML5=e.decodeHTML4=e.decodeHTMLStrict=e.decodeHTML=e.decodeXML=e.encodeHTML5=e.encodeHTML4=e.escapeUTF8=e.escape=e.encodeNonAsciiHTML=e.encodeHTML=e.encodeXML=e.encode=e.decodeStrict=e.decode=void 0;var t=Su,r=Vr;function n(i,c){return(!c||c<=0?t.decodeXML:t.decodeHTML)(i)}e.decode=n;function u(i,c){return(!c||c<=0?t.decodeXML:t.decodeHTMLStrict)(i)}e.decodeStrict=u;function s(i,c){return(!c||c<=0?r.encodeXML:r.encodeHTML)(i)}e.encode=s;var o=Vr;Object.defineProperty(e,"encodeXML",{enumerable:!0,get:function(){return o.encodeXML}}),Object.defineProperty(e,"encodeHTML",{enumerable:!0,get:function(){return o.encodeHTML}}),Object.defineProperty(e,"encodeNonAsciiHTML",{enumerable:!0,get:function(){return o.encodeNonAsciiHTML}}),Object.defineProperty(e,"escape",{enumerable:!0,get:function(){return o.escape}}),Object.defineProperty(e,"escapeUTF8",{enumerable:!0,get:function(){return o.escapeUTF8}}),Object.defineProperty(e,"encodeHTML4",{enumerable:!0,get:function(){return o.encodeHTML}}),Object.defineProperty(e,"encodeHTML5",{enumerable:!0,get:function(){return o.encodeHTML}});var a=Su;Object.defineProperty(e,"decodeXML",{enumerable:!0,get:function(){return a.decodeXML}}),Object.defineProperty(e,"decodeHTML",{enumerable:!0,get:function(){return a.decodeHTML}}),Object.defineProperty(e,"decodeHTMLStrict",{enumerable:!0,get:function(){return a.decodeHTMLStrict}}),Object.defineProperty(e,"decodeHTML4",{enumerable:!0,get:function(){return a.decodeHTML}}),Object.defineProperty(e,"decodeHTML5",{enumerable:!0,get:function(){return a.decodeHTML}}),Object.defineProperty(e,"decodeHTML4Strict",{enumerable:!0,get:function(){return a.decodeHTMLStrict}}),Object.defineProperty(e,"decodeHTML5Strict",{enumerable:!0,get:function(){return a.decodeHTMLStrict}}),Object.defineProperty(e,"decodeXMLStrict",{enumerable:!0,get:function(){return a.decodeXML}})})(M_);var ga={};Object.defineProperty(ga,"__esModule",{value:!0});ga.attributeNames=ga.elementNames=void 0;ga.elementNames=new Map([["altglyph","altGlyph"],["altglyphdef","altGlyphDef"],["altglyphitem","altGlyphItem"],["animatecolor","animateColor"],["animatemotion","animateMotion"],["animatetransform","animateTransform"],["clippath","clipPath"],["feblend","feBlend"],["fecolormatrix","feColorMatrix"],["fecomponenttransfer","feComponentTransfer"],["fecomposite","feComposite"],["feconvolvematrix","feConvolveMatrix"],["fediffuselighting","feDiffuseLighting"],["fedisplacementmap","feDisplacementMap"],["fedistantlight","feDistantLight"],["fedropshadow","feDropShadow"],["feflood","feFlood"],["fefunca","feFuncA"],["fefuncb","feFuncB"],["fefuncg","feFuncG"],["fefuncr","feFuncR"],["fegaussianblur","feGaussianBlur"],["feimage","feImage"],["femerge","feMerge"],["femergenode","feMergeNode"],["femorphology","feMorphology"],["feoffset","feOffset"],["fepointlight","fePointLight"],["fespecularlighting","feSpecularLighting"],["fespotlight","feSpotLight"],["fetile","feTile"],["feturbulence","feTurbulence"],["foreignobject","foreignObject"],["glyphref","glyphRef"],["lineargradient","linearGradient"],["radialgradient","radialGradient"],["textpath","textPath"]]);ga.attributeNames=new Map([["definitionurl","definitionURL"],["attributename","attributeName"],["attributetype","attributeType"],["basefrequency","baseFrequency"],["baseprofile","baseProfile"],["calcmode","calcMode"],["clippathunits","clipPathUnits"],["diffuseconstant","diffuseConstant"],["edgemode","edgeMode"],["filterunits","filterUnits"],["glyphref","glyphRef"],["gradienttransform","gradientTransform"],["gradientunits","gradientUnits"],["kernelmatrix","kernelMatrix"],["kernelunitlength","kernelUnitLength"],["keypoints","keyPoints"],["keysplines","keySplines"],["keytimes","keyTimes"],["lengthadjust","lengthAdjust"],["limitingconeangle","limitingConeAngle"],["markerheight","markerHeight"],["markerunits","markerUnits"],["markerwidth","markerWidth"],["maskcontentunits","maskContentUnits"],["maskunits","maskUnits"],["numoctaves","numOctaves"],["pathlength","pathLength"],["patterncontentunits","patternContentUnits"],["patterntransform","patternTransform"],["patternunits","patternUnits"],["pointsatx","pointsAtX"],["pointsaty","pointsAtY"],["pointsatz","pointsAtZ"],["preservealpha","preserveAlpha"],["preserveaspectratio","preserveAspectRatio"],["primitiveunits","primitiveUnits"],["refx","refX"],["refy","refY"],["repeatcount","repeatCount"],["repeatdur","repeatDur"],["requiredextensions","requiredExtensions"],["requiredfeatures","requiredFeatures"],["specularconstant","specularConstant"],["specularexponent","specularExponent"],["spreadmethod","spreadMethod"],["startoffset","startOffset"],["stddeviation","stdDeviation"],["stitchtiles","stitchTiles"],["surfacescale","surfaceScale"],["systemlanguage","systemLanguage"],["tablevalues","tableValues"],["targetx","targetX"],["targety","targetY"],["textlength","textLength"],["viewbox","viewBox"],["viewtarget","viewTarget"],["xchannelselector","xChannelSelector"],["ychannelselector","yChannelSelector"],["zoomandpan","zoomAndPan"]]);var Yo=Ce&&Ce.__assign||function(){return Yo=Object.assign||function(e){for(var t,r=1,n=arguments.length;r0&&(n+=Z3(e.children,t)),(t.xmlMode||!C8.has(e.name))&&(n+="")),n}function IXe(e){return"<"+e.data+">"}function NXe(e,t){var r=e.data||"";return t.decodeEntities!==!1&&!(!t.xmlMode&&e.parent&&BXe.has(e.parent.name))&&(r=Q_.encodeXML(r)),r}function qXe(e){return""}function xXe(e){return""}var RXe=Ce&&Ce.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Gr,"__esModule",{value:!0});Gr.innerText=Gr.textContent=Gr.getText=Gr.getInnerHTML=Gr.getOuterHTML=void 0;var Zn=oo,jXe=RXe(K3),MXe=Sc;function tB(e,t){return(0,jXe.default)(e,t)}Gr.getOuterHTML=tB;function LXe(e,t){return(0,Zn.hasChildren)(e)?e.children.map(function(r){return tB(r,t)}).join(""):""}Gr.getInnerHTML=LXe;function Ll(e){return Array.isArray(e)?e.map(Ll).join(""):(0,Zn.isTag)(e)?e.name==="br"?` -`:Ll(e.children):(0,Zn.isCDATA)(e)?Ll(e.children):(0,Zn.isText)(e)?e.data:""}Gr.getText=Ll;function Mh(e){return Array.isArray(e)?e.map(Mh).join(""):(0,Zn.hasChildren)(e)&&!(0,Zn.isComment)(e)?Mh(e.children):(0,Zn.isText)(e)?e.data:""}Gr.textContent=Mh;function Lh(e){return Array.isArray(e)?e.map(Lh).join(""):(0,Zn.hasChildren)(e)&&(e.type===MXe.ElementType.Tag||(0,Zn.isCDATA)(e))?Lh(e.children):(0,Zn.isText)(e)?e.data:""}Gr.innerText=Lh;var tr={};Object.defineProperty(tr,"__esModule",{value:!0});tr.prevElementSibling=tr.nextElementSibling=tr.getName=tr.hasAttrib=tr.getAttributeValue=tr.getSiblings=tr.getParent=tr.getChildren=void 0;var rB=oo,UXe=[];function nB(e){var t;return(t=e.children)!==null&&t!==void 0?t:UXe}tr.getChildren=nB;function uB(e){return e.parent||null}tr.getParent=uB;function GXe(e){var t,r,n=uB(e);if(n!=null)return nB(n);for(var u=[e],s=e.prev,o=e.next;s!=null;)u.unshift(s),t=s,s=t.prev;for(;o!=null;)u.push(o),r=o,o=r.next;return u}tr.getSiblings=GXe;function VXe(e,t){var r;return(r=e.attribs)===null||r===void 0?void 0:r[t]}tr.getAttributeValue=VXe;function HXe(e,t){return e.attribs!=null&&Object.prototype.hasOwnProperty.call(e.attribs,t)&&e.attribs[t]!=null}tr.hasAttrib=HXe;function WXe(e){return e.name}tr.getName=WXe;function JXe(e){for(var t,r=e.next;r!==null&&!(0,rB.isTag)(r);)t=r,r=t.next;return r}tr.nextElementSibling=JXe;function zXe(e){for(var t,r=e.prev;r!==null&&!(0,rB.isTag)(r);)t=r,r=t.prev;return r}tr.prevElementSibling=zXe;var Ir={};Object.defineProperty(Ir,"__esModule",{value:!0});Ir.prepend=Ir.prependChild=Ir.append=Ir.appendChild=Ir.replaceElement=Ir.removeElement=void 0;function wc(e){if(e.prev&&(e.prev.next=e.next),e.next&&(e.next.prev=e.prev),e.parent){var t=e.parent.children;t.splice(t.lastIndexOf(e),1)}}Ir.removeElement=wc;function KXe(e,t){var r=t.prev=e.prev;r&&(r.next=t);var n=t.next=e.next;n&&(n.prev=t);var u=t.parent=e.parent;if(u){var s=u.children;s[s.lastIndexOf(e)]=t}}Ir.replaceElement=KXe;function XXe(e,t){if(wc(t),t.next=null,t.parent=e,e.children.push(t)>1){var r=e.children[e.children.length-2];r.next=t,t.prev=r}else t.prev=null}Ir.appendChild=XXe;function YXe(e,t){wc(t);var r=e.parent,n=e.next;if(t.next=n,t.prev=e,e.next=t,t.parent=r,n){if(n.prev=t,r){var u=r.children;u.splice(u.lastIndexOf(n),0,t)}}else r&&r.children.push(t)}Ir.append=YXe;function ZXe(e,t){if(wc(t),t.parent=e,t.prev=null,e.children.unshift(t)!==1){var r=e.children[1];r.prev=t,t.next=r}else t.next=null}Ir.prependChild=ZXe;function QXe(e,t){wc(t);var r=e.parent;if(r){var n=r.children;n.splice(n.indexOf(e),0,t)}e.prev&&(e.prev.next=t),t.parent=r,t.prev=e.prev,t.next=e,e.prev=t}Ir.prepend=QXe;var Fr={};Object.defineProperty(Fr,"__esModule",{value:!0});Fr.findAll=Fr.existsOne=Fr.findOne=Fr.findOneChild=Fr.find=Fr.filter=void 0;var Gi=oo;function eYe(e,t,r,n){return r===void 0&&(r=!0),n===void 0&&(n=1/0),Array.isArray(t)||(t=[t]),Q3(e,t,r,n)}Fr.filter=eYe;function Q3(e,t,r,n){for(var u=[],s=0,o=t;s0){var i=Q3(e,a.children,r,n);if(u.push.apply(u,i),n-=i.length,n<=0)break}}return u}Fr.find=Q3;function tYe(e,t){return t.find(e)}Fr.findOneChild=tYe;function sB(e,t,r){r===void 0&&(r=!0);for(var n=null,u=0;u0&&(n=sB(e,s.children));else continue}return n}Fr.findOne=sB;function oB(e,t){return t.some(function(r){return(0,Gi.isTag)(r)&&(e(r)||r.children.length>0&&oB(e,r.children))})}Fr.existsOne=oB;function rYe(e,t){for(var r,n=[],u=t.filter(Gi.isTag),s;s=u.shift();){var o=(r=s.children)===null||r===void 0?void 0:r.filter(Gi.isTag);o&&o.length>0&&u.unshift.apply(u,o),e(s)&&n.push(s)}return n}Fr.findAll=rYe;var Hr={};Object.defineProperty(Hr,"__esModule",{value:!0});Hr.getElementsByTagType=Hr.getElementsByTagName=Hr.getElementById=Hr.getElements=Hr.testElement=void 0;var js=oo,Rd=Fr,Pp={tag_name:function(e){return typeof e=="function"?function(t){return(0,js.isTag)(t)&&e(t.name)}:e==="*"?js.isTag:function(t){return(0,js.isTag)(t)&&t.name===e}},tag_type:function(e){return typeof e=="function"?function(t){return e(t.type)}:function(t){return t.type===e}},tag_contains:function(e){return typeof e=="function"?function(t){return(0,js.isText)(t)&&e(t.data)}:function(t){return(0,js.isText)(t)&&t.data===e}}};function aB(e,t){return typeof t=="function"?function(r){return(0,js.isTag)(r)&&t(r.attribs[e])}:function(r){return(0,js.isTag)(r)&&r.attribs[e]===t}}function nYe(e,t){return function(r){return e(r)||t(r)}}function iB(e){var t=Object.keys(e).map(function(r){var n=e[r];return Object.prototype.hasOwnProperty.call(Pp,r)?Pp[r](n):aB(r,n)});return t.length===0?null:t.reduce(nYe)}function uYe(e,t){var r=iB(e);return r?r(t):!0}Hr.testElement=uYe;function sYe(e,t,r,n){n===void 0&&(n=1/0);var u=iB(e);return u?(0,Rd.filter)(u,t,r,n):[]}Hr.getElements=sYe;function oYe(e,t,r){return r===void 0&&(r=!0),Array.isArray(t)||(t=[t]),(0,Rd.findOne)(aB("id",e),t,r)}Hr.getElementById=oYe;function aYe(e,t,r,n){return r===void 0&&(r=!0),n===void 0&&(n=1/0),(0,Rd.filter)(Pp.tag_name(e),t,r,n)}Hr.getElementsByTagName=aYe;function iYe(e,t,r,n){return r===void 0&&(r=!0),n===void 0&&(n=1/0),(0,Rd.filter)(Pp.tag_type(e),t,r,n)}Hr.getElementsByTagType=iYe;var ss={};Object.defineProperty(ss,"__esModule",{value:!0});ss.uniqueSort=ss.compareDocumentPosition=ss.removeSubsets=void 0;var b8=oo;function cYe(e){for(var t=e.length;--t>=0;){var r=e[t];if(t>0&&e.lastIndexOf(r,t-1)>=0){e.splice(t,1);continue}for(var n=r.parent;n;n=n.parent)if(e.includes(n)){e.splice(t,1);break}}return e}ss.removeSubsets=cYe;function cB(e,t){var r=[],n=[];if(e===t)return 0;for(var u=(0,b8.hasChildren)(e)?e:e.parent;u;)r.unshift(u),u=u.parent;for(u=(0,b8.hasChildren)(t)?t:t.parent;u;)n.unshift(u),u=u.parent;for(var s=Math.min(r.length,n.length),o=0;oi.indexOf(l)?a===t?20:4:a===e?10:2}ss.compareDocumentPosition=cB;function lYe(e){return e=e.filter(function(t,r,n){return!n.includes(t,r+1)}),e.sort(function(t,r){var n=cB(t,r);return n&2?-1:n&4?1:0}),e}ss.uniqueSort=lYe;var jd={};Object.defineProperty(jd,"__esModule",{value:!0});jd.getFeed=void 0;var pYe=Gr,_c=Hr;function dYe(e){var t=kp(EYe,e);return t?t.name==="feed"?fYe(t):DYe(t):null}jd.getFeed=dYe;function fYe(e){var t,r=e.children,n={type:"atom",items:(0,_c.getElementsByTagName)("entry",r).map(function(o){var a,i=o.children,c={media:lB(i)};Pr(c,"id","id",i),Pr(c,"title","title",i);var l=(a=kp("link",i))===null||a===void 0?void 0:a.attribs.href;l&&(c.link=l);var p=Gs("summary",i)||Gs("content",i);p&&(c.description=p);var d=Gs("updated",i);return d&&(c.pubDate=new Date(d)),c})};Pr(n,"id","id",r),Pr(n,"title","title",r);var u=(t=kp("link",r))===null||t===void 0?void 0:t.attribs.href;u&&(n.link=u),Pr(n,"description","subtitle",r);var s=Gs("updated",r);return s&&(n.updated=new Date(s)),Pr(n,"author","email",r,!0),n}function DYe(e){var t,r,n=(r=(t=kp("channel",e.children))===null||t===void 0?void 0:t.children)!==null&&r!==void 0?r:[],u={type:e.name.substr(0,3),id:"",items:(0,_c.getElementsByTagName)("item",e.children).map(function(o){var a=o.children,i={media:lB(a)};Pr(i,"id","guid",a),Pr(i,"title","title",a),Pr(i,"link","link",a),Pr(i,"description","description",a);var c=Gs("pubDate",a);return c&&(i.pubDate=new Date(c)),i})};Pr(u,"title","title",n),Pr(u,"link","link",n),Pr(u,"description","description",n);var s=Gs("lastBuildDate",n);return s&&(u.updated=new Date(s)),Pr(u,"author","managingEditor",n,!0),u}var hYe=["url","type","lang"],mYe=["fileSize","bitrate","framerate","samplingrate","channels","duration","height","width"];function lB(e){return(0,_c.getElementsByTagName)("media:content",e).map(function(t){for(var r=t.attribs,n={medium:r.medium,isDefault:!!r.isDefault},u=0,s=hYe;u>10|55296,n&1023|56320)}function Qa(e){return e.replace(vYe,CYe)}function A2(e){return e===39||e===34}function w8(e){return e===32||e===9||e===10||e===12||e===13}function bYe(e){const t=[],r=dB(t,`${e}`,0);if(r0&&r0&&pB(n[n.length-1]))throw new Error("Did not expect successive traversals.")}function c(d){if(n.length>0&&n[n.length-1].type===pt.Descendant){n[n.length-1].type=d;return}i(),n.push({type:d})}function l(d,f){n.push({type:pt.Attribute,name:d,action:f,value:u(1),namespace:null,ignoreCase:"quirks"})}function p(){if(n.length&&n[n.length-1].type===pt.Descendant&&n.pop(),n.length===0)throw new Error("Empty sub-selector");e.push(n)}if(s(0),t.length===r)return r;e:for(;re.charCodeAt(0))),_8=new Set(DB.map(e=>e.charCodeAt(0))),Zo=new Set([...DB,"~","^","$","*","+","!","|",":","[","]"," ","."].map(e=>e.charCodeAt(0)));function hB(e){return e.map(t=>t.map(wYe).join("")).join(", ")}function wYe(e,t,r){switch(e.type){case pt.Child:return t===0?"> ":" > ";case pt.Parent:return t===0?"< ":" < ";case pt.Sibling:return t===0?"~ ":" ~ ";case pt.Adjacent:return t===0?"+ ":" + ";case pt.Descendant:return" ";case pt.ColumnCombinator:return t===0?"|| ":" || ";case pt.Universal:return e.namespace==="*"&&t+10?n+e.slice(r):e}const BYe=Object.freeze(Object.defineProperty({__proto__:null,get AttributeAction(){return Tt},IgnoreCaseMode:yYe,get SelectorType(){return pt},isTraversal:pB,parse:bYe,stringify:hB},Symbol.toStringTag,{value:"Module"})),Md=L8(BYe);var ey={},Ld={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.isTraversal=e.procedure=void 0,e.procedure={universal:50,tag:30,attribute:1,pseudo:0,"pseudo-element":0,"column-combinator":-1,descendant:-1,child:-1,parent:-1,sibling:-1,adjacent:-1,_flexibleDescendant:-1};function t(r){return e.procedure[r.type]<0}e.isTraversal=t})(Ld);Object.defineProperty(ey,"__esModule",{value:!0});var T8=Md,TYe=Ld,$8={exists:10,equals:8,not:7,start:6,end:6,any:5,hyphen:4,element:4};function $Ye(e){for(var t=e.map(EB),r=1;r=0&&n>=1);else if(e.type===T8.SelectorType.Pseudo)if(!e.data)t=3;else if(e.name==="has"||e.name==="contains")t=0;else if(Array.isArray(e.data)){t=0;for(var r=0;rt&&(t=n)}e.data.length>1&&t>0&&(t-=1)}else t=1;return t}var Ud={},Gd={};Object.defineProperty(Gd,"__esModule",{value:!0});Gd.attributeRules=void 0;var Sl=io,PYe=/[-[\]{}()*+?.,\\^$|#\s]/g;function P8(e){return e.replace(PYe,"\\$&")}var kYe=new Set(["accept","accept-charset","align","alink","axis","bgcolor","charset","checked","clear","codetype","color","compact","declare","defer","dir","direction","disabled","enctype","face","frame","hreflang","http-equiv","lang","language","link","media","method","multiple","nohref","noresize","noshade","nowrap","readonly","rel","rev","rules","scope","scrolling","selected","shape","target","text","type","valign","valuetype","vlink"]);function Ps(e,t){return typeof e.ignoreCase=="boolean"?e.ignoreCase:e.ignoreCase==="quirks"?!!t.quirksMode:!t.xmlMode&&kYe.has(e.name)}Gd.attributeRules={equals:function(e,t,r){var n=r.adapter,u=t.name,s=t.value;return Ps(t,r)?(s=s.toLowerCase(),function(o){var a=n.getAttributeValue(o,u);return a!=null&&a.length===s.length&&a.toLowerCase()===s&&e(o)}):function(o){return n.getAttributeValue(o,u)===s&&e(o)}},hyphen:function(e,t,r){var n=r.adapter,u=t.name,s=t.value,o=s.length;return Ps(t,r)?(s=s.toLowerCase(),function(i){var c=n.getAttributeValue(i,u);return c!=null&&(c.length===o||c.charAt(o)==="-")&&c.substr(0,o).toLowerCase()===s&&e(i)}):function(i){var c=n.getAttributeValue(i,u);return c!=null&&(c.length===o||c.charAt(o)==="-")&&c.substr(0,o)===s&&e(i)}},element:function(e,t,r){var n=r.adapter,u=t.name,s=t.value;if(/\s/.test(s))return Sl.falseFunc;var o=new RegExp("(?:^|\\s)".concat(P8(s),"(?:$|\\s)"),Ps(t,r)?"i":"");return function(i){var c=n.getAttributeValue(i,u);return c!=null&&c.length>=s.length&&o.test(c)&&e(i)}},exists:function(e,t,r){var n=t.name,u=r.adapter;return function(s){return u.hasAttrib(s,n)&&e(s)}},start:function(e,t,r){var n=r.adapter,u=t.name,s=t.value,o=s.length;return o===0?Sl.falseFunc:Ps(t,r)?(s=s.toLowerCase(),function(a){var i=n.getAttributeValue(a,u);return i!=null&&i.length>=o&&i.substr(0,o).toLowerCase()===s&&e(a)}):function(a){var i;return!!(!((i=n.getAttributeValue(a,u))===null||i===void 0)&&i.startsWith(s))&&e(a)}},end:function(e,t,r){var n=r.adapter,u=t.name,s=t.value,o=-s.length;return o===0?Sl.falseFunc:Ps(t,r)?(s=s.toLowerCase(),function(a){var i;return((i=n.getAttributeValue(a,u))===null||i===void 0?void 0:i.substr(o).toLowerCase())===s&&e(a)}):function(a){var i;return!!(!((i=n.getAttributeValue(a,u))===null||i===void 0)&&i.endsWith(s))&&e(a)}},any:function(e,t,r){var n=r.adapter,u=t.name,s=t.value;if(s==="")return Sl.falseFunc;if(Ps(t,r)){var o=new RegExp(P8(s),"i");return function(i){var c=n.getAttributeValue(i,u);return c!=null&&c.length>=s.length&&o.test(c)&&e(i)}}return function(a){var i;return!!(!((i=n.getAttributeValue(a,u))===null||i===void 0)&&i.includes(s))&&e(a)}},not:function(e,t,r){var n=r.adapter,u=t.name,s=t.value;return s===""?function(o){return!!n.getAttributeValue(o,u)&&e(o)}:Ps(t,r)?(s=s.toLowerCase(),function(o){var a=n.getAttributeValue(o,u);return(a==null||a.length!==s.length||a.toLowerCase()!==s)&&e(o)}):function(o){return n.getAttributeValue(o,u)!==s&&e(o)}}};var ty={},yB={},vB={},Vd={};Object.defineProperty(Vd,"__esModule",{value:!0});Vd.parse=void 0;var OYe=new Set([9,10,12,13,32]),k8=48,IYe=57;function NYe(e){if(e=e.trim().toLowerCase(),e==="even")return[2,0];if(e==="odd")return[2,1];var t=0,r=0,n=s(),u=o();if(t=k8&&e.charCodeAt(t)<=IYe;)c=c*10+(e.charCodeAt(t)-k8),t++;return t===i?null:c}function a(){for(;t=r};var n=Math.abs(t),u=(r%n+n)%n;return t>1?function(s){return s>=r&&s%n===u}:function(s){return s<=r&&s%n===u}}Aa.compile=xYe;function RYe(e){var t=e[0],r=e[1]-1,n=0;if(t<0){var u=-t,s=(r%u+u)%u;return function(){var o=s+u*n++;return o>r?null:o}}return t===0?r<0?function(){return null}:function(){return n++===0?r:null}:(r<0&&(r+=t*Math.ceil(-r/t)),function(){return t*n+++r})}Aa.generate=RYe;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.sequence=e.generate=e.compile=e.parse=void 0;var t=Vd;Object.defineProperty(e,"parse",{enumerable:!0,get:function(){return t.parse}});var r=Aa;Object.defineProperty(e,"compile",{enumerable:!0,get:function(){return r.compile}}),Object.defineProperty(e,"generate",{enumerable:!0,get:function(){return r.generate}});function n(s){return(0,r.compile)((0,t.parse)(s))}e.default=n;function u(s){return(0,r.generate)((0,t.parse)(s))}e.sequence=u})(vB);(function(e){var t=Ce&&Ce.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(e,"__esModule",{value:!0}),e.filters=void 0;var r=t(vB),n=io;function u(o,a){return function(i){var c=a.getParent(i);return c!=null&&a.isTag(c)&&o(i)}}e.filters={contains:function(o,a,i){var c=i.adapter;return function(p){return o(p)&&c.getText(p).includes(a)}},icontains:function(o,a,i){var c=i.adapter,l=a.toLowerCase();return function(d){return o(d)&&c.getText(d).toLowerCase().includes(l)}},"nth-child":function(o,a,i){var c=i.adapter,l=i.equals,p=(0,r.default)(a);return p===n.falseFunc?n.falseFunc:p===n.trueFunc?u(o,c):function(f){for(var h=c.getSiblings(f),y=0,A=0;A=0&&!l(f,h[A]);A--)c.isTag(h[A])&&y++;return p(y)&&o(f)}},"nth-of-type":function(o,a,i){var c=i.adapter,l=i.equals,p=(0,r.default)(a);return p===n.falseFunc?n.falseFunc:p===n.trueFunc?u(o,c):function(f){for(var h=c.getSiblings(f),y=0,A=0;A=0;A--){var m=h[A];if(l(f,m))break;c.isTag(m)&&c.getName(m)===c.getName(f)&&y++}return p(y)&&o(f)}},root:function(o,a,i){var c=i.adapter;return function(l){var p=c.getParent(l);return(p==null||!c.isTag(p))&&o(l)}},scope:function(o,a,i,c){var l=i.equals;return!c||c.length===0?e.filters.root(o,a,i):c.length===1?function(p){return l(c[0],p)&&o(p)}:function(p){return c.includes(p)&&o(p)}},hover:s("isHovered"),visited:s("isVisited"),active:s("isActive")};function s(o){return function(i,c,l){var p=l.adapter,d=p[o];return typeof d!="function"?n.falseFunc:function(h){return d(h)&&i(h)}}}})(yB);var Fa={};Object.defineProperty(Fa,"__esModule",{value:!0});Fa.verifyPseudoArgs=Fa.pseudos=void 0;Fa.pseudos={empty:function(e,t){var r=t.adapter;return!r.getChildren(e).some(function(n){return r.isTag(n)||r.getText(n)!==""})},"first-child":function(e,t){var r=t.adapter,n=t.equals,u=r.getSiblings(e).find(function(s){return r.isTag(s)});return u!=null&&n(e,u)},"last-child":function(e,t){for(var r=t.adapter,n=t.equals,u=r.getSiblings(e),s=u.length-1;s>=0;s--){if(n(e,u[s]))return!0;if(r.isTag(u[s]))break}return!1},"first-of-type":function(e,t){for(var r=t.adapter,n=t.equals,u=r.getSiblings(e),s=r.getName(e),o=0;o=0;o--){var a=u[o];if(n(e,a))return!0;if(r.isTag(a)&&r.getName(a)===s)break}return!1},"only-of-type":function(e,t){var r=t.adapter,n=t.equals,u=r.getName(e);return r.getSiblings(e).every(function(s){return n(e,s)||!r.isTag(s)||r.getName(s)!==u})},"only-child":function(e,t){var r=t.adapter,n=t.equals;return r.getSiblings(e).every(function(u){return n(e,u)||!r.isTag(u)})}};function jYe(e,t,r){if(r===null){if(e.length>2)throw new Error("pseudo-selector :".concat(t," requires an argument"))}else if(e.length===2)throw new Error("pseudo-selector :".concat(t," doesn't have any arguments"))}Fa.verifyPseudoArgs=jYe;var Hd={};Object.defineProperty(Hd,"__esModule",{value:!0});Hd.aliases=void 0;Hd.aliases={"any-link":":is(a, area, link)[href]",link:":any-link:not(:visited)",disabled:`:is( +*/(function(e){(function(t,r,n){e.exports=n(t),e.exports.default=e.exports})(Ce,"UUID",function(){var t=function(E,F,D,g,P,b){for(var w=function($,M){var L=$.toString(16);return L.length<2&&(L="0"+L),M&&(L=L.toUpperCase()),L},I=F;I<=D;I++)P[b++]=w(E[I],g);return P},r=function(E,F,D,g,P){for(var b=F;b<=D;b+=2)g[P++]=parseInt(E.substr(b,2),16)},n="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-:+=^!/*?&<>()[]{}@%$#".split(""),u=[0,68,0,84,83,82,72,0,75,76,70,65,0,63,62,69,0,1,2,3,4,5,6,7,8,9,64,0,73,66,74,71,81,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,77,0,78,67,0,0,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,79,0,80,0,0],s=function(E,F){for(var D="",g=0,P=0;g=1;){var w=Math.floor(P/b)%85;D+=n[w],b/=85}P=0}return D},o=function(E,F){var D=E.length;if(D%5!==0)throw new Error("z85_decode: invalid input length (multiple of 5 expected)");typeof F>"u"&&(F=new Array(D*4/5));for(var g=0,P=0,b=0;g=u.length)break;if(b=b*85+u[w],g%5===0){for(var I=16777216;I>=1;)F[P++]=Math.trunc(b/I%256),I/=256;b=0}}return F},a=function(E,F){var D={ibits:8,obits:8,obigendian:!0};for(var g in F)typeof D[g]<"u"&&(D[g]=F[g]);for(var P=[],b=0,w,I,$=0,M,L=0,Y=E.length;$===0&&(I=E.charCodeAt(b++)),w=I>>D.ibits-($+8)&255,$=($+8)%D.ibits,D.obigendian?L===0?M=w<=Y)););return P},i=function(E,F){var D={ibits:32,ibigendian:!0};for(var g in F)typeof D[g]<"u"&&(D[g]=F[g]);var P="",b=4294967295;D.ibits<32&&(b=(1<>D.ibits-8-M&255):P+=String.fromCharCode($>>M&255);return P},c=8,l=8,p=256,d=function(E,F,D,g,P,b,w,I){return[I,w,b,P,g,D,F,E]},f=function(){return d(0,0,0,0,0,0,0,0)},h=function(E){return E.slice(0)},y=function(E){for(var F=f(),D=0;D=0;D--)F*=p,F+=E[D];return Math.floor(F)},m=function(E,F){for(var D=0,g=0;g=0;b--)D[b+1]=D[b];for(D[0]=E[0],b=0;bc*l)throw new Error("ui64_ror: invalid number of bits to shift");var D=new Array(c+c),g;for(g=0;g>>b|D[g+1]<>>b&(1<c*l)throw new Error("ui64_rol: invalid number of bits to shift");var D=new Array(c+c),g;for(g=0;g0;g--)D[g+P]=(D[g]<>>l-b)&(1<=0;g--)D[g]=0;for(g=0;g>16)+(F>>16)+(D>>16);return g<<16|D&65535},ee=function(E,F){return E<>>32-F&4294967295},K=function(E,F){function D(Pe,Be,le,Te){return Pe<20?Be&le|~Be&Te:Pe<40?Be^le^Te:Pe<60?Be&le|Be&Te|le&Te:Be^le^Te}function g(Pe){return Pe<20?1518500249:Pe<40?1859775393:Pe<60?-1894007588:-899497514}E[F>>5]|=128<<24-F%32,E[(F+64>>9<<4)+15]=F;for(var P=Array(80),b=1732584193,w=-271733879,I=-1732584194,$=271733878,M=-1009589776,L=0;L>5]|=128<>>9<<4)+14]=F;for(var I=1732584193,$=-271733879,M=-1732584194,L=271733878,Y=0;Y>>0):typeof window=="object"&&typeof window.crypto=="object"&&typeof window.crypto.getRandomValues=="function"?(F=new Uint32Array(2),window.crypto.getRandomValues(F),E=T(y(F[0]>>>0),R(y(F[1]>>>0),32))):typeof globalThis=="object"&&typeof globalThis.crypto=="object"&&typeof globalThis.crypto.getRandomValues=="function"?(F=new Uint32Array(2),globalThis.crypto.getRandomValues(F),E=T(y(F[0]>>>0),R(y(F[1]>>>0),32))):(E=y(Math.random()*4294967295>>>0),T(E,R(y(new Date().getTime()),32))),T(this.state,E),this.next()};he.prototype.next=function(){var E=h(this.state);C(this.state,this.mul),m(this.state,this.inc);var F=h(E);R(F,18),q(F,E),R(F,27);var D=h(E);R(D,59),B(F,this.mask);var g=A(D),P=h(F);return J(P,32-g),R(F,g),q(F,P),A(F)},he.prototype.reseed=function(E){if(typeof E!="string")throw new Error("UUID: PCG: seed: invalid argument (string expected)");for(var F=K(a(E,{ibits:8,obits:32,obigendian:!0}),E.length*8),D=0;D>>0))};var fe=new he;he.reseed=function(E){fe.reseed(E)};var ge=function(E,F){for(var D=[],g=0;g=1&&typeof arguments[0]=="number")this.make.apply(this,arguments);else{if(arguments.length>=1)throw new Error("UUID: constructor: invalid arguments");for(var E=0;E<16;E++)this[E]=0}};return typeof Uint8Array<"u"?O.prototype=new Uint8Array(16):Buffer?O.prototype=Buffer.alloc(16):O.prototype=new Array(16),O.prototype.constructor=O,O.prototype.make=function(E){var F,D=this;if(E===1){var g=new Date,P=g.getTime();P!==pe?z=0:z++,pe=P;var b=y(P);v(b,1e3*10),m(b,d(1,178,29,210,19,129,64,0)),z>0&&m(b,y(z));var w;w=N(b,8),D[3]=w&255,w=N(b,8),D[2]=w&255,w=N(b,8),D[1]=w&255,w=N(b,8),D[0]=w&255,w=N(b,8),D[5]=w&255,w=N(b,8),D[4]=w&255,w=N(b,8),D[7]=w&255,w=N(b,8),D[6]=w&15;var I=ge(2,255);D[8]=I[0],D[9]=I[1];var $=ge(6,255);for($[0]|=1,$[0]|=2,F=0;F<6;F++)D[10+F]=$[F]}else if(E===4){var M=ge(16,255);for(F=0;F<16;F++)this[F]=M[F]}else if(E===3||E===5){var L="",Y=typeof arguments[1]=="object"&&arguments[1]instanceof O?arguments[1]:new O().parse(arguments[1]);for(F=0;F<16;F++)L+=String.fromCharCode(Y[F]);L+=arguments[2];var be=E===3?de(L):ue(L);for(F=0;F<16;F++)D[F]=be.charCodeAt(F)}else throw new Error("UUID: make: invalid version");return D[6]&=15,D[6]|=E<<4,D[8]&=63,D[8]|=128,D},O.prototype.format=function(E){var F,D;return E==="z85"?F=s(this,16):E==="b16"?(D=Array(32),t(this,0,15,!0,D,0),F=D.join("")):(E===void 0||E==="std")&&(D=new Array(36),t(this,0,3,!1,D,0),D[8]="-",t(this,4,5,!1,D,9),D[13]="-",t(this,6,7,!1,D,14),D[18]="-",t(this,8,9,!1,D,19),D[23]="-",t(this,10,15,!1,D,24),F=D.join("")),F},O.prototype.toString=function(E){return this.format(E)},O.prototype.toJSON=function(){return this.format("std")},O.prototype.parse=function(E,F){if(typeof E!="string")throw new Error("UUID: parse: invalid argument (type string expected)");if(F==="z85")o(E,this);else if(F==="b16")r(E,0,35,this,0);else if(F===void 0||F==="std"){var D={nil:"00000000-0000-0000-0000-000000000000","ns:DNS":"6ba7b810-9dad-11d1-80b4-00c04fd430c8","ns:URL":"6ba7b811-9dad-11d1-80b4-00c04fd430c8","ns:OID":"6ba7b812-9dad-11d1-80b4-00c04fd430c8","ns:X500":"6ba7b814-9dad-11d1-80b4-00c04fd430c8"};if(D[E]!==void 0)E=D[E];else if(!E.match(/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/))throw new Error('UUID: parse: invalid string representation (expected "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")');r(E,0,7,this,0),r(E,9,12,this,4),r(E,14,17,this,6),r(E,19,22,this,8),r(E,24,35,this,10)}return this},O.prototype.export=function(){for(var E=Array(16),F=0;F<16;F++)E[F]=this[F];return E},O.prototype.import=function(E){if(!(typeof E=="object"&&E instanceof Array))throw new Error("UUID: import: invalid argument (type Array expected)");if(E.length!==16)throw new Error("UUID: import: invalid argument (Array of length 16 expected)");for(var F=0;F<16;F++){if(typeof E[F]!="number")throw new Error("UUID: import: invalid array element #"+F+" (type Number expected)");if(!(isFinite(E[F])&&Math.floor(E[F])===E[F]))throw new Error("UUID: import: invalid array element #"+F+" (Number with integer value expected)");if(!(E[F]>=0&&E[F]<=255))throw new Error("UUID: import: invalid array element #"+F+" (Number with integer value in range 0...255 expected)");this[F]=E[F]}return this},O.prototype.compare=function(E){if(typeof E!="object")throw new Error("UUID: compare: invalid argument (type UUID expected)");if(!(E instanceof O))throw new Error("UUID: compare: invalid argument (type UUID expected)");for(var F=0;F<16;F++){if(this[F]E[F])return 1}return 0},O.prototype.equal=function(E){return this.compare(E)===0},O.prototype.fold=function(E){if(typeof E>"u")throw new Error("UUID: fold: invalid argument (number of fold operations expected)");if(E<1||E>4)throw new Error("UUID: fold: invalid argument (1-4 fold operations expected)");for(var F=16/Math.pow(2,E),D=new Array(F),g=0;g>(-2*A&6)));return C},p=function(h){h=String(h),/[^\0-\xFF]/.test(h)&&a("The string to be encoded contains characters outside of the Latin1 range.");for(var y=h.length%3,A="",m=-1,v,C,B,T,N=h.length-y;++m>18&63)+i.charAt(T>>12&63)+i.charAt(T>>6&63)+i.charAt(T&63);return y==2?(v=h.charCodeAt(m)<<8,C=h.charCodeAt(++m),T=v+C,A+=i.charAt(T>>10)+i.charAt(T>>4&63)+i.charAt(T<<2&63)+"="):y==1&&(T=h.charCodeAt(m),A+=i.charAt(T>>2)+i.charAt(T<<4&63)+"=="),A},d={encode:p,decode:l,version:"1.0.0"};if(n&&!n.nodeType)if(u)u.exports=d;else for(var f in d)d.hasOwnProperty(f)&&(n[f]=d[f]);else r.base64=d})(Ce)})(Tp,Tp.exports);var W3=Tp.exports;Object.defineProperty(kr,"__esModule",{value:!0});kr.validateParams=kr.removeAttribute=kr.getPathValue=kr.generateId=kr.findObject=kr.findNewGraft=void 0;var Y2e=S_(H3),Z2e=S_(W3);function S_(e){return e&&e.__esModule?e:{default:e}}var Q2e=(e,t,r)=>{var n=new Set(e),u=Object.keys(t).filter(s=>!n.has(s));if(u.length>0)throw new Error("".concat(r,". Expected one of: [").concat([...n].join(", "),"], But got: [").concat(u.join(", "),"]"))};kr.validateParams=Q2e;var ehe=(e,t)=>{var r,n,u;if(typeof e!="object"||e===null)return e;r=Array.isArray(e)?[]:{};for(u in e)u==t&&Object.keys(e[u]).length===0||(n=e[u],r[u]=removeAtts(n));return r};kr.removeAttribute=ehe;var the=e=>{var{object:t,path:r}=e;return r.split("/").reduce((n,u)=>(n=n[u],n),t)};kr.getPathValue=the;var rhe=()=>Z2e.default.encode(new Y2e.default(4)).substring(0,12);kr.generateId=rhe;var nhe=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,u=[],s=function o(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};!a||typeof a!="object"||(a[r]===n&&u.push(a),Object.keys(a).forEach(function(i){o(a[i])}))};return s(t),u};kr.findObject=nhe;var uhe=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0,n=[],u=function s(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};!o||typeof o!="object"||(o.type==="graft"&&o.new&&(n.push(o),r(o)),o.blocks&&o.blocks.forEach(function(a){s(a)}),o.content&&o.content.forEach(function(a){s(a)}))};return u(t),n};kr.findNewGraft=uhe;Object.defineProperty(od,"__esModule",{value:!0});od.default=void 0;var y2=G3,Fl=Td(Sd),Cl=Td(_d),h8=Td(W2e),v2=Td(X2e),du=kr,she=["proskomma","docSetId","options"],ohe=["hs"],ahe=["perf"],ihe=["writePipeline","cloning","insertSequences"],che=["sequences"];function Td(e){return e&&e.__esModule?e:{default:e}}function m8(e,t,r,n,u,s,o){try{var a=e[s](o),i=a.value}catch(c){r(c);return}a.done?t(i):Promise.resolve(i).then(n,u)}function En(e){return function(){var t=this,r=arguments;return new Promise(function(n,u){var s=e.apply(t,r);function o(i){m8(s,n,u,o,a,"next",i)}function a(i){m8(s,n,u,o,a,"throw",i)}o(void 0)})}}function E8(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable})),r.push.apply(r,n)}return r}function Lt(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function fhe(e,t){if(e==null)return{};var r={},n=Object.keys(e),u,s;for(s=0;s=0)&&(r[u]=e[u]);return r}var bl={WRITE_PERF:"writePerf",READ_PERF:"readPerf",LOAD_PERF:"loadPerf",UNDO_PERF:"undoPerf",REDO_PERF:"redoPerf"};class Dhe{constructor(t){var{proskomma:r=null,docSetId:n,options:u={}}=t,s=Za(t,she);if((0,du.validateParams)(["proskomma","docSetId","options"],s,"Unexpected arg in constructor"),(0,du.validateParams)(["historySize","pipelines","transforms"],u,"Unexpected option in constructor"),!n)throw new Error("docSetId is required");this._observers=[];var o='{ docSet(id: "'.concat(n,'") { id } }'),{data:a}=(r==null?void 0:r.gqlQuerySync(o))||{};if(r&&!(a!=null&&a.docSet))throw new Error("Provided docSetId is not present in the Proskomma instance.");var{hs:i}=u,c=Za(u,ohe),l=i?i+1:11;this.options=Lt({historySize:l},c),this.proskomma=r,this.pipelineHandler=new y2.PipelineHandler({pipelines:Fl.default||u.pipelines?Lt(Lt(Lt({},Fl.default),u.pipelines),h8.default.pipelines):null,transforms:Cl.default||u.transforms?Lt(Lt(Lt({},Cl.default),u.transforms),h8.default.transforms):null,proskomma:r}),this.docSetId=n,this.saved={},this.history={},this.validator=new y2.Validator,this.backend=r?"proskomma":"standalone"}unobserve(t){this._observers=this._observers.filter(r=>r!==t)}observe(t){return this._observers.push(t),()=>this.unobserve(t)}notifyObservers(){for(var t=arguments.length,r=new Array(t),n=0;n{u(...r)})}instanciatePipelineHandler(t){var{pipelines:r,transforms:n}=t;new y2.PipelineHandler({pipelines:Fl.default||r?Lt(Lt({},Fl.default),r):null,transforms:Cl.default||n?Lt(Lt({},Cl.default),n):null})}getBookData(t){var r=this.history[t];return r==null?void 0:r.stack[r.cursor]}getDocument(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,n=this.getBookData(t),u=n==null?void 0:n.perfDocument;if(u)return r?(0,v2.default)(u):Lt({},u)}getDocuments(){return Object.keys(this.history).reduce((t,r)=>(t[r]=this.getDocument(r),t),{})}savePerf(t){this.saved[t]=this.getBookData(t)}canSavePerf(t){return this.saved[t]!==this.getBookData(t)}setBookHistory(t){var r,n;return(n=(r=this.history)[t])!==null&&n!==void 0||(r[t]={stack:[],cursor:0}),this.history[t]}getBookHistory(t){var r,n=(r=this.history[t])!==null&&r!==void 0?r:this.setBookHistory(t);return n}clearPerf(){this.history={}}addDocument(t){var r,{bookCode:n,perfDocument:u,clone:s=!0}=t,{stack:o,cursor:a}=this.getBookHistory(n);return(r=o[a])!==null&&r!==void 0||(o[a]={}),o[a].perfDocument=s?(0,v2.default)(u):u,u}setPipelineData(t,r){var n,{stack:u,cursor:s}=this.getBookHistory(t);(n=u[s])!==null&&n!==void 0||(u[s]={});var o=u[s].pipelineData;r&&(u[s].pipelineData=Lt(Lt({},o),r))}getPipelineData(t){var r=this.getBookData(t);return r==null?void 0:r.pipelineData}getPipelineHandler(){return this.pipelineHandler}runPipeline(t){var r=this;return En(function*(){var{bookCode:n,pipelineName:u,perfDocument:s}=t;if(!u)return{perf:s};var o=r.getPipelineData(n),[a]=r.pipelineHandler.pipelines[u],{inputs:i}=a,c=o?Object.keys(o).reduce((h,y)=>(y in i&&(h[y]=o[y]),h),{}):void 0,l=Lt({perf:s},c),p=yield r.pipelineHandler.runPipeline(u,l),{perf:d}=p,f=Za(p,ahe);return{perf:d,pipelineData:f}})()}loadPerf(t,r,n){var u=this;return En(function*(){var s,o=(s=n.cloning)!==null&&s!==void 0?s:!0,{writePipeline:a,readPipeline:i}=n,{perf:c,pipelineData:l}=yield u.runPipeline({bookCode:t,pipelineName:a,perfDocument:r}),p=u.validator.validate("constraint","perfDocument","0.3.0",c);if(!p.isValid)throw new Error("writePerf is schema invalid: ".concat(JSON.stringify(p.errors)));u.setPipelineData(t,l);var d=u.addDocument({bookCode:t,perfDocument:c,clone:o});if(p=u.validator.validate("constraint","perfDocument","0.3.0",d),!p.isValid)throw new Error("savedPerf is schema invalid: ".concat(JSON.stringify(p.errors)));var{perf:f,pipelineData:h}=yield u.runPipeline({bookCode:t,pipelineName:i,perfDocument:d});if(p=u.validator.validate("constraint","perfDocument","0.3.0",f),!p.isValid){var y=p.errors.map(A=>{var m=(0,du.getPathValue)({object:f,path:A.instancePath});return Lt(Lt({},A),{},{value:JSON.stringify(m,null,2)})});throw new Error("readPerf is schema invalid: ".concat(JSON.stringify(y)))}return u.setPipelineData(t,h),u.savePerf(t),u.notifyObservers({action:bl.LOAD_PERF,data:f}),f})()}sideloadPerf(t,r){var n=arguments,u=this;return En(function*(){var s=n.length>2&&n[2]!==void 0?n[2]:{};if((0,du.validateParams)(["writePipeline","readPipeline","cloning"],s,"Unexpected option in sideloadPerf"),u.backend==="proskomma")throw"Can't call sideloadPerf in proskomma mode";if(!t||!r)throw"sideloadPerf requires 2 arguments (bookCode, perfDocument)";var o=u.validator.validate("constraint","perfDocument","0.3.0",r);if(!o.isValid)throw`perfJSON is not valid. +`.concat(JSON.stringify(o,null,2));return yield u.loadPerf(t,r,s)})()}fetchPerf(t){var r=arguments,n=this;return En(function*(){var u=r.length>1&&r[1]!==void 0?r[1]:{};if((0,du.validateParams)(["writePipeline","readPipeline","cloning"],u,"Unexpected option in fetchPerf"),n.backend==="standalone")throw"Can't call fetchPerf in standalone mode";if(!t)throw new Error("fetchPerf requires argument (bookCode)");if(t.length>3||!/^[A-Z0-9]{3}$/.test(t))throw new Error('Invalid bookCode: "'.concat(t,'". Only three characters (uppercase letters [A-Z] or numbers [0-9]) allowed.'));var s='{docSet(id: "'.concat(n.docSetId,'") { document(bookCode: "').concat(t,'") { perf } } }'),{data:o}=n.proskomma.gqlQuerySync(s),a=o.docSet.document.perf;if(!a)throw new Error('No document with bookCode="'.concat(t,'" found.'));var i=JSON.parse(a);return yield n.loadPerf(t,i,u)})()}readPerf(t){var r=arguments,n=this;return En(function*(){var u,s=r.length>1&&r[1]!==void 0?r[1]:{};(0,du.validateParams)(["readPipeline","cloning"],s,"Unexpected option in readPerf");var o=(u=s.cloning)!==null&&u!==void 0?u:!0;if(!n.history[t]&&n.backend==="proskomma")return n.fetchPerf(t,s);if(!n.history[t]&&n.backend==="standalone")throw'No document with bookCode="'.concat(t,'" found in memory. Use sideloadPerf() to load the document.');var a=n.getDocument(t,o),{readPipeline:i}=s,{perf:c,pipelineData:l}=yield n.runPipeline({bookCode:t,pipelineName:i,perfDocument:a});return n.setPipelineData(t,l),c})()}writePerf(t,r,n){var u=arguments,s=this;return En(function*(){var o=u.length>3&&u[3]!==void 0?u[3]:{};(0,du.validateParams)(["writePipeline","readPipeline","cloning","insertSequences"],o,"Unexpected option in writePerf");var{writePipeline:a,cloning:i,insertSequences:c}=o,l=Za(o,ihe),p=i??!0,d=s.getDocument(t,!1);if(!d)throw"document not found: ".concat(t);if(!d.sequences[r])throw"PERF sequence id not found: ".concat(t,", ").concat(r);var f=s.validator.validate("constraint","perfSequence","0.3.0",n);if(!f.isValid)throw"PERF sequence ".concat(r," for ").concat(t," is not valid: ").concat(JSON.stringify(f));var h={};c&&(0,du.findNewGraft)(n,N=>{var R=(0,du.generateId)();h[R]={type:N.subtype,blocks:[]},N.target=R,delete N.new});var{sequences:y}=d,A=Za(d,che),m=Lt(Lt({},y),{},{[r]:p?(0,v2.default)(n):n});A.sequences=m;var{perf:v,pipelineData:C}=yield s.runPipeline({bookCode:t,pipelineName:a,perfDocument:A});v.sequences=Lt(Lt(Lt({},y),h),{},{[r]:v.sequences[r]});var B=s.history[t];B.stack=B.stack.slice(B.cursor),B.stack.unshift({perfDocument:v}),B.cursor=0,s.setPipelineData(t,C),B.stack.length>s.options.historySize&&B.stack.pop();var T=yield s.readPerf(t,l);return s.notifyObservers({action:bl.WRITE_PERF,data:T}),T})()}undoPerf(t,r){var n=this;return En(function*(){if(n.canUndo(t)){var u=n.history[t];++u.cursor;var s=yield n.readPerf(t,r);return n.notifyObservers({action:bl.UNDO_PERF,data:s}),s}return null})()}redoPerf(t,r){var n=this;return En(function*(){if(n.canRedo(t)){var u=n.history[t];--u.cursor;var s=yield n.readPerf(t,r);return n.notifyObservers({action:bl.REDO_PERF,data:s}),s}return null})()}canUndo(t){var r=this.history[t];return!(!r||r.cursor+1===r.stack.length)}canRedo(t){var r=this.history[t];return!(!r||r.cursor===0)}checkPerfSequence(t){var r=0,n=0,u=t==null?void 0:t.blocks.reduce((s,o)=>{var{content:a}=o;if(Array.isArray(a))for(var i of a)i.type==="mark"&&i.subtype==="verses"&&(n++,n.toString()!==i.atts.number&&(s.push("Verse ".concat(i.atts.number," is out of order, expected ").concat(n)),n=Number(i.atts.number))),i.type==="mark"&&i.subtype==="chapter"&&(r++,r.toString()!==i.atts.number&&(s.push("Chapter ".concat(i.atts.number," is out of order, expected ").concat(r)),r=Number(i.atts.number)),n=0);return s},[]);return u}localBookCodes(){return Object.keys(this.history)}bookHeaders(){var t,r,n={},u='{ docSet(id: "'.concat(this.docSetId,'") { documents { headers { key value } } } }'),{data:s}=((t=this.proskomma)===null||t===void 0?void 0:t.gqlQuerySync(u))||{},o=(s==null||(r=s.docSet)===null||r===void 0?void 0:r.documents)||this.getDocuments();for(var a of o){var i=null,c={};for(var l of a.headers)l.key==="bookCode"?i=l.value:c[l.key]=l.value;i&&(n[i]=c)}return n}readUsfm(t,r){var n=this;return En(function*(){var u=yield n.readPerf(t,r);n.pipelineHandler===null&&n.instanciatePipelineHandler();var s=yield n.pipelineHandler.runPipeline("perfToUsfmPipeline",{perf:u});return s.usfm})()}makeDocumentReport(t,r,n){var u=this;return En(function*(){if(!u.localBookCodes().includes(t))throw new Error("bookCode '".concat(t,"' is not available locally"));return u.pipelineHandler===null&&u.instanciatePipelineHandler(),n.perf=u.getDocument(t),yield u.pipelineHandler.runPipeline(r,n)})()}makeDocumentsReport(t,r){var n=this;return En(function*(){var u=n.localBookCodes(),s={};for(var o of u){var a=yield n.makeDocumentReport(o,t,r);s[a.matches.bookCode]=a}return s})()}}var hhe=Dhe;od.default=hhe;var $d={},Pd={};Object.defineProperty(Pd,"__esModule",{value:!0});Pd.default=void 0;var mhe={"*":{"*":{tagName:"span"},sequence:{tagName:"section"}},paragraph:{"*":{tagName:"p"}},mark:{"*":{tagName:"span"},chapter:e=>{var{atts:t}=e;return{classList:["mark","chapter","chapter-".concat(t.number)],id:"chapter-".concat(t.number)}}},graft:{heading:{tagName:"div"},title:{tagName:"div"},introduction:{tagName:"div"}}};Pd.default=mhe;var Or={};Object.defineProperty(Or,"__esModule",{value:!0});Or.mapHtml=Or.handleSubtypeNS=Or.handleNewGrafts=Or.handleAtts=Or.generateId=Or.createElement=void 0;var Ehe=w_(H3),yhe=w_(W3);function w_(e){return e&&e.__esModule?e:{default:e}}function y8(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable})),r.push.apply(r,n)}return r}function v8(e){for(var t=1;tObject.keys(e).reduce((t,r)=>e[r]!==void 0&&e[r]!==null?t+=" ".concat(r,'="').concat(e[r],'"'):t,""),Ahe=e=>Object.keys(e).reduce((t,r)=>e[r]?t+=" data-".concat(r,'="').concat(e[r],'"'):t,""),Fhe=e=>e&&Array.isArray(e)?' class="'.concat(e.join(" "),'"'):' class="'.concat(e,'"'),Che=e=>{var{classList:t,id:r,attributes:n,dataset:u}=e;return"".concat(Fhe(t)).concat(r&&' id="'.concat(r,'"')).concat(Ahe(u)).concat(ghe(n))},bhe=e=>{var{tagName:t="div",id:r="",classList:n="",dataset:u={},children:s="",attributes:o={}}=e;return"<".concat(t||"div").concat(Che({classList:n,id:r,attributes:o,dataset:u}),">").concat(s,"")};Or.createElement=bhe;var She=e=>{var t,r,n,u,{props:s,htmlMap:o}=e,{type:a,subtype:i}=s,c=(f,h)=>[...f?[f]:[],...h?[h.replace(":"," ")]:[]];if(!o)return{classList:c(a,i)};var l=[(t=o[a])===null||t===void 0?void 0:t[i],(r=o["*"])===null||r===void 0?void 0:r[i],(n=o[a])===null||n===void 0?void 0:n["*"],(u=o["*"])===null||u===void 0?void 0:u["*"]],p=f=>f&&(Array.isArray(f)?f:[f]),d=l.reduce((f,h)=>{var y=h||{},{classList:A,tagName:m,id:v,attributes:C}=typeof y=="function"?y(s):y;return f.classList=f.classList.concat(p(A)||[]),f.attributes=v8(v8({},f.attributes),C),!f.tagName&&m&&(f.tagName=m),!f.id&&v&&(f.id=v),f},{classList:[],tagName:"",attributes:{}});return{classList:d.classList.length?[...new Set(d.classList)]:c(a,i),tagName:d.tagName,id:d.id,attributes:d.attributes}};Or.mapHtml=She;var whe=e=>e?Object.keys(e).reduce((t,r)=>(t["atts-".concat(r)]=typeof e[r]=="object"?e[r].join(","):e[r],t),{}):{};Or.handleAtts=whe;var _he=e=>{var t=e.split(":");return t.length>1?{"subtype-ns":t[0],subtype:t[1]}:{subtype:e}};Or.handleSubtypeNS=_he;var __=()=>yhe.default.encode(new Ehe.default(4)).substring(0,12);Or.generateId=__;var Bhe=e=>{var t={};return e.forEach(r=>{var n=__();t[n]={type:r.subtype,blocks:r.content||[]},r.target=n,delete r.content,delete r.new}),t};Or.handleNewGrafts=Bhe;Object.defineProperty($d,"__esModule",{value:!0});$d.default=void 0;var The=Ohe(Pd),yn=Or,$he=["type","subtype","content","meta_content","atts"],Phe=["type","subtype","atts","content"],khe=["blocks"];function Ohe(e){return e&&e.__esModule?e:{default:e}}function g8(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable})),r.push.apply(r,n)}return r}function Un(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function Nhe(e,t){if(e==null)return{};var r={},n=Object.keys(e),u,s;for(s=0;s=0)&&(r[u]=e[u]);return r}function qhe(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:The.default,n=c=>{var l;return(l=c==null?void 0:c.reduce((p,d)=>p+=typeof d=="string"?d:s(d),""))!==null&&l!==void 0?l:""},u=(c,l)=>c?(0,yn.createElement)({tagName:"span",classList:[l],children:c==null?void 0:c.reduce((p,d)=>typeof d=="string"?p+=d:p+=s(d),"")}):"",s=c=>{var{type:l,subtype:p,content:d,meta_content:f,atts:h}=c,y=g2(c,$he),A=(0,yn.handleAtts)(h),m=(0,yn.handleSubtypeNS)(p),{classList:v,tagName:C,id:B,attributes:T}=(0,yn.mapHtml)({props:Un({type:l,subtype:p,atts:h},y),htmlMap:r}),N=R=>{var J={markHtml:()=>["chapter","verses"].includes(p)?h.number:"",wrapperHtml:()=>n(R)+u(f,"meta-content")},q=J["".concat(l,"Html")];return typeof q=="function"?q():""};return(0,yn.createElement)({tagName:C,id:B,classList:v,attributes:T,dataset:Un(Un(Un({type:l},m),A),y),children:N(d)})},o=c=>{var{type:l,subtype:p,atts:d,content:f}=c,h=g2(c,Phe),y=(0,yn.handleAtts)(d),A=(0,yn.handleSubtypeNS)(p),{classList:m,tagName:v,id:C,attributes:B}=(0,yn.mapHtml)({props:Un({type:l,subtype:p,atts:d},h),htmlMap:r});return(0,yn.createElement)({tagName:v,id:C,classList:m,attributes:B,dataset:Un(Un(Un({type:l},A),y),h),children:n(f)})},a=(c,l)=>{var{blocks:p}=c,d=g2(c,khe),{classList:f,tagName:h,attributes:y}=(0,yn.mapHtml)({props:Un(Un({},d),{},{subtype:"sequence"}),htmlMap:r});return(0,yn.createElement)({tagName:h,id:"".concat(l),classList:f,dataset:d,attributes:y,children:p==null?void 0:p.reduce((A,m)=>A+=o(m),"")})},i=e.sequences[t];return a(i,t)}var xhe=qhe;$d.default=xhe;var kd={},pr={},Od={},xa={},$p={exports:{}};/*! https://mths.be/he v1.2.0 by @mathias | MIT license */$p.exports;(function(e,t){(function(r){var n=t,u=e&&e.exports==n&&e,s=typeof Ce=="object"&&Ce;(s.global===s||s.window===s)&&(r=s);var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,a=/[\x01-\x7F]/g,i=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,c=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,l={"­":"shy","‌":"zwnj","‍":"zwj","‎":"lrm","⁣":"ic","⁢":"it","⁡":"af","‏":"rlm","​":"ZeroWidthSpace","⁠":"NoBreak","̑":"DownBreve","⃛":"tdot","⃜":"DotDot"," ":"Tab","\n":"NewLine"," ":"puncsp"," ":"MediumSpace"," ":"thinsp"," ":"hairsp"," ":"emsp13"," ":"ensp"," ":"emsp14"," ":"emsp"," ":"numsp"," ":"nbsp","  ":"ThickSpace","‾":"oline",_:"lowbar","‐":"dash","–":"ndash","—":"mdash","―":"horbar",",":"comma",";":"semi","⁏":"bsemi",":":"colon","⩴":"Colone","!":"excl","¡":"iexcl","?":"quest","¿":"iquest",".":"period","‥":"nldr","…":"mldr","·":"middot","'":"apos","‘":"lsquo","’":"rsquo","‚":"sbquo","‹":"lsaquo","›":"rsaquo",'"':"quot","“":"ldquo","”":"rdquo","„":"bdquo","«":"laquo","»":"raquo","(":"lpar",")":"rpar","[":"lsqb","]":"rsqb","{":"lcub","}":"rcub","⌈":"lceil","⌉":"rceil","⌊":"lfloor","⌋":"rfloor","⦅":"lopar","⦆":"ropar","⦋":"lbrke","⦌":"rbrke","⦍":"lbrkslu","⦎":"rbrksld","⦏":"lbrksld","⦐":"rbrkslu","⦑":"langd","⦒":"rangd","⦓":"lparlt","⦔":"rpargt","⦕":"gtlPar","⦖":"ltrPar","⟦":"lobrk","⟧":"robrk","⟨":"lang","⟩":"rang","⟪":"Lang","⟫":"Rang","⟬":"loang","⟭":"roang","❲":"lbbrk","❳":"rbbrk","‖":"Vert","§":"sect","¶":"para","@":"commat","*":"ast","/":"sol",undefined:null,"&":"amp","#":"num","%":"percnt","‰":"permil","‱":"pertenk","†":"dagger","‡":"Dagger","•":"bull","⁃":"hybull","′":"prime","″":"Prime","‴":"tprime","⁗":"qprime","‵":"bprime","⁁":"caret","`":"grave","´":"acute","˜":"tilde","^":"Hat","¯":"macr","˘":"breve","˙":"dot","¨":"die","˚":"ring","˝":"dblac","¸":"cedil","˛":"ogon","ˆ":"circ","ˇ":"caron","°":"deg","©":"copy","®":"reg","℗":"copysr","℘":"wp","℞":"rx","℧":"mho","℩":"iiota","←":"larr","↚":"nlarr","→":"rarr","↛":"nrarr","↑":"uarr","↓":"darr","↔":"harr","↮":"nharr","↕":"varr","↖":"nwarr","↗":"nearr","↘":"searr","↙":"swarr","↝":"rarrw","↝̸":"nrarrw","↞":"Larr","↟":"Uarr","↠":"Rarr","↡":"Darr","↢":"larrtl","↣":"rarrtl","↤":"mapstoleft","↥":"mapstoup","↦":"map","↧":"mapstodown","↩":"larrhk","↪":"rarrhk","↫":"larrlp","↬":"rarrlp","↭":"harrw","↰":"lsh","↱":"rsh","↲":"ldsh","↳":"rdsh","↵":"crarr","↶":"cularr","↷":"curarr","↺":"olarr","↻":"orarr","↼":"lharu","↽":"lhard","↾":"uharr","↿":"uharl","⇀":"rharu","⇁":"rhard","⇂":"dharr","⇃":"dharl","⇄":"rlarr","⇅":"udarr","⇆":"lrarr","⇇":"llarr","⇈":"uuarr","⇉":"rrarr","⇊":"ddarr","⇋":"lrhar","⇌":"rlhar","⇐":"lArr","⇍":"nlArr","⇑":"uArr","⇒":"rArr","⇏":"nrArr","⇓":"dArr","⇔":"iff","⇎":"nhArr","⇕":"vArr","⇖":"nwArr","⇗":"neArr","⇘":"seArr","⇙":"swArr","⇚":"lAarr","⇛":"rAarr","⇝":"zigrarr","⇤":"larrb","⇥":"rarrb","⇵":"duarr","⇽":"loarr","⇾":"roarr","⇿":"hoarr","∀":"forall","∁":"comp","∂":"part","∂̸":"npart","∃":"exist","∄":"nexist","∅":"empty","∇":"Del","∈":"in","∉":"notin","∋":"ni","∌":"notni","϶":"bepsi","∏":"prod","∐":"coprod","∑":"sum","+":"plus","±":"pm","÷":"div","×":"times","<":"lt","≮":"nlt","<⃒":"nvlt","=":"equals","≠":"ne","=⃥":"bne","⩵":"Equal",">":"gt","≯":"ngt",">⃒":"nvgt","¬":"not","|":"vert","¦":"brvbar","−":"minus","∓":"mp","∔":"plusdo","⁄":"frasl","∖":"setmn","∗":"lowast","∘":"compfn","√":"Sqrt","∝":"prop","∞":"infin","∟":"angrt","∠":"ang","∠⃒":"nang","∡":"angmsd","∢":"angsph","∣":"mid","∤":"nmid","∥":"par","∦":"npar","∧":"and","∨":"or","∩":"cap","∩︀":"caps","∪":"cup","∪︀":"cups","∫":"int","∬":"Int","∭":"tint","⨌":"qint","∮":"oint","∯":"Conint","∰":"Cconint","∱":"cwint","∲":"cwconint","∳":"awconint","∴":"there4","∵":"becaus","∶":"ratio","∷":"Colon","∸":"minusd","∺":"mDDot","∻":"homtht","∼":"sim","≁":"nsim","∼⃒":"nvsim","∽":"bsim","∽̱":"race","∾":"ac","∾̳":"acE","∿":"acd","≀":"wr","≂":"esim","≂̸":"nesim","≃":"sime","≄":"nsime","≅":"cong","≇":"ncong","≆":"simne","≈":"ap","≉":"nap","≊":"ape","≋":"apid","≋̸":"napid","≌":"bcong","≍":"CupCap","≭":"NotCupCap","≍⃒":"nvap","≎":"bump","≎̸":"nbump","≏":"bumpe","≏̸":"nbumpe","≐":"doteq","≐̸":"nedot","≑":"eDot","≒":"efDot","≓":"erDot","≔":"colone","≕":"ecolon","≖":"ecir","≗":"cire","≙":"wedgeq","≚":"veeeq","≜":"trie","≟":"equest","≡":"equiv","≢":"nequiv","≡⃥":"bnequiv","≤":"le","≰":"nle","≤⃒":"nvle","≥":"ge","≱":"nge","≥⃒":"nvge","≦":"lE","≦̸":"nlE","≧":"gE","≧̸":"ngE","≨︀":"lvnE","≨":"lnE","≩":"gnE","≩︀":"gvnE","≪":"ll","≪̸":"nLtv","≪⃒":"nLt","≫":"gg","≫̸":"nGtv","≫⃒":"nGt","≬":"twixt","≲":"lsim","≴":"nlsim","≳":"gsim","≵":"ngsim","≶":"lg","≸":"ntlg","≷":"gl","≹":"ntgl","≺":"pr","⊀":"npr","≻":"sc","⊁":"nsc","≼":"prcue","⋠":"nprcue","≽":"sccue","⋡":"nsccue","≾":"prsim","≿":"scsim","≿̸":"NotSucceedsTilde","⊂":"sub","⊄":"nsub","⊂⃒":"vnsub","⊃":"sup","⊅":"nsup","⊃⃒":"vnsup","⊆":"sube","⊈":"nsube","⊇":"supe","⊉":"nsupe","⊊︀":"vsubne","⊊":"subne","⊋︀":"vsupne","⊋":"supne","⊍":"cupdot","⊎":"uplus","⊏":"sqsub","⊏̸":"NotSquareSubset","⊐":"sqsup","⊐̸":"NotSquareSuperset","⊑":"sqsube","⋢":"nsqsube","⊒":"sqsupe","⋣":"nsqsupe","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊕":"oplus","⊖":"ominus","⊗":"otimes","⊘":"osol","⊙":"odot","⊚":"ocir","⊛":"oast","⊝":"odash","⊞":"plusb","⊟":"minusb","⊠":"timesb","⊡":"sdotb","⊢":"vdash","⊬":"nvdash","⊣":"dashv","⊤":"top","⊥":"bot","⊧":"models","⊨":"vDash","⊭":"nvDash","⊩":"Vdash","⊮":"nVdash","⊪":"Vvdash","⊫":"VDash","⊯":"nVDash","⊰":"prurel","⊲":"vltri","⋪":"nltri","⊳":"vrtri","⋫":"nrtri","⊴":"ltrie","⋬":"nltrie","⊴⃒":"nvltrie","⊵":"rtrie","⋭":"nrtrie","⊵⃒":"nvrtrie","⊶":"origof","⊷":"imof","⊸":"mumap","⊹":"hercon","⊺":"intcal","⊻":"veebar","⊽":"barvee","⊾":"angrtvb","⊿":"lrtri","⋀":"Wedge","⋁":"Vee","⋂":"xcap","⋃":"xcup","⋄":"diam","⋅":"sdot","⋆":"Star","⋇":"divonx","⋈":"bowtie","⋉":"ltimes","⋊":"rtimes","⋋":"lthree","⋌":"rthree","⋍":"bsime","⋎":"cuvee","⋏":"cuwed","⋐":"Sub","⋑":"Sup","⋒":"Cap","⋓":"Cup","⋔":"fork","⋕":"epar","⋖":"ltdot","⋗":"gtdot","⋘":"Ll","⋘̸":"nLl","⋙":"Gg","⋙̸":"nGg","⋚︀":"lesg","⋚":"leg","⋛":"gel","⋛︀":"gesl","⋞":"cuepr","⋟":"cuesc","⋦":"lnsim","⋧":"gnsim","⋨":"prnsim","⋩":"scnsim","⋮":"vellip","⋯":"ctdot","⋰":"utdot","⋱":"dtdot","⋲":"disin","⋳":"isinsv","⋴":"isins","⋵":"isindot","⋵̸":"notindot","⋶":"notinvc","⋷":"notinvb","⋹":"isinE","⋹̸":"notinE","⋺":"nisd","⋻":"xnis","⋼":"nis","⋽":"notnivc","⋾":"notnivb","⌅":"barwed","⌆":"Barwed","⌌":"drcrop","⌍":"dlcrop","⌎":"urcrop","⌏":"ulcrop","⌐":"bnot","⌒":"profline","⌓":"profsurf","⌕":"telrec","⌖":"target","⌜":"ulcorn","⌝":"urcorn","⌞":"dlcorn","⌟":"drcorn","⌢":"frown","⌣":"smile","⌭":"cylcty","⌮":"profalar","⌶":"topbot","⌽":"ovbar","⌿":"solbar","⍼":"angzarr","⎰":"lmoust","⎱":"rmoust","⎴":"tbrk","⎵":"bbrk","⎶":"bbrktbrk","⏜":"OverParenthesis","⏝":"UnderParenthesis","⏞":"OverBrace","⏟":"UnderBrace","⏢":"trpezium","⏧":"elinters","␣":"blank","─":"boxh","│":"boxv","┌":"boxdr","┐":"boxdl","└":"boxur","┘":"boxul","├":"boxvr","┤":"boxvl","┬":"boxhd","┴":"boxhu","┼":"boxvh","═":"boxH","║":"boxV","╒":"boxdR","╓":"boxDr","╔":"boxDR","╕":"boxdL","╖":"boxDl","╗":"boxDL","╘":"boxuR","╙":"boxUr","╚":"boxUR","╛":"boxuL","╜":"boxUl","╝":"boxUL","╞":"boxvR","╟":"boxVr","╠":"boxVR","╡":"boxvL","╢":"boxVl","╣":"boxVL","╤":"boxHd","╥":"boxhD","╦":"boxHD","╧":"boxHu","╨":"boxhU","╩":"boxHU","╪":"boxvH","╫":"boxVh","╬":"boxVH","▀":"uhblk","▄":"lhblk","█":"block","░":"blk14","▒":"blk12","▓":"blk34","□":"squ","▪":"squf","▫":"EmptyVerySmallSquare","▭":"rect","▮":"marker","▱":"fltns","△":"xutri","▴":"utrif","▵":"utri","▸":"rtrif","▹":"rtri","▽":"xdtri","▾":"dtrif","▿":"dtri","◂":"ltrif","◃":"ltri","◊":"loz","○":"cir","◬":"tridot","◯":"xcirc","◸":"ultri","◹":"urtri","◺":"lltri","◻":"EmptySmallSquare","◼":"FilledSmallSquare","★":"starf","☆":"star","☎":"phone","♀":"female","♂":"male","♠":"spades","♣":"clubs","♥":"hearts","♦":"diams","♪":"sung","✓":"check","✗":"cross","✠":"malt","✶":"sext","❘":"VerticalSeparator","⟈":"bsolhsub","⟉":"suphsol","⟵":"xlarr","⟶":"xrarr","⟷":"xharr","⟸":"xlArr","⟹":"xrArr","⟺":"xhArr","⟼":"xmap","⟿":"dzigrarr","⤂":"nvlArr","⤃":"nvrArr","⤄":"nvHarr","⤅":"Map","⤌":"lbarr","⤍":"rbarr","⤎":"lBarr","⤏":"rBarr","⤐":"RBarr","⤑":"DDotrahd","⤒":"UpArrowBar","⤓":"DownArrowBar","⤖":"Rarrtl","⤙":"latail","⤚":"ratail","⤛":"lAtail","⤜":"rAtail","⤝":"larrfs","⤞":"rarrfs","⤟":"larrbfs","⤠":"rarrbfs","⤣":"nwarhk","⤤":"nearhk","⤥":"searhk","⤦":"swarhk","⤧":"nwnear","⤨":"toea","⤩":"tosa","⤪":"swnwar","⤳":"rarrc","⤳̸":"nrarrc","⤵":"cudarrr","⤶":"ldca","⤷":"rdca","⤸":"cudarrl","⤹":"larrpl","⤼":"curarrm","⤽":"cularrp","⥅":"rarrpl","⥈":"harrcir","⥉":"Uarrocir","⥊":"lurdshar","⥋":"ldrushar","⥎":"LeftRightVector","⥏":"RightUpDownVector","⥐":"DownLeftRightVector","⥑":"LeftUpDownVector","⥒":"LeftVectorBar","⥓":"RightVectorBar","⥔":"RightUpVectorBar","⥕":"RightDownVectorBar","⥖":"DownLeftVectorBar","⥗":"DownRightVectorBar","⥘":"LeftUpVectorBar","⥙":"LeftDownVectorBar","⥚":"LeftTeeVector","⥛":"RightTeeVector","⥜":"RightUpTeeVector","⥝":"RightDownTeeVector","⥞":"DownLeftTeeVector","⥟":"DownRightTeeVector","⥠":"LeftUpTeeVector","⥡":"LeftDownTeeVector","⥢":"lHar","⥣":"uHar","⥤":"rHar","⥥":"dHar","⥦":"luruhar","⥧":"ldrdhar","⥨":"ruluhar","⥩":"rdldhar","⥪":"lharul","⥫":"llhard","⥬":"rharul","⥭":"lrhard","⥮":"udhar","⥯":"duhar","⥰":"RoundImplies","⥱":"erarr","⥲":"simrarr","⥳":"larrsim","⥴":"rarrsim","⥵":"rarrap","⥶":"ltlarr","⥸":"gtrarr","⥹":"subrarr","⥻":"suplarr","⥼":"lfisht","⥽":"rfisht","⥾":"ufisht","⥿":"dfisht","⦚":"vzigzag","⦜":"vangrt","⦝":"angrtvbd","⦤":"ange","⦥":"range","⦦":"dwangle","⦧":"uwangle","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","⦰":"bemptyv","⦱":"demptyv","⦲":"cemptyv","⦳":"raemptyv","⦴":"laemptyv","⦵":"ohbar","⦶":"omid","⦷":"opar","⦹":"operp","⦻":"olcross","⦼":"odsold","⦾":"olcir","⦿":"ofcir","⧀":"olt","⧁":"ogt","⧂":"cirscir","⧃":"cirE","⧄":"solb","⧅":"bsolb","⧉":"boxbox","⧍":"trisb","⧎":"rtriltri","⧏":"LeftTriangleBar","⧏̸":"NotLeftTriangleBar","⧐":"RightTriangleBar","⧐̸":"NotRightTriangleBar","⧜":"iinfin","⧝":"infintie","⧞":"nvinfin","⧣":"eparsl","⧤":"smeparsl","⧥":"eqvparsl","⧫":"lozf","⧴":"RuleDelayed","⧶":"dsol","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨄":"xuplus","⨆":"xsqcup","⨍":"fpartint","⨐":"cirfnint","⨑":"awint","⨒":"rppolint","⨓":"scpolint","⨔":"npolint","⨕":"pointint","⨖":"quatint","⨗":"intlarhk","⨢":"pluscir","⨣":"plusacir","⨤":"simplus","⨥":"plusdu","⨦":"plussim","⨧":"plustwo","⨩":"mcomma","⨪":"minusdu","⨭":"loplus","⨮":"roplus","⨯":"Cross","⨰":"timesd","⨱":"timesbar","⨳":"smashp","⨴":"lotimes","⨵":"rotimes","⨶":"otimesas","⨷":"Otimes","⨸":"odiv","⨹":"triplus","⨺":"triminus","⨻":"tritime","⨼":"iprod","⨿":"amalg","⩀":"capdot","⩂":"ncup","⩃":"ncap","⩄":"capand","⩅":"cupor","⩆":"cupcap","⩇":"capcup","⩈":"cupbrcap","⩉":"capbrcup","⩊":"cupcup","⩋":"capcap","⩌":"ccups","⩍":"ccaps","⩐":"ccupssm","⩓":"And","⩔":"Or","⩕":"andand","⩖":"oror","⩗":"orslope","⩘":"andslope","⩚":"andv","⩛":"orv","⩜":"andd","⩝":"ord","⩟":"wedbar","⩦":"sdote","⩪":"simdot","⩭":"congdot","⩭̸":"ncongdot","⩮":"easter","⩯":"apacir","⩰":"apE","⩰̸":"napE","⩱":"eplus","⩲":"pluse","⩳":"Esim","⩷":"eDDot","⩸":"equivDD","⩹":"ltcir","⩺":"gtcir","⩻":"ltquest","⩼":"gtquest","⩽":"les","⩽̸":"nles","⩾":"ges","⩾̸":"nges","⩿":"lesdot","⪀":"gesdot","⪁":"lesdoto","⪂":"gesdoto","⪃":"lesdotor","⪄":"gesdotol","⪅":"lap","⪆":"gap","⪇":"lne","⪈":"gne","⪉":"lnap","⪊":"gnap","⪋":"lEg","⪌":"gEl","⪍":"lsime","⪎":"gsime","⪏":"lsimg","⪐":"gsiml","⪑":"lgE","⪒":"glE","⪓":"lesges","⪔":"gesles","⪕":"els","⪖":"egs","⪗":"elsdot","⪘":"egsdot","⪙":"el","⪚":"eg","⪝":"siml","⪞":"simg","⪟":"simlE","⪠":"simgE","⪡":"LessLess","⪡̸":"NotNestedLessLess","⪢":"GreaterGreater","⪢̸":"NotNestedGreaterGreater","⪤":"glj","⪥":"gla","⪦":"ltcc","⪧":"gtcc","⪨":"lescc","⪩":"gescc","⪪":"smt","⪫":"lat","⪬":"smte","⪬︀":"smtes","⪭":"late","⪭︀":"lates","⪮":"bumpE","⪯":"pre","⪯̸":"npre","⪰":"sce","⪰̸":"nsce","⪳":"prE","⪴":"scE","⪵":"prnE","⪶":"scnE","⪷":"prap","⪸":"scap","⪹":"prnap","⪺":"scnap","⪻":"Pr","⪼":"Sc","⪽":"subdot","⪾":"supdot","⪿":"subplus","⫀":"supplus","⫁":"submult","⫂":"supmult","⫃":"subedot","⫄":"supedot","⫅":"subE","⫅̸":"nsubE","⫆":"supE","⫆̸":"nsupE","⫇":"subsim","⫈":"supsim","⫋︀":"vsubnE","⫋":"subnE","⫌︀":"vsupnE","⫌":"supnE","⫏":"csub","⫐":"csup","⫑":"csube","⫒":"csupe","⫓":"subsup","⫔":"supsub","⫕":"subsub","⫖":"supsup","⫗":"suphsub","⫘":"supdsub","⫙":"forkv","⫚":"topfork","⫛":"mlcp","⫤":"Dashv","⫦":"Vdashl","⫧":"Barv","⫨":"vBar","⫩":"vBarv","⫫":"Vbar","⫬":"Not","⫭":"bNot","⫮":"rnmid","⫯":"cirmid","⫰":"midcir","⫱":"topcir","⫲":"nhpar","⫳":"parsim","⫽":"parsl","⫽⃥":"nparsl","♭":"flat","♮":"natur","♯":"sharp","¤":"curren","¢":"cent",$:"dollar","£":"pound","¥":"yen","€":"euro","¹":"sup1","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","²":"sup2","⅔":"frac23","⅖":"frac25","³":"sup3","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","𝒶":"ascr","𝕒":"aopf","𝔞":"afr","𝔸":"Aopf","𝔄":"Afr","𝒜":"Ascr",ª:"ordf",á:"aacute",Á:"Aacute",à:"agrave",À:"Agrave",ă:"abreve",Ă:"Abreve",â:"acirc",Â:"Acirc",å:"aring",Å:"angst",ä:"auml",Ä:"Auml",ã:"atilde",Ã:"Atilde",ą:"aogon",Ą:"Aogon",ā:"amacr",Ā:"Amacr",æ:"aelig",Æ:"AElig","𝒷":"bscr","𝕓":"bopf","𝔟":"bfr","𝔹":"Bopf",ℬ:"Bscr","𝔅":"Bfr","𝔠":"cfr","𝒸":"cscr","𝕔":"copf",ℭ:"Cfr","𝒞":"Cscr",ℂ:"Copf",ć:"cacute",Ć:"Cacute",ĉ:"ccirc",Ĉ:"Ccirc",č:"ccaron",Č:"Ccaron",ċ:"cdot",Ċ:"Cdot",ç:"ccedil",Ç:"Ccedil","℅":"incare","𝔡":"dfr","ⅆ":"dd","𝕕":"dopf","𝒹":"dscr","𝒟":"Dscr","𝔇":"Dfr","ⅅ":"DD","𝔻":"Dopf",ď:"dcaron",Ď:"Dcaron",đ:"dstrok",Đ:"Dstrok",ð:"eth",Ð:"ETH","ⅇ":"ee",ℯ:"escr","𝔢":"efr","𝕖":"eopf",ℰ:"Escr","𝔈":"Efr","𝔼":"Eopf",é:"eacute",É:"Eacute",è:"egrave",È:"Egrave",ê:"ecirc",Ê:"Ecirc",ě:"ecaron",Ě:"Ecaron",ë:"euml",Ë:"Euml",ė:"edot",Ė:"Edot",ę:"eogon",Ę:"Eogon",ē:"emacr",Ē:"Emacr","𝔣":"ffr","𝕗":"fopf","𝒻":"fscr","𝔉":"Ffr","𝔽":"Fopf",ℱ:"Fscr",ff:"fflig",ffi:"ffilig",ffl:"ffllig",fi:"filig",fj:"fjlig",fl:"fllig",ƒ:"fnof",ℊ:"gscr","𝕘":"gopf","𝔤":"gfr","𝒢":"Gscr","𝔾":"Gopf","𝔊":"Gfr",ǵ:"gacute",ğ:"gbreve",Ğ:"Gbreve",ĝ:"gcirc",Ĝ:"Gcirc",ġ:"gdot",Ġ:"Gdot",Ģ:"Gcedil","𝔥":"hfr",ℎ:"planckh","𝒽":"hscr","𝕙":"hopf",ℋ:"Hscr",ℌ:"Hfr",ℍ:"Hopf",ĥ:"hcirc",Ĥ:"Hcirc",ℏ:"hbar",ħ:"hstrok",Ħ:"Hstrok","𝕚":"iopf","𝔦":"ifr","𝒾":"iscr","ⅈ":"ii","𝕀":"Iopf",ℐ:"Iscr",ℑ:"Im",í:"iacute",Í:"Iacute",ì:"igrave",Ì:"Igrave",î:"icirc",Î:"Icirc",ï:"iuml",Ï:"Iuml",ĩ:"itilde",Ĩ:"Itilde",İ:"Idot",į:"iogon",Į:"Iogon",ī:"imacr",Ī:"Imacr",ij:"ijlig",IJ:"IJlig",ı:"imath","𝒿":"jscr","𝕛":"jopf","𝔧":"jfr","𝒥":"Jscr","𝔍":"Jfr","𝕁":"Jopf",ĵ:"jcirc",Ĵ:"Jcirc","ȷ":"jmath","𝕜":"kopf","𝓀":"kscr","𝔨":"kfr","𝒦":"Kscr","𝕂":"Kopf","𝔎":"Kfr",ķ:"kcedil",Ķ:"Kcedil","𝔩":"lfr","𝓁":"lscr",ℓ:"ell","𝕝":"lopf",ℒ:"Lscr","𝔏":"Lfr","𝕃":"Lopf",ĺ:"lacute",Ĺ:"Lacute",ľ:"lcaron",Ľ:"Lcaron",ļ:"lcedil",Ļ:"Lcedil",ł:"lstrok",Ł:"Lstrok",ŀ:"lmidot",Ŀ:"Lmidot","𝔪":"mfr","𝕞":"mopf","𝓂":"mscr","𝔐":"Mfr","𝕄":"Mopf",ℳ:"Mscr","𝔫":"nfr","𝕟":"nopf","𝓃":"nscr",ℕ:"Nopf","𝒩":"Nscr","𝔑":"Nfr",ń:"nacute",Ń:"Nacute",ň:"ncaron",Ň:"Ncaron",ñ:"ntilde",Ñ:"Ntilde",ņ:"ncedil",Ņ:"Ncedil","№":"numero",ŋ:"eng",Ŋ:"ENG","𝕠":"oopf","𝔬":"ofr",ℴ:"oscr","𝒪":"Oscr","𝔒":"Ofr","𝕆":"Oopf",º:"ordm",ó:"oacute",Ó:"Oacute",ò:"ograve",Ò:"Ograve",ô:"ocirc",Ô:"Ocirc",ö:"ouml",Ö:"Ouml",ő:"odblac",Ő:"Odblac",õ:"otilde",Õ:"Otilde",ø:"oslash",Ø:"Oslash",ō:"omacr",Ō:"Omacr",œ:"oelig",Œ:"OElig","𝔭":"pfr","𝓅":"pscr","𝕡":"popf",ℙ:"Popf","𝔓":"Pfr","𝒫":"Pscr","𝕢":"qopf","𝔮":"qfr","𝓆":"qscr","𝒬":"Qscr","𝔔":"Qfr",ℚ:"Qopf",ĸ:"kgreen","𝔯":"rfr","𝕣":"ropf","𝓇":"rscr",ℛ:"Rscr",ℜ:"Re",ℝ:"Ropf",ŕ:"racute",Ŕ:"Racute",ř:"rcaron",Ř:"Rcaron",ŗ:"rcedil",Ŗ:"Rcedil","𝕤":"sopf","𝓈":"sscr","𝔰":"sfr","𝕊":"Sopf","𝔖":"Sfr","𝒮":"Sscr","Ⓢ":"oS",ś:"sacute",Ś:"Sacute",ŝ:"scirc",Ŝ:"Scirc",š:"scaron",Š:"Scaron",ş:"scedil",Ş:"Scedil",ß:"szlig","𝔱":"tfr","𝓉":"tscr","𝕥":"topf","𝒯":"Tscr","𝔗":"Tfr","𝕋":"Topf",ť:"tcaron",Ť:"Tcaron",ţ:"tcedil",Ţ:"Tcedil","™":"trade",ŧ:"tstrok",Ŧ:"Tstrok","𝓊":"uscr","𝕦":"uopf","𝔲":"ufr","𝕌":"Uopf","𝔘":"Ufr","𝒰":"Uscr",ú:"uacute",Ú:"Uacute",ù:"ugrave",Ù:"Ugrave",ŭ:"ubreve",Ŭ:"Ubreve",û:"ucirc",Û:"Ucirc",ů:"uring",Ů:"Uring",ü:"uuml",Ü:"Uuml",ű:"udblac",Ű:"Udblac",ũ:"utilde",Ũ:"Utilde",ų:"uogon",Ų:"Uogon",ū:"umacr",Ū:"Umacr","𝔳":"vfr","𝕧":"vopf","𝓋":"vscr","𝔙":"Vfr","𝕍":"Vopf","𝒱":"Vscr","𝕨":"wopf","𝓌":"wscr","𝔴":"wfr","𝒲":"Wscr","𝕎":"Wopf","𝔚":"Wfr",ŵ:"wcirc",Ŵ:"Wcirc","𝔵":"xfr","𝓍":"xscr","𝕩":"xopf","𝕏":"Xopf","𝔛":"Xfr","𝒳":"Xscr","𝔶":"yfr","𝓎":"yscr","𝕪":"yopf","𝒴":"Yscr","𝔜":"Yfr","𝕐":"Yopf",ý:"yacute",Ý:"Yacute",ŷ:"ycirc",Ŷ:"Ycirc",ÿ:"yuml",Ÿ:"Yuml","𝓏":"zscr","𝔷":"zfr","𝕫":"zopf",ℨ:"Zfr",ℤ:"Zopf","𝒵":"Zscr",ź:"zacute",Ź:"Zacute",ž:"zcaron",Ž:"Zcaron",ż:"zdot",Ż:"Zdot",Ƶ:"imped",þ:"thorn",Þ:"THORN",ʼn:"napos",α:"alpha",Α:"Alpha",β:"beta",Β:"Beta",γ:"gamma",Γ:"Gamma",δ:"delta",Δ:"Delta",ε:"epsi","ϵ":"epsiv",Ε:"Epsilon",ϝ:"gammad",Ϝ:"Gammad",ζ:"zeta",Ζ:"Zeta",η:"eta",Η:"Eta",θ:"theta",ϑ:"thetav",Θ:"Theta",ι:"iota",Ι:"Iota",κ:"kappa",ϰ:"kappav",Κ:"Kappa",λ:"lambda",Λ:"Lambda",μ:"mu",µ:"micro",Μ:"Mu",ν:"nu",Ν:"Nu",ξ:"xi",Ξ:"Xi",ο:"omicron",Ο:"Omicron",π:"pi",ϖ:"piv",Π:"Pi",ρ:"rho",ϱ:"rhov",Ρ:"Rho",σ:"sigma",Σ:"Sigma",ς:"sigmaf",τ:"tau",Τ:"Tau",υ:"upsi",Υ:"Upsilon",ϒ:"Upsi",φ:"phi",ϕ:"phiv",Φ:"Phi",χ:"chi",Χ:"Chi",ψ:"psi",Ψ:"Psi",ω:"omega",Ω:"ohm",а:"acy",А:"Acy",б:"bcy",Б:"Bcy",в:"vcy",В:"Vcy",г:"gcy",Г:"Gcy",ѓ:"gjcy",Ѓ:"GJcy",д:"dcy",Д:"Dcy",ђ:"djcy",Ђ:"DJcy",е:"iecy",Е:"IEcy",ё:"iocy",Ё:"IOcy",є:"jukcy",Є:"Jukcy",ж:"zhcy",Ж:"ZHcy",з:"zcy",З:"Zcy",ѕ:"dscy",Ѕ:"DScy",и:"icy",И:"Icy",і:"iukcy",І:"Iukcy",ї:"yicy",Ї:"YIcy",й:"jcy",Й:"Jcy",ј:"jsercy",Ј:"Jsercy",к:"kcy",К:"Kcy",ќ:"kjcy",Ќ:"KJcy",л:"lcy",Л:"Lcy",љ:"ljcy",Љ:"LJcy",м:"mcy",М:"Mcy",н:"ncy",Н:"Ncy",њ:"njcy",Њ:"NJcy",о:"ocy",О:"Ocy",п:"pcy",П:"Pcy",р:"rcy",Р:"Rcy",с:"scy",С:"Scy",т:"tcy",Т:"Tcy",ћ:"tshcy",Ћ:"TSHcy",у:"ucy",У:"Ucy",ў:"ubrcy",Ў:"Ubrcy",ф:"fcy",Ф:"Fcy",х:"khcy",Х:"KHcy",ц:"tscy",Ц:"TScy",ч:"chcy",Ч:"CHcy",џ:"dzcy",Џ:"DZcy",ш:"shcy",Ш:"SHcy",щ:"shchcy",Щ:"SHCHcy",ъ:"hardcy",Ъ:"HARDcy",ы:"ycy",Ы:"Ycy",ь:"softcy",Ь:"SOFTcy",э:"ecy",Э:"Ecy",ю:"yucy",Ю:"YUcy",я:"yacy",Я:"YAcy",ℵ:"aleph",ℶ:"beth",ℷ:"gimel",ℸ:"daleth"},p=/["&'<>`]/g,d={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,h=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/&(CounterClockwiseContourIntegral|DoubleLongLeftRightArrow|ClockwiseContourIntegral|NotNestedGreaterGreater|NotSquareSupersetEqual|DiacriticalDoubleAcute|NotRightTriangleEqual|NotSucceedsSlantEqual|NotPrecedesSlantEqual|CloseCurlyDoubleQuote|NegativeVeryThinSpace|DoubleContourIntegral|FilledVerySmallSquare|CapitalDifferentialD|OpenCurlyDoubleQuote|EmptyVerySmallSquare|NestedGreaterGreater|DoubleLongRightArrow|NotLeftTriangleEqual|NotGreaterSlantEqual|ReverseUpEquilibrium|DoubleLeftRightArrow|NotSquareSubsetEqual|NotDoubleVerticalBar|RightArrowLeftArrow|NotGreaterFullEqual|NotRightTriangleBar|SquareSupersetEqual|DownLeftRightVector|DoubleLongLeftArrow|leftrightsquigarrow|LeftArrowRightArrow|NegativeMediumSpace|blacktriangleright|RightDownVectorBar|PrecedesSlantEqual|RightDoubleBracket|SucceedsSlantEqual|NotLeftTriangleBar|RightTriangleEqual|SquareIntersection|RightDownTeeVector|ReverseEquilibrium|NegativeThickSpace|longleftrightarrow|Longleftrightarrow|LongLeftRightArrow|DownRightTeeVector|DownRightVectorBar|GreaterSlantEqual|SquareSubsetEqual|LeftDownVectorBar|LeftDoubleBracket|VerticalSeparator|rightleftharpoons|NotGreaterGreater|NotSquareSuperset|blacktriangleleft|blacktriangledown|NegativeThinSpace|LeftDownTeeVector|NotLessSlantEqual|leftrightharpoons|DoubleUpDownArrow|DoubleVerticalBar|LeftTriangleEqual|FilledSmallSquare|twoheadrightarrow|NotNestedLessLess|DownLeftTeeVector|DownLeftVectorBar|RightAngleBracket|NotTildeFullEqual|NotReverseElement|RightUpDownVector|DiacriticalTilde|NotSucceedsTilde|circlearrowright|NotPrecedesEqual|rightharpoondown|DoubleRightArrow|NotSucceedsEqual|NonBreakingSpace|NotRightTriangle|LessEqualGreater|RightUpTeeVector|LeftAngleBracket|GreaterFullEqual|DownArrowUpArrow|RightUpVectorBar|twoheadleftarrow|GreaterEqualLess|downharpoonright|RightTriangleBar|ntrianglerighteq|NotSupersetEqual|LeftUpDownVector|DiacriticalAcute|rightrightarrows|vartriangleright|UpArrowDownArrow|DiacriticalGrave|UnderParenthesis|EmptySmallSquare|LeftUpVectorBar|leftrightarrows|DownRightVector|downharpoonleft|trianglerighteq|ShortRightArrow|OverParenthesis|DoubleLeftArrow|DoubleDownArrow|NotSquareSubset|bigtriangledown|ntrianglelefteq|UpperRightArrow|curvearrowright|vartriangleleft|NotLeftTriangle|nleftrightarrow|LowerRightArrow|NotHumpDownHump|NotGreaterTilde|rightthreetimes|LeftUpTeeVector|NotGreaterEqual|straightepsilon|LeftTriangleBar|rightsquigarrow|ContourIntegral|rightleftarrows|CloseCurlyQuote|RightDownVector|LeftRightVector|nLeftrightarrow|leftharpoondown|circlearrowleft|SquareSuperset|OpenCurlyQuote|hookrightarrow|HorizontalLine|DiacriticalDot|NotLessGreater|ntriangleright|DoubleRightTee|InvisibleComma|InvisibleTimes|LowerLeftArrow|DownLeftVector|NotSubsetEqual|curvearrowleft|trianglelefteq|NotVerticalBar|TildeFullEqual|downdownarrows|NotGreaterLess|RightTeeVector|ZeroWidthSpace|looparrowright|LongRightArrow|doublebarwedge|ShortLeftArrow|ShortDownArrow|RightVectorBar|GreaterGreater|ReverseElement|rightharpoonup|LessSlantEqual|leftthreetimes|upharpoonright|rightarrowtail|LeftDownVector|Longrightarrow|NestedLessLess|UpperLeftArrow|nshortparallel|leftleftarrows|leftrightarrow|Leftrightarrow|LeftRightArrow|longrightarrow|upharpoonleft|RightArrowBar|ApplyFunction|LeftTeeVector|leftarrowtail|NotEqualTilde|varsubsetneqq|varsupsetneqq|RightTeeArrow|SucceedsEqual|SucceedsTilde|LeftVectorBar|SupersetEqual|hookleftarrow|DifferentialD|VerticalTilde|VeryThinSpace|blacktriangle|bigtriangleup|LessFullEqual|divideontimes|leftharpoonup|UpEquilibrium|ntriangleleft|RightTriangle|measuredangle|shortparallel|longleftarrow|Longleftarrow|LongLeftArrow|DoubleLeftTee|Poincareplane|PrecedesEqual|triangleright|DoubleUpArrow|RightUpVector|fallingdotseq|looparrowleft|PrecedesTilde|NotTildeEqual|NotTildeTilde|smallsetminus|Proportional|triangleleft|triangledown|UnderBracket|NotHumpEqual|exponentiale|ExponentialE|NotLessTilde|HilbertSpace|RightCeiling|blacklozenge|varsupsetneq|HumpDownHump|GreaterEqual|VerticalLine|LeftTeeArrow|NotLessEqual|DownTeeArrow|LeftTriangle|varsubsetneq|Intersection|NotCongruent|DownArrowBar|LeftUpVector|LeftArrowBar|risingdotseq|GreaterTilde|RoundImplies|SquareSubset|ShortUpArrow|NotSuperset|quaternions|precnapprox|backepsilon|preccurlyeq|OverBracket|blacksquare|MediumSpace|VerticalBar|circledcirc|circleddash|CircleMinus|CircleTimes|LessGreater|curlyeqprec|curlyeqsucc|diamondsuit|UpDownArrow|Updownarrow|RuleDelayed|Rrightarrow|updownarrow|RightVector|nRightarrow|nrightarrow|eqslantless|LeftCeiling|Equilibrium|SmallCircle|expectation|NotSucceeds|thickapprox|GreaterLess|SquareUnion|NotPrecedes|NotLessLess|straightphi|succnapprox|succcurlyeq|SubsetEqual|sqsupseteq|Proportion|Laplacetrf|ImaginaryI|supsetneqq|NotGreater|gtreqqless|NotElement|ThickSpace|TildeEqual|TildeTilde|Fouriertrf|rmoustache|EqualTilde|eqslantgtr|UnderBrace|LeftVector|UpArrowBar|nLeftarrow|nsubseteqq|subsetneqq|nsupseteqq|nleftarrow|succapprox|lessapprox|UpTeeArrow|upuparrows|curlywedge|lesseqqgtr|varepsilon|varnothing|RightFloor|complement|CirclePlus|sqsubseteq|Lleftarrow|circledast|RightArrow|Rightarrow|rightarrow|lmoustache|Bernoullis|precapprox|mapstoleft|mapstodown|longmapsto|dotsquare|downarrow|DoubleDot|nsubseteq|supsetneq|leftarrow|nsupseteq|subsetneq|ThinSpace|ngeqslant|subseteqq|HumpEqual|NotSubset|triangleq|NotCupCap|lesseqgtr|heartsuit|TripleDot|Leftarrow|Coproduct|Congruent|varpropto|complexes|gvertneqq|LeftArrow|LessTilde|supseteqq|MinusPlus|CircleDot|nleqslant|NotExists|gtreqless|nparallel|UnionPlus|LeftFloor|checkmark|CenterDot|centerdot|Mellintrf|gtrapprox|bigotimes|OverBrace|spadesuit|therefore|pitchfork|rationals|PlusMinus|Backslash|Therefore|DownBreve|backsimeq|backprime|DownArrow|nshortmid|Downarrow|lvertneqq|eqvparsl|imagline|imagpart|infintie|integers|Integral|intercal|LessLess|Uarrocir|intlarhk|sqsupset|angmsdaf|sqsubset|llcorner|vartheta|cupbrcap|lnapprox|Superset|SuchThat|succnsim|succneqq|angmsdag|biguplus|curlyvee|trpezium|Succeeds|NotTilde|bigwedge|angmsdah|angrtvbd|triminus|cwconint|fpartint|lrcorner|smeparsl|subseteq|urcorner|lurdshar|laemptyv|DDotrahd|approxeq|ldrushar|awconint|mapstoup|backcong|shortmid|triangle|geqslant|gesdotol|timesbar|circledR|circledS|setminus|multimap|naturals|scpolint|ncongdot|RightTee|boxminus|gnapprox|boxtimes|andslope|thicksim|angmsdaa|varsigma|cirfnint|rtriltri|angmsdab|rppolint|angmsdac|barwedge|drbkarow|clubsuit|thetasym|bsolhsub|capbrcup|dzigrarr|doteqdot|DotEqual|dotminus|UnderBar|NotEqual|realpart|otimesas|ulcorner|hksearow|hkswarow|parallel|PartialD|elinters|emptyset|plusacir|bbrktbrk|angmsdad|pointint|bigoplus|angmsdae|Precedes|bigsqcup|varkappa|notindot|supseteq|precneqq|precnsim|profalar|profline|profsurf|leqslant|lesdotor|raemptyv|subplus|notnivb|notnivc|subrarr|zigrarr|vzigzag|submult|subedot|Element|between|cirscir|larrbfs|larrsim|lotimes|lbrksld|lbrkslu|lozenge|ldrdhar|dbkarow|bigcirc|epsilon|simrarr|simplus|ltquest|Epsilon|luruhar|gtquest|maltese|npolint|eqcolon|npreceq|bigodot|ddagger|gtrless|bnequiv|harrcir|ddotseq|equivDD|backsim|demptyv|nsqsube|nsqsupe|Upsilon|nsubset|upsilon|minusdu|nsucceq|swarrow|nsupset|coloneq|searrow|boxplus|napprox|natural|asympeq|alefsym|congdot|nearrow|bigstar|diamond|supplus|tritime|LeftTee|nvinfin|triplus|NewLine|nvltrie|nvrtrie|nwarrow|nexists|Diamond|ruluhar|Implies|supmult|angzarr|suplarr|suphsub|questeq|because|digamma|Because|olcross|bemptyv|omicron|Omicron|rotimes|NoBreak|intprod|angrtvb|orderof|uwangle|suphsol|lesdoto|orslope|DownTee|realine|cudarrl|rdldhar|OverBar|supedot|lessdot|supdsub|topfork|succsim|rbrkslu|rbrksld|pertenk|cudarrr|isindot|planckh|lessgtr|pluscir|gesdoto|plussim|plustwo|lesssim|cularrp|rarrsim|Cayleys|notinva|notinvb|notinvc|UpArrow|Uparrow|uparrow|NotLess|dwangle|precsim|Product|curarrm|Cconint|dotplus|rarrbfs|ccupssm|Cedilla|cemptyv|notniva|quatint|frac35|frac38|frac45|frac56|frac58|frac78|tridot|xoplus|gacute|gammad|Gammad|lfisht|lfloor|bigcup|sqsupe|gbreve|Gbreve|lharul|sqsube|sqcups|Gcedil|apacir|llhard|lmidot|Lmidot|lmoust|andand|sqcaps|approx|Abreve|spades|circeq|tprime|divide|topcir|Assign|topbot|gesdot|divonx|xuplus|timesd|gesles|atilde|solbar|SOFTcy|loplus|timesb|lowast|lowbar|dlcorn|dlcrop|softcy|dollar|lparlt|thksim|lrhard|Atilde|lsaquo|smashp|bigvee|thinsp|wreath|bkarow|lsquor|lstrok|Lstrok|lthree|ltimes|ltlarr|DotDot|simdot|ltrPar|weierp|xsqcup|angmsd|sigmav|sigmaf|zeetrf|Zcaron|zcaron|mapsto|vsupne|thetav|cirmid|marker|mcomma|Zacute|vsubnE|there4|gtlPar|vsubne|bottom|gtrarr|SHCHcy|shchcy|midast|midcir|middot|minusb|minusd|gtrdot|bowtie|sfrown|mnplus|models|colone|seswar|Colone|mstpos|searhk|gtrsim|nacute|Nacute|boxbox|telrec|hairsp|Tcedil|nbumpe|scnsim|ncaron|Ncaron|ncedil|Ncedil|hamilt|Scedil|nearhk|hardcy|HARDcy|tcedil|Tcaron|commat|nequiv|nesear|tcaron|target|hearts|nexist|varrho|scedil|Scaron|scaron|hellip|Sacute|sacute|hercon|swnwar|compfn|rtimes|rthree|rsquor|rsaquo|zacute|wedgeq|homtht|barvee|barwed|Barwed|rpargt|horbar|conint|swarhk|roplus|nltrie|hslash|hstrok|Hstrok|rmoust|Conint|bprime|hybull|hyphen|iacute|Iacute|supsup|supsub|supsim|varphi|coprod|brvbar|agrave|Supset|supset|igrave|Igrave|notinE|Agrave|iiiint|iinfin|copysr|wedbar|Verbar|vangrt|becaus|incare|verbar|inodot|bullet|drcorn|intcal|drcrop|cularr|vellip|Utilde|bumpeq|cupcap|dstrok|Dstrok|CupCap|cupcup|cupdot|eacute|Eacute|supdot|iquest|easter|ecaron|Ecaron|ecolon|isinsv|utilde|itilde|Itilde|curarr|succeq|Bumpeq|cacute|ulcrop|nparsl|Cacute|nprcue|egrave|Egrave|nrarrc|nrarrw|subsup|subsub|nrtrie|jsercy|nsccue|Jsercy|kappav|kcedil|Kcedil|subsim|ulcorn|nsimeq|egsdot|veebar|kgreen|capand|elsdot|Subset|subset|curren|aacute|lacute|Lacute|emptyv|ntilde|Ntilde|lagran|lambda|Lambda|capcap|Ugrave|langle|subdot|emsp13|numero|emsp14|nvdash|nvDash|nVdash|nVDash|ugrave|ufisht|nvHarr|larrfs|nvlArr|larrhk|larrlp|larrpl|nvrArr|Udblac|nwarhk|larrtl|nwnear|oacute|Oacute|latail|lAtail|sstarf|lbrace|odblac|Odblac|lbrack|udblac|odsold|eparsl|lcaron|Lcaron|ograve|Ograve|lcedil|Lcedil|Aacute|ssmile|ssetmn|squarf|ldquor|capcup|ominus|cylcty|rharul|eqcirc|dagger|rfloor|rfisht|Dagger|daleth|equals|origof|capdot|equest|dcaron|Dcaron|rdquor|oslash|Oslash|otilde|Otilde|otimes|Otimes|urcrop|Ubreve|ubreve|Yacute|Uacute|uacute|Rcedil|rcedil|urcorn|parsim|Rcaron|Vdashl|rcaron|Tstrok|percnt|period|permil|Exists|yacute|rbrack|rbrace|phmmat|ccaron|Ccaron|planck|ccedil|plankv|tstrok|female|plusdo|plusdu|ffilig|plusmn|ffllig|Ccedil|rAtail|dfisht|bernou|ratail|Rarrtl|rarrtl|angsph|rarrpl|rarrlp|rarrhk|xwedge|xotime|forall|ForAll|Vvdash|vsupnE|preceq|bigcap|frac12|frac13|frac14|primes|rarrfs|prnsim|frac15|Square|frac16|square|lesdot|frac18|frac23|propto|prurel|rarrap|rangle|puncsp|frac25|Racute|qprime|racute|lesges|frac34|abreve|AElig|eqsim|utdot|setmn|urtri|Equal|Uring|seArr|uring|searr|dashv|Dashv|mumap|nabla|iogon|Iogon|sdote|sdotb|scsim|napid|napos|equiv|natur|Acirc|dblac|erarr|nbump|iprod|erDot|ucirc|awint|esdot|angrt|ncong|isinE|scnap|Scirc|scirc|ndash|isins|Ubrcy|nearr|neArr|isinv|nedot|ubrcy|acute|Ycirc|iukcy|Iukcy|xutri|nesim|caret|jcirc|Jcirc|caron|twixt|ddarr|sccue|exist|jmath|sbquo|ngeqq|angst|ccaps|lceil|ngsim|UpTee|delta|Delta|rtrif|nharr|nhArr|nhpar|rtrie|jukcy|Jukcy|kappa|rsquo|Kappa|nlarr|nlArr|TSHcy|rrarr|aogon|Aogon|fflig|xrarr|tshcy|ccirc|nleqq|filig|upsih|nless|dharl|nlsim|fjlig|ropar|nltri|dharr|robrk|roarr|fllig|fltns|roang|rnmid|subnE|subne|lAarr|trisb|Ccirc|acirc|ccups|blank|VDash|forkv|Vdash|langd|cedil|blk12|blk14|laquo|strns|diams|notin|vDash|larrb|blk34|block|disin|uplus|vdash|vBarv|aelig|starf|Wedge|check|xrArr|lates|lbarr|lBarr|notni|lbbrk|bcong|frasl|lbrke|frown|vrtri|vprop|vnsup|gamma|Gamma|wedge|xodot|bdquo|srarr|doteq|ldquo|boxdl|boxdL|gcirc|Gcirc|boxDl|boxDL|boxdr|boxdR|boxDr|TRADE|trade|rlhar|boxDR|vnsub|npart|vltri|rlarr|boxhd|boxhD|nprec|gescc|nrarr|nrArr|boxHd|boxHD|boxhu|boxhU|nrtri|boxHu|clubs|boxHU|times|colon|Colon|gimel|xlArr|Tilde|nsime|tilde|nsmid|nspar|THORN|thorn|xlarr|nsube|nsubE|thkap|xhArr|comma|nsucc|boxul|boxuL|nsupe|nsupE|gneqq|gnsim|boxUl|boxUL|grave|boxur|boxuR|boxUr|boxUR|lescc|angle|bepsi|boxvh|varpi|boxvH|numsp|Theta|gsime|gsiml|theta|boxVh|boxVH|boxvl|gtcir|gtdot|boxvL|boxVl|boxVL|crarr|cross|Cross|nvsim|boxvr|nwarr|nwArr|sqsup|dtdot|Uogon|lhard|lharu|dtrif|ocirc|Ocirc|lhblk|duarr|odash|sqsub|Hacek|sqcup|llarr|duhar|oelig|OElig|ofcir|boxvR|uogon|lltri|boxVr|csube|uuarr|ohbar|csupe|ctdot|olarr|olcir|harrw|oline|sqcap|omacr|Omacr|omega|Omega|boxVR|aleph|lneqq|lnsim|loang|loarr|rharu|lobrk|hcirc|operp|oplus|rhard|Hcirc|orarr|Union|order|ecirc|Ecirc|cuepr|szlig|cuesc|breve|reals|eDDot|Breve|hoarr|lopar|utrif|rdquo|Umacr|umacr|efDot|swArr|ultri|alpha|rceil|ovbar|swarr|Wcirc|wcirc|smtes|smile|bsemi|lrarr|aring|parsl|lrhar|bsime|uhblk|lrtri|cupor|Aring|uharr|uharl|slarr|rbrke|bsolb|lsime|rbbrk|RBarr|lsimg|phone|rBarr|rbarr|icirc|lsquo|Icirc|emacr|Emacr|ratio|simne|plusb|simlE|simgE|simeq|pluse|ltcir|ltdot|empty|xharr|xdtri|iexcl|Alpha|ltrie|rarrw|pound|ltrif|xcirc|bumpe|prcue|bumpE|asymp|amacr|cuvee|Sigma|sigma|iiint|udhar|iiota|ijlig|IJlig|supnE|imacr|Imacr|prime|Prime|image|prnap|eogon|Eogon|rarrc|mdash|mDDot|cuwed|imath|supne|imped|Amacr|udarr|prsim|micro|rarrb|cwint|raquo|infin|eplus|range|rangd|Ucirc|radic|minus|amalg|veeeq|rAarr|epsiv|ycirc|quest|sharp|quot|zwnj|Qscr|race|qscr|Qopf|qopf|qint|rang|Rang|Zscr|zscr|Zopf|zopf|rarr|rArr|Rarr|Pscr|pscr|prop|prod|prnE|prec|ZHcy|zhcy|prap|Zeta|zeta|Popf|popf|Zdot|plus|zdot|Yuml|yuml|phiv|YUcy|yucy|Yscr|yscr|perp|Yopf|yopf|part|para|YIcy|Ouml|rcub|yicy|YAcy|rdca|ouml|osol|Oscr|rdsh|yacy|real|oscr|xvee|andd|rect|andv|Xscr|oror|ordm|ordf|xscr|ange|aopf|Aopf|rHar|Xopf|opar|Oopf|xopf|xnis|rhov|oopf|omid|xmap|oint|apid|apos|ogon|ascr|Ascr|odot|odiv|xcup|xcap|ocir|oast|nvlt|nvle|nvgt|nvge|nvap|Wscr|wscr|auml|ntlg|ntgl|nsup|nsub|nsim|Nscr|nscr|nsce|Wopf|ring|npre|wopf|npar|Auml|Barv|bbrk|Nopf|nopf|nmid|nLtv|beta|ropf|Ropf|Beta|beth|nles|rpar|nleq|bnot|bNot|nldr|NJcy|rscr|Rscr|Vscr|vscr|rsqb|njcy|bopf|nisd|Bopf|rtri|Vopf|nGtv|ngtr|vopf|boxh|boxH|boxv|nges|ngeq|boxV|bscr|scap|Bscr|bsim|Vert|vert|bsol|bull|bump|caps|cdot|ncup|scnE|ncap|nbsp|napE|Cdot|cent|sdot|Vbar|nang|vBar|chcy|Mscr|mscr|sect|semi|CHcy|Mopf|mopf|sext|circ|cire|mldr|mlcp|cirE|comp|shcy|SHcy|vArr|varr|cong|copf|Copf|copy|COPY|malt|male|macr|lvnE|cscr|ltri|sime|ltcc|simg|Cscr|siml|csub|Uuml|lsqb|lsim|uuml|csup|Lscr|lscr|utri|smid|lpar|cups|smte|lozf|darr|Lopf|Uscr|solb|lopf|sopf|Sopf|lneq|uscr|spar|dArr|lnap|Darr|dash|Sqrt|LJcy|ljcy|lHar|dHar|Upsi|upsi|diam|lesg|djcy|DJcy|leqq|dopf|Dopf|dscr|Dscr|dscy|ldsh|ldca|squf|DScy|sscr|Sscr|dsol|lcub|late|star|Star|Uopf|Larr|lArr|larr|uopf|dtri|dzcy|sube|subE|Lang|lang|Kscr|kscr|Kopf|kopf|KJcy|kjcy|KHcy|khcy|DZcy|ecir|edot|eDot|Jscr|jscr|succ|Jopf|jopf|Edot|uHar|emsp|ensp|Iuml|iuml|eopf|isin|Iscr|iscr|Eopf|epar|sung|epsi|escr|sup1|sup2|sup3|Iota|iota|supe|supE|Iopf|iopf|IOcy|iocy|Escr|esim|Esim|imof|Uarr|QUOT|uArr|uarr|euml|IEcy|iecy|Idot|Euml|euro|excl|Hscr|hscr|Hopf|hopf|TScy|tscy|Tscr|hbar|tscr|flat|tbrk|fnof|hArr|harr|half|fopf|Fopf|tdot|gvnE|fork|trie|gtcc|fscr|Fscr|gdot|gsim|Gscr|gscr|Gopf|gopf|gneq|Gdot|tosa|gnap|Topf|topf|geqq|toea|GJcy|gjcy|tint|gesl|mid|Sfr|ggg|top|ges|gla|glE|glj|geq|gne|gEl|gel|gnE|Gcy|gcy|gap|Tfr|tfr|Tcy|tcy|Hat|Tau|Ffr|tau|Tab|hfr|Hfr|ffr|Fcy|fcy|icy|Icy|iff|ETH|eth|ifr|Ifr|Eta|eta|int|Int|Sup|sup|ucy|Ucy|Sum|sum|jcy|ENG|ufr|Ufr|eng|Jcy|jfr|els|ell|egs|Efr|efr|Jfr|uml|kcy|Kcy|Ecy|ecy|kfr|Kfr|lap|Sub|sub|lat|lcy|Lcy|leg|Dot|dot|lEg|leq|les|squ|div|die|lfr|Lfr|lgE|Dfr|dfr|Del|deg|Dcy|dcy|lne|lnE|sol|loz|smt|Cup|lrm|cup|lsh|Lsh|sim|shy|map|Map|mcy|Mcy|mfr|Mfr|mho|gfr|Gfr|sfr|cir|Chi|chi|nap|Cfr|vcy|Vcy|cfr|Scy|scy|ncy|Ncy|vee|Vee|Cap|cap|nfr|scE|sce|Nfr|nge|ngE|nGg|vfr|Vfr|ngt|bot|nGt|nis|niv|Rsh|rsh|nle|nlE|bne|Bfr|bfr|nLl|nlt|nLt|Bcy|bcy|not|Not|rlm|wfr|Wfr|npr|nsc|num|ocy|ast|Ocy|ofr|xfr|Xfr|Ofr|ogt|ohm|apE|olt|Rho|ape|rho|Rfr|rfr|ord|REG|ang|reg|orv|And|and|AMP|Rcy|amp|Afr|ycy|Ycy|yen|yfr|Yfr|rcy|par|pcy|Pcy|pfr|Pfr|phi|Phi|afr|Acy|acy|zcy|Zcy|piv|acE|acd|zfr|Zfr|pre|prE|psi|Psi|qfr|Qfr|zwj|Or|ge|Gg|gt|gg|el|oS|lt|Lt|LT|Re|lg|gl|eg|ne|Im|it|le|DD|wp|wr|nu|Nu|dd|lE|Sc|sc|pi|Pi|ee|af|ll|Ll|rx|gE|xi|pm|Xi|ic|pr|Pr|in|ni|mp|mu|ac|Mu|or|ap|Gt|GT|ii);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)(?!;)([=a-zA-Z0-9]?)|&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+)/g,A={aacute:"á",Aacute:"Á",abreve:"ă",Abreve:"Ă",ac:"∾",acd:"∿",acE:"∾̳",acirc:"â",Acirc:"Â",acute:"´",acy:"а",Acy:"А",aelig:"æ",AElig:"Æ",af:"⁡",afr:"𝔞",Afr:"𝔄",agrave:"à",Agrave:"À",alefsym:"ℵ",aleph:"ℵ",alpha:"α",Alpha:"Α",amacr:"ā",Amacr:"Ā",amalg:"⨿",amp:"&",AMP:"&",and:"∧",And:"⩓",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",Aogon:"Ą",aopf:"𝕒",Aopf:"𝔸",ap:"≈",apacir:"⩯",ape:"≊",apE:"⩰",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",aring:"å",Aring:"Å",ascr:"𝒶",Ascr:"𝒜",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",Bcy:"Б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",beta:"β",Beta:"Β",beth:"ℶ",between:"≬",bfr:"𝔟",Bfr:"𝔅",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bNot:"⫭",bopf:"𝕓",Bopf:"𝔹",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxhD:"╥",boxHd:"╤",boxHD:"╦",boxhu:"┴",boxhU:"╨",boxHu:"╧",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpe:"≏",bumpE:"⪮",bumpeq:"≏",Bumpeq:"≎",cacute:"ć",Cacute:"Ć",cap:"∩",Cap:"⋒",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",ccaron:"č",Ccaron:"Č",ccedil:"ç",Ccedil:"Ç",ccirc:"ĉ",Ccirc:"Ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",Cdot:"Ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",chcy:"ч",CHcy:"Ч",check:"✓",checkmark:"✓",chi:"χ",Chi:"Χ",cir:"○",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cire:"≗",cirE:"⧃",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",colone:"≔",Colone:"⩴",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",cscr:"𝒸",Cscr:"𝒞",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",Cup:"⋓",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",dArr:"⇓",Darr:"↡",dash:"‐",dashv:"⊣",Dashv:"⫤",dbkarow:"⤏",dblac:"˝",dcaron:"ď",Dcaron:"Ď",dcy:"д",Dcy:"Д",dd:"ⅆ",DD:"ⅅ",ddagger:"‡",ddarr:"⇊",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",delta:"δ",Delta:"Δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",Dfr:"𝔇",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",DJcy:"Ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",Dopf:"𝔻",dot:"˙",Dot:"¨",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",downarrow:"↓",Downarrow:"⇓",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",Dscr:"𝒟",dscy:"ѕ",DScy:"Ѕ",dsol:"⧶",dstrok:"đ",Dstrok:"Đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",DZcy:"Џ",dzigrarr:"⟿",eacute:"é",Eacute:"É",easter:"⩮",ecaron:"ě",Ecaron:"Ě",ecir:"≖",ecirc:"ê",Ecirc:"Ê",ecolon:"≕",ecy:"э",Ecy:"Э",eDDot:"⩷",edot:"ė",eDot:"≑",Edot:"Ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",Efr:"𝔈",eg:"⪚",egrave:"è",Egrave:"È",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",Emacr:"Ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp:" ",emsp13:" ",emsp14:" ",eng:"ŋ",ENG:"Ŋ",ensp:" ",eogon:"ę",Eogon:"Ę",eopf:"𝕖",Eopf:"𝔼",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",Epsilon:"Ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",esim:"≂",Esim:"⩳",eta:"η",Eta:"Η",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",fcy:"ф",Fcy:"Ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",Ffr:"𝔉",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",Fopf:"𝔽",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",gamma:"γ",Gamma:"Γ",gammad:"ϝ",Gammad:"Ϝ",gap:"⪆",gbreve:"ğ",Gbreve:"Ğ",Gcedil:"Ģ",gcirc:"ĝ",Gcirc:"Ĝ",gcy:"г",Gcy:"Г",gdot:"ġ",Gdot:"Ġ",ge:"≥",gE:"≧",gel:"⋛",gEl:"⪌",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",Gfr:"𝔊",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",GJcy:"Ѓ",gl:"≷",gla:"⪥",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",Gopf:"𝔾",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",gscr:"ℊ",Gscr:"𝒢",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",Gt:"≫",GT:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",HARDcy:"Ъ",harr:"↔",hArr:"⇔",harrcir:"⥈",harrw:"↭",Hat:"^",hbar:"ℏ",hcirc:"ĥ",Hcirc:"Ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",hstrok:"ħ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",iacute:"í",Iacute:"Í",ic:"⁣",icirc:"î",Icirc:"Î",icy:"и",Icy:"И",Idot:"İ",iecy:"е",IEcy:"Е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",igrave:"ì",Igrave:"Ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",IJlig:"IJ",Im:"ℑ",imacr:"ī",Imacr:"Ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",Implies:"⇒",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",Int:"∬",intcal:"⊺",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",iocy:"ё",IOcy:"Ё",iogon:"į",Iogon:"Į",iopf:"𝕚",Iopf:"𝕀",iota:"ι",Iota:"Ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",Itilde:"Ĩ",iukcy:"і",Iukcy:"І",iuml:"ï",Iuml:"Ï",jcirc:"ĵ",Jcirc:"Ĵ",jcy:"й",Jcy:"Й",jfr:"𝔧",Jfr:"𝔍",jmath:"ȷ",jopf:"𝕛",Jopf:"𝕁",jscr:"𝒿",Jscr:"𝒥",jsercy:"ј",Jsercy:"Ј",jukcy:"є",Jukcy:"Є",kappa:"κ",Kappa:"Κ",kappav:"ϰ",kcedil:"ķ",Kcedil:"Ķ",kcy:"к",Kcy:"К",kfr:"𝔨",Kfr:"𝔎",kgreen:"ĸ",khcy:"х",KHcy:"Х",kjcy:"ќ",KJcy:"Ќ",kopf:"𝕜",Kopf:"𝕂",kscr:"𝓀",Kscr:"𝒦",lAarr:"⇚",lacute:"ĺ",Lacute:"Ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",Lambda:"Λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larr:"←",lArr:"⇐",Larr:"↞",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",lAtail:"⤛",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",Lcaron:"Ľ",lcedil:"ļ",Lcedil:"Ļ",lceil:"⌈",lcub:"{",lcy:"л",Lcy:"Л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",leftarrow:"←",Leftarrow:"⇐",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",Leftrightarrow:"⇔",LeftRightArrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",leg:"⋚",lEg:"⪋",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",Lfr:"𝔏",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",LJcy:"Љ",ll:"≪",Ll:"⋘",llarr:"⇇",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",lmidot:"ŀ",Lmidot:"Ŀ",lmoust:"⎰",lmoustache:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",Longleftarrow:"⟸",LongLeftArrow:"⟵",longleftrightarrow:"⟷",Longleftrightarrow:"⟺",LongLeftRightArrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",Longrightarrow:"⟹",LongRightArrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",Lopf:"𝕃",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",Lstrok:"Ł",lt:"<",Lt:"≪",LT:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",Map:"⤅",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",Mcy:"М",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",mfr:"𝔪",Mfr:"𝔐",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",Mopf:"𝕄",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",mu:"μ",Mu:"Μ",multimap:"⊸",mumap:"⊸",nabla:"∇",nacute:"ń",Nacute:"Ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",Ncaron:"Ň",ncedil:"ņ",Ncedil:"Ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",Ncy:"Н",ndash:"–",ne:"≠",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:` +`,nexist:"∄",nexists:"∄",nfr:"𝔫",Nfr:"𝔑",nge:"≱",ngE:"≧̸",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",ngt:"≯",nGt:"≫⃒",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",NJcy:"Њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nle:"≰",nlE:"≦̸",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nlt:"≮",nLt:"≪⃒",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",not:"¬",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrarr:"↛",nrArr:"⇏",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",Nscr:"𝒩",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsube:"⊈",nsubE:"⫅̸",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupe:"⊉",nsupE:"⫆̸",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",Ntilde:"Ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",Nu:"Ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",oacute:"ó",Oacute:"Ó",oast:"⊛",ocir:"⊚",ocirc:"ô",Ocirc:"Ô",ocy:"о",Ocy:"О",odash:"⊝",odblac:"ő",Odblac:"Ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",OElig:"Œ",ofcir:"⦿",ofr:"𝔬",Ofr:"𝔒",ogon:"˛",ograve:"ò",Ograve:"Ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",Omacr:"Ō",omega:"ω",Omega:"Ω",omicron:"ο",Omicron:"Ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",Oopf:"𝕆",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",or:"∨",Or:"⩔",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",oscr:"ℴ",Oscr:"𝒪",oslash:"ø",Oslash:"Ø",osol:"⊘",otilde:"õ",Otilde:"Õ",otimes:"⊗",Otimes:"⨷",otimesas:"⨶",ouml:"ö",Ouml:"Ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",pcy:"п",Pcy:"П",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",Pfr:"𝔓",phi:"φ",Phi:"Φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",Pi:"Π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",pr:"≺",Pr:"⪻",prap:"⪷",prcue:"≼",pre:"⪯",prE:"⪳",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportion:"∷",Proportional:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",Pscr:"𝒫",psi:"ψ",Psi:"Ψ",puncsp:" ",qfr:"𝔮",Qfr:"𝔔",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",qscr:"𝓆",Qscr:"𝒬",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",racute:"ŕ",Racute:"Ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rArr:"⇒",Rarr:"↠",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",Rarrtl:"⤖",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",Rcaron:"Ř",rcedil:"ŗ",Rcedil:"Ŗ",rceil:"⌉",rcub:"}",rcy:"р",Rcy:"Р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",Re:"ℜ",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",Rho:"Ρ",rhov:"ϱ",RightAngleBracket:"⟩",rightarrow:"→",Rightarrow:"⇒",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",sacute:"ś",Sacute:"Ś",sbquo:"‚",sc:"≻",Sc:"⪼",scap:"⪸",scaron:"š",Scaron:"Š",sccue:"≽",sce:"⪰",scE:"⪴",scedil:"ş",Scedil:"Ş",scirc:"ŝ",Scirc:"Ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",Scy:"С",sdot:"⋅",sdotb:"⊡",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",Sfr:"𝔖",sfrown:"⌢",sharp:"♯",shchcy:"щ",SHCHcy:"Щ",shcy:"ш",SHcy:"Ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",sigma:"σ",Sigma:"Σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",SOFTcy:"Ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",Sopf:"𝕊",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",Sscr:"𝒮",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",Star:"⋆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",sube:"⊆",subE:"⫅",subedot:"⫃",submult:"⫁",subne:"⊊",subnE:"⫋",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup:"⊃",Sup:"⋑",sup1:"¹",sup2:"²",sup3:"³",supdot:"⪾",supdsub:"⫘",supe:"⊇",supE:"⫆",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supne:"⊋",supnE:"⫌",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:" ",target:"⌖",tau:"τ",Tau:"Τ",tbrk:"⎴",tcaron:"ť",Tcaron:"Ť",tcedil:"ţ",Tcedil:"Ţ",tcy:"т",Tcy:"Т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",Tfr:"𝔗",there4:"∴",therefore:"∴",Therefore:"∴",theta:"θ",Theta:"Θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",thinsp:" ",ThinSpace:" ",thkap:"≈",thksim:"∼",thorn:"þ",THORN:"Þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",Topf:"𝕋",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",Tscr:"𝒯",tscy:"ц",TScy:"Ц",tshcy:"ћ",TSHcy:"Ћ",tstrok:"ŧ",Tstrok:"Ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uacute:"ú",Uacute:"Ú",uarr:"↑",uArr:"⇑",Uarr:"↟",Uarrocir:"⥉",ubrcy:"ў",Ubrcy:"Ў",ubreve:"ŭ",Ubreve:"Ŭ",ucirc:"û",Ucirc:"Û",ucy:"у",Ucy:"У",udarr:"⇅",udblac:"ű",Udblac:"Ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",Ufr:"𝔘",ugrave:"ù",Ugrave:"Ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",Umacr:"Ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",uogon:"ų",Uogon:"Ų",uopf:"𝕦",Uopf:"𝕌",uparrow:"↑",Uparrow:"⇑",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",updownarrow:"↕",Updownarrow:"⇕",UpDownArrow:"↕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",upsilon:"υ",Upsilon:"Υ",UpTee:"⊥",UpTeeArrow:"↥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",Uring:"Ů",urtri:"◹",uscr:"𝓊",Uscr:"𝒰",utdot:"⋰",utilde:"ũ",Utilde:"Ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",Uuml:"Ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",vcy:"в",Vcy:"В",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",vee:"∨",Vee:"⋁",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",vfr:"𝔳",Vfr:"𝔙",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",Vopf:"𝕍",vprop:"∝",vrtri:"⊳",vscr:"𝓋",Vscr:"𝒱",vsubne:"⊊︀",vsubnE:"⫋︀",vsupne:"⊋︀",vsupnE:"⫌︀",Vvdash:"⊪",vzigzag:"⦚",wcirc:"ŵ",Wcirc:"Ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",wfr:"𝔴",Wfr:"𝔚",wopf:"𝕨",Wopf:"𝕎",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",Wscr:"𝒲",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",Xfr:"𝔛",xharr:"⟷",xhArr:"⟺",xi:"ξ",Xi:"Ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",Xopf:"𝕏",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",xscr:"𝓍",Xscr:"𝒳",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",Yacute:"Ý",yacy:"я",YAcy:"Я",ycirc:"ŷ",Ycirc:"Ŷ",ycy:"ы",Ycy:"Ы",yen:"¥",yfr:"𝔶",Yfr:"𝔜",yicy:"ї",YIcy:"Ї",yopf:"𝕪",Yopf:"𝕐",yscr:"𝓎",Yscr:"𝒴",yucy:"ю",YUcy:"Ю",yuml:"ÿ",Yuml:"Ÿ",zacute:"ź",Zacute:"Ź",zcaron:"ž",Zcaron:"Ž",zcy:"з",Zcy:"З",zdot:"ż",Zdot:"Ż",zeetrf:"ℨ",ZeroWidthSpace:"​",zeta:"ζ",Zeta:"Ζ",zfr:"𝔷",Zfr:"ℨ",zhcy:"ж",ZHcy:"Ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",zscr:"𝓏",Zscr:"𝒵",zwj:"‍",zwnj:"‌"},m={aacute:"á",Aacute:"Á",acirc:"â",Acirc:"Â",acute:"´",aelig:"æ",AElig:"Æ",agrave:"à",Agrave:"À",amp:"&",AMP:"&",aring:"å",Aring:"Å",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",brvbar:"¦",ccedil:"ç",Ccedil:"Ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",eacute:"é",Eacute:"É",ecirc:"ê",Ecirc:"Ê",egrave:"è",Egrave:"È",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",iacute:"í",Iacute:"Í",icirc:"î",Icirc:"Î",iexcl:"¡",igrave:"ì",Igrave:"Ì",iquest:"¿",iuml:"ï",Iuml:"Ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",ntilde:"ñ",Ntilde:"Ñ",oacute:"ó",Oacute:"Ó",ocirc:"ô",Ocirc:"Ô",ograve:"ò",Ograve:"Ò",ordf:"ª",ordm:"º",oslash:"ø",Oslash:"Ø",otilde:"õ",Otilde:"Õ",ouml:"ö",Ouml:"Ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",thorn:"þ",THORN:"Þ",times:"×",uacute:"ú",Uacute:"Ú",ucirc:"û",Ucirc:"Û",ugrave:"ù",Ugrave:"Ù",uml:"¨",uuml:"ü",Uuml:"Ü",yacute:"ý",Yacute:"Ý",yen:"¥",yuml:"ÿ"},v={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},C=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],B=String.fromCharCode,T={},N=T.hasOwnProperty,R=function(pe,z){return N.call(pe,z)},J=function(pe,z){for(var O=-1,E=pe.length;++O=55296&&pe<=57343||pe>1114111?(z&&ue("character reference outside the permissible Unicode range"),"�"):R(v,pe)?(z&&ue("disallowed character reference"),v[pe]):(z&&J(C,pe)&&ue("disallowed character reference"),pe>65535&&(pe-=65536,O+=B(pe>>>10&1023|55296),pe=56320|pe&1023),O+=B(pe),O)},ee=function(pe){return"&#x"+pe.toString(16).toUpperCase()+";"},K=function(pe){return"&#"+pe+";"},ue=function(pe){throw Error("Parse error: "+pe)},oe=function(pe,z){z=q(z,oe.options);var O=z.strict;O&&h.test(pe)&&ue("forbidden code point");var E=z.encodeEverything,F=z.useNamedReferences,D=z.allowUnsafeSymbols,g=z.decimal?K:ee,P=function(b){return g(b.charCodeAt(0))};return E?(pe=pe.replace(a,function(b){return F&&R(l,b)?"&"+l[b]+";":P(b)}),F&&(pe=pe.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),F&&(pe=pe.replace(c,function(b){return"&"+l[b]+";"}))):F?(D||(pe=pe.replace(p,function(b){return"&"+l[b]+";"})),pe=pe.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒"),pe=pe.replace(c,function(b){return"&"+l[b]+";"})):D||(pe=pe.replace(p,P)),pe.replace(o,function(b){var w=b.charCodeAt(0),I=b.charCodeAt(1),$=(w-55296)*1024+I-56320+65536;return g($)}).replace(i,P)};oe.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1,decimal:!1};var de=function(pe,z){z=q(z,de.options);var O=z.strict;return O&&f.test(pe)&&ue("malformed character reference"),pe.replace(y,function(E,F,D,g,P,b,w,I,$){var M,L,Y,be,Ne,Ve;return F?(Ne=F,A[Ne]):D?(Ne=D,Ve=g,Ve&&z.isAttributeValue?(O&&Ve=="="&&ue("`&` did not start a character reference"),E):(O&&ue("named character reference was not terminated by a semicolon"),m[Ne]+(Ve||""))):P?(Y=P,L=b,O&&!L&&ue("character reference was not terminated by a semicolon"),M=parseInt(Y,10),G(M,O)):w?(be=w,L=I,O&&!L&&ue("character reference was not terminated by a semicolon"),M=parseInt(be,16),G(M,O)):(O&&ue("named character reference was not terminated by a semicolon"),E)})};de.options={isAttributeValue:!1,strict:!1};var he=function(pe){return pe.replace(p,function(z){return d[z]})},fe={version:"1.2.0",encode:oe,decode:de,escape:he,unescape:de};if(n&&!n.nodeType)if(u)u.exports=fe;else for(var ge in fe)R(fe,ge)&&(n[ge]=fe[ge]);else r.he=fe})(Ce)})($p,$p.exports);var J3=$p.exports;Object.defineProperty(xa,"__esModule",{value:!0});var A8=J3,Rhe=function(){function e(t,r){t===void 0&&(t=null),this.parentNode=t,this.childNodes=[],Object.defineProperty(this,"range",{enumerable:!1,writable:!0,configurable:!0,value:r??[-1,-1]})}return e.prototype.remove=function(){var t=this;if(this.parentNode){var r=this.parentNode.childNodes;this.parentNode.childNodes=r.filter(function(n){return t!==n}),this.parentNode=null}return this},Object.defineProperty(e.prototype,"innerText",{get:function(){return this.rawText},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"textContent",{get:function(){return(0,A8.decode)(this.rawText)},set:function(t){this.rawText=(0,A8.encode)(t)},enumerable:!1,configurable:!0}),e}();xa.default=Rhe;var so={};Object.defineProperty(so,"__esModule",{value:!0});var jh;(function(e){e[e.ELEMENT_NODE=1]="ELEMENT_NODE",e[e.TEXT_NODE=3]="TEXT_NODE",e[e.COMMENT_NODE=8]="COMMENT_NODE"})(jh||(jh={}));so.default=jh;var jhe=Ce&&Ce.__extends||function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,u){n.__proto__=u}||function(n,u){for(var s in u)Object.prototype.hasOwnProperty.call(u,s)&&(n[s]=u[s])},e(t,r)};return function(t,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");e(t,r);function n(){this.constructor=t}t.prototype=r===null?Object.create(r):(n.prototype=r.prototype,new n)}}(),B_=Ce&&Ce.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Od,"__esModule",{value:!0});var Mhe=B_(xa),Lhe=B_(so),Uhe=function(e){jhe(t,e);function t(r,n,u){var s=e.call(this,n,u)||this;return s.rawText=r,s.nodeType=Lhe.default.COMMENT_NODE,s}return t.prototype.clone=function(){return new t(this.rawText,null)},Object.defineProperty(t.prototype,"text",{get:function(){return this.rawText},enumerable:!1,configurable:!0}),t.prototype.toString=function(){return"")},t}(Mhe.default);Od.default=Uhe;var Tu={},T_={},$_={},Gr={},oo={},Sc={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Doctype=e.CDATA=e.Tag=e.Style=e.Script=e.Comment=e.Directive=e.Text=e.Root=e.isTag=e.ElementType=void 0;var t;(function(n){n.Root="root",n.Text="text",n.Directive="directive",n.Comment="comment",n.Script="script",n.Style="style",n.Tag="tag",n.CDATA="cdata",n.Doctype="doctype"})(t=e.ElementType||(e.ElementType={}));function r(n){return n.type===t.Tag||n.type===t.Script||n.type===t.Style}e.isTag=r,e.Root=t.Root,e.Text=t.Text,e.Directive=t.Directive,e.Comment=t.Comment,e.Script=t.Script,e.Style=t.Style,e.Tag=t.Tag,e.CDATA=t.CDATA,e.Doctype=t.Doctype})(Sc);var lt={},ao=Ce&&Ce.__extends||function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,u){n.__proto__=u}||function(n,u){for(var s in u)Object.prototype.hasOwnProperty.call(u,s)&&(n[s]=u[s])},e(t,r)};return function(t,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");e(t,r);function n(){this.constructor=t}t.prototype=r===null?Object.create(r):(n.prototype=r.prototype,new n)}}(),_i=Ce&&Ce.__assign||function(){return _i=Object.assign||function(e){for(var t,r=1,n=arguments.length;r0?this.children[this.children.length-1]:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"childNodes",{get:function(){return this.children},set:function(r){this.children=r},enumerable:!1,configurable:!0}),t}(z3);lt.NodeWithChildren=Nd;var I_=function(e){ao(t,e);function t(r){return e.call(this,Ut.ElementType.Root,r)||this}return t}(Nd);lt.Document=I_;var N_=function(e){ao(t,e);function t(r,n,u,s){u===void 0&&(u=[]),s===void 0&&(s=r==="script"?Ut.ElementType.Script:r==="style"?Ut.ElementType.Style:Ut.ElementType.Tag);var o=e.call(this,s,u)||this;return o.name=r,o.attribs=n,o}return Object.defineProperty(t.prototype,"tagName",{get:function(){return this.name},set:function(r){this.name=r},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"attributes",{get:function(){var r=this;return Object.keys(this.attribs).map(function(n){var u,s;return{name:n,value:r.attribs[n],namespace:(u=r["x-attribsNamespace"])===null||u===void 0?void 0:u[n],prefix:(s=r["x-attribsPrefix"])===null||s===void 0?void 0:s[n]}})},enumerable:!1,configurable:!0}),t}(Nd);lt.Element=N_;function q_(e){return(0,Ut.isTag)(e)}lt.isTag=q_;function x_(e){return e.type===Ut.ElementType.CDATA}lt.isCDATA=x_;function R_(e){return e.type===Ut.ElementType.Text}lt.isText=R_;function j_(e){return e.type===Ut.ElementType.Comment}lt.isComment=j_;function M_(e){return e.type===Ut.ElementType.Directive}lt.isDirective=M_;function L_(e){return e.type===Ut.ElementType.Root}lt.isDocument=L_;function Vhe(e){return Object.prototype.hasOwnProperty.call(e,"children")}lt.hasChildren=Vhe;function K3(e,t){t===void 0&&(t=!1);var r;if(R_(e))r=new P_(e.data);else if(j_(e))r=new k_(e.data);else if(q_(e)){var n=t?A2(e.children):[],u=new N_(e.name,_i({},e.attribs),n);n.forEach(function(i){return i.parent=u}),e.namespace!=null&&(u.namespace=e.namespace),e["x-attribsNamespace"]&&(u["x-attribsNamespace"]=_i({},e["x-attribsNamespace"])),e["x-attribsPrefix"]&&(u["x-attribsPrefix"]=_i({},e["x-attribsPrefix"])),r=u}else if(x_(e)){var n=t?A2(e.children):[],s=new Nd(Ut.ElementType.CDATA,n);n.forEach(function(c){return c.parent=s}),r=s}else if(L_(e)){var n=t?A2(e.children):[],o=new I_(n);n.forEach(function(c){return c.parent=o}),e["x-mode"]&&(o["x-mode"]=e["x-mode"]),r=o}else if(M_(e)){var a=new O_(e.name,e.data);e["x-name"]!=null&&(a["x-name"]=e["x-name"],a["x-publicId"]=e["x-publicId"],a["x-systemId"]=e["x-systemId"]),r=a}else throw new Error("Not implemented yet: ".concat(e.type));return r.startIndex=e.startIndex,r.endIndex=e.endIndex,e.sourceCodeLocation!=null&&(r.sourceCodeLocation=e.sourceCodeLocation),r}lt.cloneNode=K3;function A2(e){for(var t=e.map(function(n){return K3(n,!0)}),r=1;r",Kze=">",Xze="Í",Yze="í",Zze="Î",Qze="î",eKe="¡",tKe="Ì",rKe="ì",nKe="¿",uKe="Ï",sKe="ï",oKe="«",aKe="<",iKe="<",cKe="¯",lKe="µ",pKe="·",dKe=" ",fKe="¬",DKe="Ñ",hKe="ñ",mKe="Ó",EKe="ó",yKe="Ô",vKe="ô",gKe="Ò",AKe="ò",FKe="ª",CKe="º",bKe="Ø",SKe="ø",wKe="Õ",_Ke="õ",BKe="Ö",TKe="ö",$Ke="¶",PKe="±",kKe="£",OKe='"',IKe='"',NKe="»",qKe="®",xKe="®",RKe="§",jKe="­",MKe="¹",LKe="²",UKe="³",GKe="ß",VKe="Þ",HKe="þ",WKe="×",JKe="Ú",zKe="ú",KKe="Û",XKe="û",YKe="Ù",ZKe="ù",QKe="¨",eXe="Ü",tXe="ü",rXe="Ý",nXe="ý",uXe="¥",sXe="ÿ",oXe={Aacute:ize,aacute:cze,Acirc:lze,acirc:pze,acute:dze,AElig:fze,aelig:Dze,Agrave:hze,agrave:mze,amp:Eze,AMP:yze,Aring:vze,aring:gze,Atilde:Aze,atilde:Fze,Auml:Cze,auml:bze,brvbar:Sze,Ccedil:wze,ccedil:_ze,cedil:Bze,cent:Tze,copy:$ze,COPY:Pze,curren:kze,deg:Oze,divide:Ize,Eacute:Nze,eacute:qze,Ecirc:xze,ecirc:Rze,Egrave:jze,egrave:Mze,ETH:Lze,eth:Uze,Euml:Gze,euml:Vze,frac12:Hze,frac14:Wze,frac34:Jze,gt:zze,GT:Kze,Iacute:Xze,iacute:Yze,Icirc:Zze,icirc:Qze,iexcl:eKe,Igrave:tKe,igrave:rKe,iquest:nKe,Iuml:uKe,iuml:sKe,laquo:oKe,lt:aKe,LT:iKe,macr:cKe,micro:lKe,middot:pKe,nbsp:dKe,not:fKe,Ntilde:DKe,ntilde:hKe,Oacute:mKe,oacute:EKe,Ocirc:yKe,ocirc:vKe,Ograve:gKe,ograve:AKe,ordf:FKe,ordm:CKe,Oslash:bKe,oslash:SKe,Otilde:wKe,otilde:_Ke,Ouml:BKe,ouml:TKe,para:$Ke,plusmn:PKe,pound:kKe,quot:OKe,QUOT:IKe,raquo:NKe,reg:qKe,REG:xKe,sect:RKe,shy:jKe,sup1:MKe,sup2:LKe,sup3:UKe,szlig:GKe,THORN:VKe,thorn:HKe,times:WKe,Uacute:JKe,uacute:zKe,Ucirc:KKe,ucirc:XKe,Ugrave:YKe,ugrave:ZKe,uml:QKe,Uuml:eXe,uuml:tXe,Yacute:rXe,yacute:nXe,yen:uXe,yuml:sXe},aXe="&",iXe="'",cXe=">",lXe="<",pXe='"',V_={amp:aXe,apos:iXe,gt:cXe,lt:lXe,quot:pXe};var Y3={};const dXe={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376};var fXe=Ce&&Ce.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Y3,"__esModule",{value:!0});var F8=fXe(dXe),DXe=String.fromCodePoint||function(e){var t="";return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|e&1023),t+=String.fromCharCode(e),t};function hXe(e){return e>=55296&&e<=57343||e>1114111?"�":(e in F8.default&&(e=F8.default[e]),DXe(e))}Y3.default=hXe;var qd=Ce&&Ce.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Su,"__esModule",{value:!0});Su.decodeHTML=Su.decodeHTMLStrict=Su.decodeXML=void 0;var Mh=qd(G_),mXe=qd(oXe),EXe=qd(V_),C8=qd(Y3),yXe=/&(?:[a-zA-Z0-9]+|#[xX][\da-fA-F]+|#\d+);/g;Su.decodeXML=H_(EXe.default);Su.decodeHTMLStrict=H_(Mh.default);function H_(e){var t=W_(e);return function(r){return String(r).replace(yXe,t)}}var b8=function(e,t){return e1?FXe(e):e.charCodeAt(0)).toString(16).toUpperCase()+";"}function CXe(e,t){return function(r){return r.replace(t,function(n){return e[n]}).replace(Z_,xd)}}var Q_=new RegExp(K_.source+"|"+Z_.source,"g");function bXe(e){return e.replace(Q_,xd)}Vr.escape=bXe;function SXe(e){return e.replace(K_,xd)}Vr.escapeUTF8=SXe;function eB(e){return function(t){return t.replace(Q_,function(r){return e[r]||xd(r)})}}(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.decodeXMLStrict=e.decodeHTML5Strict=e.decodeHTML4Strict=e.decodeHTML5=e.decodeHTML4=e.decodeHTMLStrict=e.decodeHTML=e.decodeXML=e.encodeHTML5=e.encodeHTML4=e.escapeUTF8=e.escape=e.encodeNonAsciiHTML=e.encodeHTML=e.encodeXML=e.encode=e.decodeStrict=e.decode=void 0;var t=Su,r=Vr;function n(i,c){return(!c||c<=0?t.decodeXML:t.decodeHTML)(i)}e.decode=n;function u(i,c){return(!c||c<=0?t.decodeXML:t.decodeHTMLStrict)(i)}e.decodeStrict=u;function s(i,c){return(!c||c<=0?r.encodeXML:r.encodeHTML)(i)}e.encode=s;var o=Vr;Object.defineProperty(e,"encodeXML",{enumerable:!0,get:function(){return o.encodeXML}}),Object.defineProperty(e,"encodeHTML",{enumerable:!0,get:function(){return o.encodeHTML}}),Object.defineProperty(e,"encodeNonAsciiHTML",{enumerable:!0,get:function(){return o.encodeNonAsciiHTML}}),Object.defineProperty(e,"escape",{enumerable:!0,get:function(){return o.escape}}),Object.defineProperty(e,"escapeUTF8",{enumerable:!0,get:function(){return o.escapeUTF8}}),Object.defineProperty(e,"encodeHTML4",{enumerable:!0,get:function(){return o.encodeHTML}}),Object.defineProperty(e,"encodeHTML5",{enumerable:!0,get:function(){return o.encodeHTML}});var a=Su;Object.defineProperty(e,"decodeXML",{enumerable:!0,get:function(){return a.decodeXML}}),Object.defineProperty(e,"decodeHTML",{enumerable:!0,get:function(){return a.decodeHTML}}),Object.defineProperty(e,"decodeHTMLStrict",{enumerable:!0,get:function(){return a.decodeHTMLStrict}}),Object.defineProperty(e,"decodeHTML4",{enumerable:!0,get:function(){return a.decodeHTML}}),Object.defineProperty(e,"decodeHTML5",{enumerable:!0,get:function(){return a.decodeHTML}}),Object.defineProperty(e,"decodeHTML4Strict",{enumerable:!0,get:function(){return a.decodeHTMLStrict}}),Object.defineProperty(e,"decodeHTML5Strict",{enumerable:!0,get:function(){return a.decodeHTMLStrict}}),Object.defineProperty(e,"decodeXMLStrict",{enumerable:!0,get:function(){return a.decodeXML}})})(U_);var ga={};Object.defineProperty(ga,"__esModule",{value:!0});ga.attributeNames=ga.elementNames=void 0;ga.elementNames=new Map([["altglyph","altGlyph"],["altglyphdef","altGlyphDef"],["altglyphitem","altGlyphItem"],["animatecolor","animateColor"],["animatemotion","animateMotion"],["animatetransform","animateTransform"],["clippath","clipPath"],["feblend","feBlend"],["fecolormatrix","feColorMatrix"],["fecomponenttransfer","feComponentTransfer"],["fecomposite","feComposite"],["feconvolvematrix","feConvolveMatrix"],["fediffuselighting","feDiffuseLighting"],["fedisplacementmap","feDisplacementMap"],["fedistantlight","feDistantLight"],["fedropshadow","feDropShadow"],["feflood","feFlood"],["fefunca","feFuncA"],["fefuncb","feFuncB"],["fefuncg","feFuncG"],["fefuncr","feFuncR"],["fegaussianblur","feGaussianBlur"],["feimage","feImage"],["femerge","feMerge"],["femergenode","feMergeNode"],["femorphology","feMorphology"],["feoffset","feOffset"],["fepointlight","fePointLight"],["fespecularlighting","feSpecularLighting"],["fespotlight","feSpotLight"],["fetile","feTile"],["feturbulence","feTurbulence"],["foreignobject","foreignObject"],["glyphref","glyphRef"],["lineargradient","linearGradient"],["radialgradient","radialGradient"],["textpath","textPath"]]);ga.attributeNames=new Map([["definitionurl","definitionURL"],["attributename","attributeName"],["attributetype","attributeType"],["basefrequency","baseFrequency"],["baseprofile","baseProfile"],["calcmode","calcMode"],["clippathunits","clipPathUnits"],["diffuseconstant","diffuseConstant"],["edgemode","edgeMode"],["filterunits","filterUnits"],["glyphref","glyphRef"],["gradienttransform","gradientTransform"],["gradientunits","gradientUnits"],["kernelmatrix","kernelMatrix"],["kernelunitlength","kernelUnitLength"],["keypoints","keyPoints"],["keysplines","keySplines"],["keytimes","keyTimes"],["lengthadjust","lengthAdjust"],["limitingconeangle","limitingConeAngle"],["markerheight","markerHeight"],["markerunits","markerUnits"],["markerwidth","markerWidth"],["maskcontentunits","maskContentUnits"],["maskunits","maskUnits"],["numoctaves","numOctaves"],["pathlength","pathLength"],["patterncontentunits","patternContentUnits"],["patterntransform","patternTransform"],["patternunits","patternUnits"],["pointsatx","pointsAtX"],["pointsaty","pointsAtY"],["pointsatz","pointsAtZ"],["preservealpha","preserveAlpha"],["preserveaspectratio","preserveAspectRatio"],["primitiveunits","primitiveUnits"],["refx","refX"],["refy","refY"],["repeatcount","repeatCount"],["repeatdur","repeatDur"],["requiredextensions","requiredExtensions"],["requiredfeatures","requiredFeatures"],["specularconstant","specularConstant"],["specularexponent","specularExponent"],["spreadmethod","spreadMethod"],["startoffset","startOffset"],["stddeviation","stdDeviation"],["stitchtiles","stitchTiles"],["surfacescale","surfaceScale"],["systemlanguage","systemLanguage"],["tablevalues","tableValues"],["targetx","targetX"],["targety","targetY"],["textlength","textLength"],["viewbox","viewBox"],["viewtarget","viewTarget"],["xchannelselector","xChannelSelector"],["ychannelselector","yChannelSelector"],["zoomandpan","zoomAndPan"]]);var Yo=Ce&&Ce.__assign||function(){return Yo=Object.assign||function(e){for(var t,r=1,n=arguments.length;r0&&(n+=Q3(e.children,t)),(t.xmlMode||!S8.has(e.name))&&(n+="")),n}function NXe(e){return"<"+e.data+">"}function qXe(e,t){var r=e.data||"";return t.decodeEntities!==!1&&!(!t.xmlMode&&e.parent&&TXe.has(e.parent.name))&&(r=tB.encodeXML(r)),r}function xXe(e){return""}function RXe(e){return""}var jXe=Ce&&Ce.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Gr,"__esModule",{value:!0});Gr.innerText=Gr.textContent=Gr.getText=Gr.getInnerHTML=Gr.getOuterHTML=void 0;var Zn=oo,MXe=jXe(X3),LXe=Sc;function nB(e,t){return(0,MXe.default)(e,t)}Gr.getOuterHTML=nB;function UXe(e,t){return(0,Zn.hasChildren)(e)?e.children.map(function(r){return nB(r,t)}).join(""):""}Gr.getInnerHTML=UXe;function Ll(e){return Array.isArray(e)?e.map(Ll).join(""):(0,Zn.isTag)(e)?e.name==="br"?` +`:Ll(e.children):(0,Zn.isCDATA)(e)?Ll(e.children):(0,Zn.isText)(e)?e.data:""}Gr.getText=Ll;function Lh(e){return Array.isArray(e)?e.map(Lh).join(""):(0,Zn.hasChildren)(e)&&!(0,Zn.isComment)(e)?Lh(e.children):(0,Zn.isText)(e)?e.data:""}Gr.textContent=Lh;function Uh(e){return Array.isArray(e)?e.map(Uh).join(""):(0,Zn.hasChildren)(e)&&(e.type===LXe.ElementType.Tag||(0,Zn.isCDATA)(e))?Uh(e.children):(0,Zn.isText)(e)?e.data:""}Gr.innerText=Uh;var tr={};Object.defineProperty(tr,"__esModule",{value:!0});tr.prevElementSibling=tr.nextElementSibling=tr.getName=tr.hasAttrib=tr.getAttributeValue=tr.getSiblings=tr.getParent=tr.getChildren=void 0;var uB=oo,GXe=[];function sB(e){var t;return(t=e.children)!==null&&t!==void 0?t:GXe}tr.getChildren=sB;function oB(e){return e.parent||null}tr.getParent=oB;function VXe(e){var t,r,n=oB(e);if(n!=null)return sB(n);for(var u=[e],s=e.prev,o=e.next;s!=null;)u.unshift(s),t=s,s=t.prev;for(;o!=null;)u.push(o),r=o,o=r.next;return u}tr.getSiblings=VXe;function HXe(e,t){var r;return(r=e.attribs)===null||r===void 0?void 0:r[t]}tr.getAttributeValue=HXe;function WXe(e,t){return e.attribs!=null&&Object.prototype.hasOwnProperty.call(e.attribs,t)&&e.attribs[t]!=null}tr.hasAttrib=WXe;function JXe(e){return e.name}tr.getName=JXe;function zXe(e){for(var t,r=e.next;r!==null&&!(0,uB.isTag)(r);)t=r,r=t.next;return r}tr.nextElementSibling=zXe;function KXe(e){for(var t,r=e.prev;r!==null&&!(0,uB.isTag)(r);)t=r,r=t.prev;return r}tr.prevElementSibling=KXe;var Ir={};Object.defineProperty(Ir,"__esModule",{value:!0});Ir.prepend=Ir.prependChild=Ir.append=Ir.appendChild=Ir.replaceElement=Ir.removeElement=void 0;function wc(e){if(e.prev&&(e.prev.next=e.next),e.next&&(e.next.prev=e.prev),e.parent){var t=e.parent.children;t.splice(t.lastIndexOf(e),1)}}Ir.removeElement=wc;function XXe(e,t){var r=t.prev=e.prev;r&&(r.next=t);var n=t.next=e.next;n&&(n.prev=t);var u=t.parent=e.parent;if(u){var s=u.children;s[s.lastIndexOf(e)]=t}}Ir.replaceElement=XXe;function YXe(e,t){if(wc(t),t.next=null,t.parent=e,e.children.push(t)>1){var r=e.children[e.children.length-2];r.next=t,t.prev=r}else t.prev=null}Ir.appendChild=YXe;function ZXe(e,t){wc(t);var r=e.parent,n=e.next;if(t.next=n,t.prev=e,e.next=t,t.parent=r,n){if(n.prev=t,r){var u=r.children;u.splice(u.lastIndexOf(n),0,t)}}else r&&r.children.push(t)}Ir.append=ZXe;function QXe(e,t){if(wc(t),t.parent=e,t.prev=null,e.children.unshift(t)!==1){var r=e.children[1];r.prev=t,t.next=r}else t.next=null}Ir.prependChild=QXe;function eYe(e,t){wc(t);var r=e.parent;if(r){var n=r.children;n.splice(n.indexOf(e),0,t)}e.prev&&(e.prev.next=t),t.parent=r,t.prev=e.prev,t.next=e,e.prev=t}Ir.prepend=eYe;var Fr={};Object.defineProperty(Fr,"__esModule",{value:!0});Fr.findAll=Fr.existsOne=Fr.findOne=Fr.findOneChild=Fr.find=Fr.filter=void 0;var Gi=oo;function tYe(e,t,r,n){return r===void 0&&(r=!0),n===void 0&&(n=1/0),Array.isArray(t)||(t=[t]),ey(e,t,r,n)}Fr.filter=tYe;function ey(e,t,r,n){for(var u=[],s=0,o=t;s0){var i=ey(e,a.children,r,n);if(u.push.apply(u,i),n-=i.length,n<=0)break}}return u}Fr.find=ey;function rYe(e,t){return t.find(e)}Fr.findOneChild=rYe;function aB(e,t,r){r===void 0&&(r=!0);for(var n=null,u=0;u0&&(n=aB(e,s.children));else continue}return n}Fr.findOne=aB;function iB(e,t){return t.some(function(r){return(0,Gi.isTag)(r)&&(e(r)||r.children.length>0&&iB(e,r.children))})}Fr.existsOne=iB;function nYe(e,t){for(var r,n=[],u=t.filter(Gi.isTag),s;s=u.shift();){var o=(r=s.children)===null||r===void 0?void 0:r.filter(Gi.isTag);o&&o.length>0&&u.unshift.apply(u,o),e(s)&&n.push(s)}return n}Fr.findAll=nYe;var Hr={};Object.defineProperty(Hr,"__esModule",{value:!0});Hr.getElementsByTagType=Hr.getElementsByTagName=Hr.getElementById=Hr.getElements=Hr.testElement=void 0;var js=oo,Rd=Fr,Pp={tag_name:function(e){return typeof e=="function"?function(t){return(0,js.isTag)(t)&&e(t.name)}:e==="*"?js.isTag:function(t){return(0,js.isTag)(t)&&t.name===e}},tag_type:function(e){return typeof e=="function"?function(t){return e(t.type)}:function(t){return t.type===e}},tag_contains:function(e){return typeof e=="function"?function(t){return(0,js.isText)(t)&&e(t.data)}:function(t){return(0,js.isText)(t)&&t.data===e}}};function cB(e,t){return typeof t=="function"?function(r){return(0,js.isTag)(r)&&t(r.attribs[e])}:function(r){return(0,js.isTag)(r)&&r.attribs[e]===t}}function uYe(e,t){return function(r){return e(r)||t(r)}}function lB(e){var t=Object.keys(e).map(function(r){var n=e[r];return Object.prototype.hasOwnProperty.call(Pp,r)?Pp[r](n):cB(r,n)});return t.length===0?null:t.reduce(uYe)}function sYe(e,t){var r=lB(e);return r?r(t):!0}Hr.testElement=sYe;function oYe(e,t,r,n){n===void 0&&(n=1/0);var u=lB(e);return u?(0,Rd.filter)(u,t,r,n):[]}Hr.getElements=oYe;function aYe(e,t,r){return r===void 0&&(r=!0),Array.isArray(t)||(t=[t]),(0,Rd.findOne)(cB("id",e),t,r)}Hr.getElementById=aYe;function iYe(e,t,r,n){return r===void 0&&(r=!0),n===void 0&&(n=1/0),(0,Rd.filter)(Pp.tag_name(e),t,r,n)}Hr.getElementsByTagName=iYe;function cYe(e,t,r,n){return r===void 0&&(r=!0),n===void 0&&(n=1/0),(0,Rd.filter)(Pp.tag_type(e),t,r,n)}Hr.getElementsByTagType=cYe;var ss={};Object.defineProperty(ss,"__esModule",{value:!0});ss.uniqueSort=ss.compareDocumentPosition=ss.removeSubsets=void 0;var w8=oo;function lYe(e){for(var t=e.length;--t>=0;){var r=e[t];if(t>0&&e.lastIndexOf(r,t-1)>=0){e.splice(t,1);continue}for(var n=r.parent;n;n=n.parent)if(e.includes(n)){e.splice(t,1);break}}return e}ss.removeSubsets=lYe;function pB(e,t){var r=[],n=[];if(e===t)return 0;for(var u=(0,w8.hasChildren)(e)?e:e.parent;u;)r.unshift(u),u=u.parent;for(u=(0,w8.hasChildren)(t)?t:t.parent;u;)n.unshift(u),u=u.parent;for(var s=Math.min(r.length,n.length),o=0;oi.indexOf(l)?a===t?20:4:a===e?10:2}ss.compareDocumentPosition=pB;function pYe(e){return e=e.filter(function(t,r,n){return!n.includes(t,r+1)}),e.sort(function(t,r){var n=pB(t,r);return n&2?-1:n&4?1:0}),e}ss.uniqueSort=pYe;var jd={};Object.defineProperty(jd,"__esModule",{value:!0});jd.getFeed=void 0;var dYe=Gr,_c=Hr;function fYe(e){var t=kp(yYe,e);return t?t.name==="feed"?DYe(t):hYe(t):null}jd.getFeed=fYe;function DYe(e){var t,r=e.children,n={type:"atom",items:(0,_c.getElementsByTagName)("entry",r).map(function(o){var a,i=o.children,c={media:dB(i)};Pr(c,"id","id",i),Pr(c,"title","title",i);var l=(a=kp("link",i))===null||a===void 0?void 0:a.attribs.href;l&&(c.link=l);var p=Gs("summary",i)||Gs("content",i);p&&(c.description=p);var d=Gs("updated",i);return d&&(c.pubDate=new Date(d)),c})};Pr(n,"id","id",r),Pr(n,"title","title",r);var u=(t=kp("link",r))===null||t===void 0?void 0:t.attribs.href;u&&(n.link=u),Pr(n,"description","subtitle",r);var s=Gs("updated",r);return s&&(n.updated=new Date(s)),Pr(n,"author","email",r,!0),n}function hYe(e){var t,r,n=(r=(t=kp("channel",e.children))===null||t===void 0?void 0:t.children)!==null&&r!==void 0?r:[],u={type:e.name.substr(0,3),id:"",items:(0,_c.getElementsByTagName)("item",e.children).map(function(o){var a=o.children,i={media:dB(a)};Pr(i,"id","guid",a),Pr(i,"title","title",a),Pr(i,"link","link",a),Pr(i,"description","description",a);var c=Gs("pubDate",a);return c&&(i.pubDate=new Date(c)),i})};Pr(u,"title","title",n),Pr(u,"link","link",n),Pr(u,"description","description",n);var s=Gs("lastBuildDate",n);return s&&(u.updated=new Date(s)),Pr(u,"author","managingEditor",n,!0),u}var mYe=["url","type","lang"],EYe=["fileSize","bitrate","framerate","samplingrate","channels","duration","height","width"];function dB(e){return(0,_c.getElementsByTagName)("media:content",e).map(function(t){for(var r=t.attribs,n={medium:r.medium,isDefault:!!r.isDefault},u=0,s=mYe;u>10|55296,n&1023|56320)}function Qa(e){return e.replace(gYe,bYe)}function F2(e){return e===39||e===34}function B8(e){return e===32||e===9||e===10||e===12||e===13}function SYe(e){const t=[],r=DB(t,`${e}`,0);if(r0&&r0&&fB(n[n.length-1]))throw new Error("Did not expect successive traversals.")}function c(d){if(n.length>0&&n[n.length-1].type===pt.Descendant){n[n.length-1].type=d;return}i(),n.push({type:d})}function l(d,f){n.push({type:pt.Attribute,name:d,action:f,value:u(1),namespace:null,ignoreCase:"quirks"})}function p(){if(n.length&&n[n.length-1].type===pt.Descendant&&n.pop(),n.length===0)throw new Error("Empty sub-selector");e.push(n)}if(s(0),t.length===r)return r;e:for(;re.charCodeAt(0))),T8=new Set(mB.map(e=>e.charCodeAt(0))),Zo=new Set([...mB,"~","^","$","*","+","!","|",":","[","]"," ","."].map(e=>e.charCodeAt(0)));function EB(e){return e.map(t=>t.map(_Ye).join("")).join(", ")}function _Ye(e,t,r){switch(e.type){case pt.Child:return t===0?"> ":" > ";case pt.Parent:return t===0?"< ":" < ";case pt.Sibling:return t===0?"~ ":" ~ ";case pt.Adjacent:return t===0?"+ ":" + ";case pt.Descendant:return" ";case pt.ColumnCombinator:return t===0?"|| ":" || ";case pt.Universal:return e.namespace==="*"&&t+10?n+e.slice(r):e}const TYe=Object.freeze(Object.defineProperty({__proto__:null,get AttributeAction(){return Tt},IgnoreCaseMode:vYe,get SelectorType(){return pt},isTraversal:fB,parse:SYe,stringify:EB},Symbol.toStringTag,{value:"Module"})),Md=G8(TYe);var ty={},Ld={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.isTraversal=e.procedure=void 0,e.procedure={universal:50,tag:30,attribute:1,pseudo:0,"pseudo-element":0,"column-combinator":-1,descendant:-1,child:-1,parent:-1,sibling:-1,adjacent:-1,_flexibleDescendant:-1};function t(r){return e.procedure[r.type]<0}e.isTraversal=t})(Ld);Object.defineProperty(ty,"__esModule",{value:!0});var P8=Md,$Ye=Ld,k8={exists:10,equals:8,not:7,start:6,end:6,any:5,hyphen:4,element:4};function PYe(e){for(var t=e.map(vB),r=1;r=0&&n>=1);else if(e.type===P8.SelectorType.Pseudo)if(!e.data)t=3;else if(e.name==="has"||e.name==="contains")t=0;else if(Array.isArray(e.data)){t=0;for(var r=0;rt&&(t=n)}e.data.length>1&&t>0&&(t-=1)}else t=1;return t}var Ud={},Gd={};Object.defineProperty(Gd,"__esModule",{value:!0});Gd.attributeRules=void 0;var Sl=io,kYe=/[-[\]{}()*+?.,\\^$|#\s]/g;function O8(e){return e.replace(kYe,"\\$&")}var OYe=new Set(["accept","accept-charset","align","alink","axis","bgcolor","charset","checked","clear","codetype","color","compact","declare","defer","dir","direction","disabled","enctype","face","frame","hreflang","http-equiv","lang","language","link","media","method","multiple","nohref","noresize","noshade","nowrap","readonly","rel","rev","rules","scope","scrolling","selected","shape","target","text","type","valign","valuetype","vlink"]);function Ps(e,t){return typeof e.ignoreCase=="boolean"?e.ignoreCase:e.ignoreCase==="quirks"?!!t.quirksMode:!t.xmlMode&&OYe.has(e.name)}Gd.attributeRules={equals:function(e,t,r){var n=r.adapter,u=t.name,s=t.value;return Ps(t,r)?(s=s.toLowerCase(),function(o){var a=n.getAttributeValue(o,u);return a!=null&&a.length===s.length&&a.toLowerCase()===s&&e(o)}):function(o){return n.getAttributeValue(o,u)===s&&e(o)}},hyphen:function(e,t,r){var n=r.adapter,u=t.name,s=t.value,o=s.length;return Ps(t,r)?(s=s.toLowerCase(),function(i){var c=n.getAttributeValue(i,u);return c!=null&&(c.length===o||c.charAt(o)==="-")&&c.substr(0,o).toLowerCase()===s&&e(i)}):function(i){var c=n.getAttributeValue(i,u);return c!=null&&(c.length===o||c.charAt(o)==="-")&&c.substr(0,o)===s&&e(i)}},element:function(e,t,r){var n=r.adapter,u=t.name,s=t.value;if(/\s/.test(s))return Sl.falseFunc;var o=new RegExp("(?:^|\\s)".concat(O8(s),"(?:$|\\s)"),Ps(t,r)?"i":"");return function(i){var c=n.getAttributeValue(i,u);return c!=null&&c.length>=s.length&&o.test(c)&&e(i)}},exists:function(e,t,r){var n=t.name,u=r.adapter;return function(s){return u.hasAttrib(s,n)&&e(s)}},start:function(e,t,r){var n=r.adapter,u=t.name,s=t.value,o=s.length;return o===0?Sl.falseFunc:Ps(t,r)?(s=s.toLowerCase(),function(a){var i=n.getAttributeValue(a,u);return i!=null&&i.length>=o&&i.substr(0,o).toLowerCase()===s&&e(a)}):function(a){var i;return!!(!((i=n.getAttributeValue(a,u))===null||i===void 0)&&i.startsWith(s))&&e(a)}},end:function(e,t,r){var n=r.adapter,u=t.name,s=t.value,o=-s.length;return o===0?Sl.falseFunc:Ps(t,r)?(s=s.toLowerCase(),function(a){var i;return((i=n.getAttributeValue(a,u))===null||i===void 0?void 0:i.substr(o).toLowerCase())===s&&e(a)}):function(a){var i;return!!(!((i=n.getAttributeValue(a,u))===null||i===void 0)&&i.endsWith(s))&&e(a)}},any:function(e,t,r){var n=r.adapter,u=t.name,s=t.value;if(s==="")return Sl.falseFunc;if(Ps(t,r)){var o=new RegExp(O8(s),"i");return function(i){var c=n.getAttributeValue(i,u);return c!=null&&c.length>=s.length&&o.test(c)&&e(i)}}return function(a){var i;return!!(!((i=n.getAttributeValue(a,u))===null||i===void 0)&&i.includes(s))&&e(a)}},not:function(e,t,r){var n=r.adapter,u=t.name,s=t.value;return s===""?function(o){return!!n.getAttributeValue(o,u)&&e(o)}:Ps(t,r)?(s=s.toLowerCase(),function(o){var a=n.getAttributeValue(o,u);return(a==null||a.length!==s.length||a.toLowerCase()!==s)&&e(o)}):function(o){return n.getAttributeValue(o,u)!==s&&e(o)}}};var ry={},gB={},AB={},Vd={};Object.defineProperty(Vd,"__esModule",{value:!0});Vd.parse=void 0;var IYe=new Set([9,10,12,13,32]),I8=48,NYe=57;function qYe(e){if(e=e.trim().toLowerCase(),e==="even")return[2,0];if(e==="odd")return[2,1];var t=0,r=0,n=s(),u=o();if(t=I8&&e.charCodeAt(t)<=NYe;)c=c*10+(e.charCodeAt(t)-I8),t++;return t===i?null:c}function a(){for(;t=r};var n=Math.abs(t),u=(r%n+n)%n;return t>1?function(s){return s>=r&&s%n===u}:function(s){return s<=r&&s%n===u}}Aa.compile=RYe;function jYe(e){var t=e[0],r=e[1]-1,n=0;if(t<0){var u=-t,s=(r%u+u)%u;return function(){var o=s+u*n++;return o>r?null:o}}return t===0?r<0?function(){return null}:function(){return n++===0?r:null}:(r<0&&(r+=t*Math.ceil(-r/t)),function(){return t*n+++r})}Aa.generate=jYe;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.sequence=e.generate=e.compile=e.parse=void 0;var t=Vd;Object.defineProperty(e,"parse",{enumerable:!0,get:function(){return t.parse}});var r=Aa;Object.defineProperty(e,"compile",{enumerable:!0,get:function(){return r.compile}}),Object.defineProperty(e,"generate",{enumerable:!0,get:function(){return r.generate}});function n(s){return(0,r.compile)((0,t.parse)(s))}e.default=n;function u(s){return(0,r.generate)((0,t.parse)(s))}e.sequence=u})(AB);(function(e){var t=Ce&&Ce.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(e,"__esModule",{value:!0}),e.filters=void 0;var r=t(AB),n=io;function u(o,a){return function(i){var c=a.getParent(i);return c!=null&&a.isTag(c)&&o(i)}}e.filters={contains:function(o,a,i){var c=i.adapter;return function(p){return o(p)&&c.getText(p).includes(a)}},icontains:function(o,a,i){var c=i.adapter,l=a.toLowerCase();return function(d){return o(d)&&c.getText(d).toLowerCase().includes(l)}},"nth-child":function(o,a,i){var c=i.adapter,l=i.equals,p=(0,r.default)(a);return p===n.falseFunc?n.falseFunc:p===n.trueFunc?u(o,c):function(f){for(var h=c.getSiblings(f),y=0,A=0;A=0&&!l(f,h[A]);A--)c.isTag(h[A])&&y++;return p(y)&&o(f)}},"nth-of-type":function(o,a,i){var c=i.adapter,l=i.equals,p=(0,r.default)(a);return p===n.falseFunc?n.falseFunc:p===n.trueFunc?u(o,c):function(f){for(var h=c.getSiblings(f),y=0,A=0;A=0;A--){var m=h[A];if(l(f,m))break;c.isTag(m)&&c.getName(m)===c.getName(f)&&y++}return p(y)&&o(f)}},root:function(o,a,i){var c=i.adapter;return function(l){var p=c.getParent(l);return(p==null||!c.isTag(p))&&o(l)}},scope:function(o,a,i,c){var l=i.equals;return!c||c.length===0?e.filters.root(o,a,i):c.length===1?function(p){return l(c[0],p)&&o(p)}:function(p){return c.includes(p)&&o(p)}},hover:s("isHovered"),visited:s("isVisited"),active:s("isActive")};function s(o){return function(i,c,l){var p=l.adapter,d=p[o];return typeof d!="function"?n.falseFunc:function(h){return d(h)&&i(h)}}}})(gB);var Fa={};Object.defineProperty(Fa,"__esModule",{value:!0});Fa.verifyPseudoArgs=Fa.pseudos=void 0;Fa.pseudos={empty:function(e,t){var r=t.adapter;return!r.getChildren(e).some(function(n){return r.isTag(n)||r.getText(n)!==""})},"first-child":function(e,t){var r=t.adapter,n=t.equals,u=r.getSiblings(e).find(function(s){return r.isTag(s)});return u!=null&&n(e,u)},"last-child":function(e,t){for(var r=t.adapter,n=t.equals,u=r.getSiblings(e),s=u.length-1;s>=0;s--){if(n(e,u[s]))return!0;if(r.isTag(u[s]))break}return!1},"first-of-type":function(e,t){for(var r=t.adapter,n=t.equals,u=r.getSiblings(e),s=r.getName(e),o=0;o=0;o--){var a=u[o];if(n(e,a))return!0;if(r.isTag(a)&&r.getName(a)===s)break}return!1},"only-of-type":function(e,t){var r=t.adapter,n=t.equals,u=r.getName(e);return r.getSiblings(e).every(function(s){return n(e,s)||!r.isTag(s)||r.getName(s)!==u})},"only-child":function(e,t){var r=t.adapter,n=t.equals;return r.getSiblings(e).every(function(u){return n(e,u)||!r.isTag(u)})}};function MYe(e,t,r){if(r===null){if(e.length>2)throw new Error("pseudo-selector :".concat(t," requires an argument"))}else if(e.length===2)throw new Error("pseudo-selector :".concat(t," doesn't have any arguments"))}Fa.verifyPseudoArgs=MYe;var Hd={};Object.defineProperty(Hd,"__esModule",{value:!0});Hd.aliases=void 0;Hd.aliases={"any-link":":is(a, area, link)[href]",link:":any-link:not(:visited)",disabled:`:is( :is(button, input, select, textarea, optgroup, option)[disabled], optgroup[disabled] > option, fieldset[disabled]:not(fieldset[disabled] legend:first-of-type *) - )`,enabled:":not(:disabled)",checked:":is(:is(input[type=radio], input[type=checkbox])[checked], option:selected)",required:":is(input, select, textarea)[required]",optional:":is(input, select, textarea):not([required])",selected:"option:is([selected], select:not([multiple]):not(:has(> option[selected])) > :first-of-type)",checkbox:"[type=checkbox]",file:"[type=file]",password:"[type=password]",radio:"[type=radio]",reset:"[type=reset]",image:"[type=image]",submit:"[type=submit]",parent:":not(:empty)",header:":is(h1, h2, h3, h4, h5, h6)",button:":is(button, input[type=button])",input:":is(input, textarea, select, button)",text:"input:is(:not([type!='']), [type=text])"};var Wd={};(function(e){var t=Ce&&Ce.__spreadArray||function(a,i,c){if(c||arguments.length===2)for(var l=0,p=i.length,d;l"u")return function(l){for(var p=l;p=s.getParent(p);)if(s.isTag(p)&&e(p))return!0;return!1};var i=new WeakSet;return function(l){for(var p=l;p=s.getParent(p);)if(!i.has(p)){if(s.isTag(p)&&e(p))return!0;i.add(p)}return!1}}case"_flexibleDescendant":return function(l){var p=l;do if(s.isTag(p)&&e(p))return!0;while(p=s.getParent(p));return!1};case vn.SelectorType.Parent:return function(l){return s.getChildren(l).some(function(p){return s.isTag(p)&&e(p)})};case vn.SelectorType.Child:return function(l){var p=s.getParent(l);return p!=null&&s.isTag(p)&&e(p)};case vn.SelectorType.Sibling:return function(l){for(var p=s.getSiblings(l),d=0;d0&&(0,HYe.isTraversal)(a[0])&&a[0].type!=="descendant"))if(u&&!a.some(FB))a.unshift(zYe);else continue;a.unshift(XYe)}}function ny(e,t,r){var n;e=e.filter(function(i){return i.length>0}),e.forEach(VYe.default),r=(n=t.context)!==null&&n!==void 0?n:r;var u=Array.isArray(r),s=r&&(Array.isArray(r)?r:[r]);YYe(e,t,s);var o=!1,a=e.map(function(i){if(i.length>=2){var c=i[0],l=i[1];c.type!=="pseudo"||c.name!=="scope"||(u&&l.type==="descendant"?i[1]=KYe:(l.type==="adjacent"||l.type==="sibling")&&(o=!0))}return ZYe(i,t,s)}).reduce(QYe,es.falseFunc);return a.shouldTestNextSiblings=o,a}os.compileToken=ny;function ZYe(e,t,r){var n;return e.reduce(function(u,s){return u===es.falseFunc?es.falseFunc:(0,WYe.compileGeneralSelector)(u,s,t,r,ny)},(n=t.rootFunc)!==null&&n!==void 0?n:es.trueFunc)}function QYe(e,t){return t===es.falseFunc||e===es.trueFunc?e:e===es.falseFunc||t===es.trueFunc?t:function(n){return e(n)||t(n)}}(function(e){var t=Ce&&Ce.__createBinding||(Object.create?function(m,v,C,B){B===void 0&&(B=C);var T=Object.getOwnPropertyDescriptor(v,C);(!T||("get"in T?!v.__esModule:T.writable||T.configurable))&&(T={enumerable:!0,get:function(){return v[C]}}),Object.defineProperty(m,B,T)}:function(m,v,C,B){B===void 0&&(B=C),m[B]=v[C]}),r=Ce&&Ce.__setModuleDefault||(Object.create?function(m,v){Object.defineProperty(m,"default",{enumerable:!0,value:v})}:function(m,v){m.default=v}),n=Ce&&Ce.__importStar||function(m){if(m&&m.__esModule)return m;var v={};if(m!=null)for(var C in m)C!=="default"&&Object.prototype.hasOwnProperty.call(m,C)&&t(v,m,C);return r(v,m),v};Object.defineProperty(e,"__esModule",{value:!0}),e.aliases=e.pseudos=e.filters=e.is=e.selectOne=e.selectAll=e.prepareContext=e._compileToken=e._compileUnsafe=e.compile=void 0;var u=n(B_),s=io,o=os,a=Wd,i=function(m,v){return m===v},c={adapter:u,equals:i};function l(m){var v,C,B,T,N=m??c;return(v=N.adapter)!==null&&v!==void 0||(N.adapter=u),(C=N.equals)!==null&&C!==void 0||(N.equals=(T=(B=N.adapter)===null||B===void 0?void 0:B.equals)!==null&&T!==void 0?T:i),N}function p(m){return function(C,B,T){var N=l(B);return m(C,N,T)}}e.compile=p(o.compile),e._compileUnsafe=p(o.compileUnsafe),e._compileToken=p(o.compileToken);function d(m){return function(C,B,T){var N=l(T);typeof C!="function"&&(C=(0,o.compileUnsafe)(C,N,B));var R=f(B,N.adapter,C.shouldTestNextSiblings);return m(C,R,N)}}function f(m,v,C){return C===void 0&&(C=!1),C&&(m=h(m,v)),Array.isArray(m)?v.removeSubsets(m):v.getChildren(m)}e.prepareContext=f;function h(m,v){for(var C=Array.isArray(m)?m.slice(0):[m],B=C.length,T=0;T-1;){for(r=n=e[t],e[t]=null,u=!0;n;){if(e.indexOf(n)>-1){u=!1,e.splice(t,1);break}n=oy(n)}u&&(e[t]=r)}return e}function bB(e,t){return t.some(function(r){return Jd(r)?e(r)||bB(e,Bc(r)):!1})}function oZe(e){var t=oy(e);return t&&Bc(t)}function aZe(e,t){return CB(e,t)!==void 0}function SB(e,t){for(var r=null,n=0,u=t.length;n0&&(r=SB(e,o))}}return r}function wB(e,t){for(var r=[],n=0,u=t.length;n"):"<".concat(t).concat(r,">").concat(n,"")},e.prototype.isVoidElement=function(t){return this.voidTags.has(t)},e}();ay.default=iZe;var zd={},cZe=Ce&&Ce.__extends||function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,u){n.__proto__=u}||function(n,u){for(var s in u)Object.prototype.hasOwnProperty.call(u,s)&&(n[s]=u[s])},e(t,r)};return function(t,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");e(t,r);function n(){this.constructor=t}t.prototype=r===null?Object.create(r):(n.prototype=r.prototype,new n)}}(),_B=Ce&&Ce.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(zd,"__esModule",{value:!0});var lZe=W3,pZe=_B(xa),dZe=_B(so),fZe=function(e){cZe(t,e);function t(r,n,u){var s=e.call(this,n,u)||this;return s.nodeType=dZe.default.TEXT_NODE,s._rawText=r,s}return t.prototype.clone=function(){return new t(this._rawText,null)},Object.defineProperty(t.prototype,"rawText",{get:function(){return this._rawText},set:function(r){this._rawText=r,this._trimmedRawText=void 0,this._trimmedText=void 0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"trimmedRawText",{get:function(){return this._trimmedRawText!==void 0?this._trimmedRawText:(this._trimmedRawText=I8(this.rawText),this._trimmedRawText)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"trimmedText",{get:function(){return this._trimmedText!==void 0?this._trimmedText:(this._trimmedText=I8(this.text),this._trimmedText)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"text",{get:function(){return(0,lZe.decode)(this.rawText)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isWhitespace",{get:function(){return/^(\s| )*$/.test(this.rawText)},enumerable:!1,configurable:!0}),t.prototype.toString=function(){return this.rawText},t}(pZe.default);zd.default=fZe;function I8(e){for(var t=0,r,n;t>=0&&t0&&/[^\S\r\n]/.test(e[r-1]),s=n0&&n.push(r=[]),s.childNodes.forEach(u),r.length>0&&n.push(r=[])):s.childNodes.forEach(u);else if(s.nodeType===Gn.default.TEXT_NODE)if(s.isWhitespace)r.prependWhitespace=!0;else{var o=s.trimmedText;r.prependWhitespace&&(o=" ".concat(o),r.prependWhitespace=!1),r.push(o)}}return u(this),n.map(function(s){return s.join("").replace(/\s{2,}/g," ")}).join(` -`).replace(/\s+$/,"")},enumerable:!1,configurable:!0}),t.prototype.toString=function(){var r=this.rawTagName;if(r){var n=this.rawAttrs?" ".concat(this.rawAttrs):"";return this.voidTag.formatNode(r,n,this.innerHTML)}return this.innerHTML},Object.defineProperty(t.prototype,"innerHTML",{get:function(){return this.childNodes.map(function(r){return r.toString()}).join("")},set:function(r){var n=Jo(r),u=n.childNodes.length?n.childNodes:[new ea.default(r,this)];hu(u,this),hu(this.childNodes,null),this.childNodes=u},enumerable:!1,configurable:!0}),t.prototype.set_content=function(r,n){if(n===void 0&&(n={}),r instanceof b2.default)r=[r];else if(typeof r=="string"){var u=Jo(r,n);r=u.childNodes.length?u.childNodes:[new ea.default(r,this)]}return hu(this.childNodes,null),hu(r,this),this.childNodes=r,this},t.prototype.replaceWith=function(){for(var r=this,n=[],u=0;u-1&&(u.rawText=u.rawText.substr(0,s),this.childNodes.length=n+1)}}return this},Object.defineProperty(t.prototype,"structure",{get:function(){var r=[],n=0;function u(o){r.push(" ".repeat(n)+o)}function s(o){var a=o.id?"#".concat(o.id):"",i=o.classList.length?".".concat(o.classList.value.join(".")):"";u("".concat(o.rawTagName).concat(a).concat(i)),n++,o.childNodes.forEach(function(c){c.nodeType===Gn.default.ELEMENT_NODE?s(c):c.nodeType===Gn.default.TEXT_NODE&&(c.isWhitespace||u("#text"))}),n--}return s(this),r.join(` -`)},enumerable:!1,configurable:!0}),t.prototype.removeWhitespace=function(){var r=this,n=0;return this.childNodes.forEach(function(u){if(u.nodeType===Gn.default.TEXT_NODE){if(u.isWhitespace)return;u.rawText=u.trimmedRawText}else u.nodeType===Gn.default.ELEMENT_NODE&&u.removeWhitespace();r.childNodes[n++]=u}),this.childNodes.length=n,this},t.prototype.querySelectorAll=function(r){return(0,F2.selectAll)(r,this,{xmlMode:!0,adapter:C2.default})},t.prototype.querySelector=function(r){return(0,F2.selectOne)(r,this,{xmlMode:!0,adapter:C2.default})},t.prototype.getElementsByTagName=function(r){for(var n=r.toUpperCase(),u=[],s=[],o=this,a=0;a!==void 0;){var i=void 0;do i=o.childNodes[a++];while(a0&&(s.push(a),o=i,a=0))}return u},t.prototype.getElementById=function(r){for(var n=[],u=this,s=0;s!==void 0;){var o=void 0;do o=u.childNodes[s++];while(s0&&(n.push(s),u=o,s=0)}}return null},t.prototype.closest=function(r){var n=new Map,u=this,s=null;function o(i,c){for(var l=null,p=0,d=c.length;p0;){var u=r[--n];if(this===u)return r[n-1]||null}return null}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"previousElementSibling",{get:function(){if(this.parentNode){for(var r=this.parentNode.childNodes,n=r.length,u=!1;n>0;){var s=r[--n];if(u){if(s instanceof t)return s||null}else this===s&&(u=!0)}return null}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"classNames",{get:function(){return this.classList.toString()},enumerable:!1,configurable:!0}),t.prototype.clone=function(){return Jo(this.toString()).firstChild},t}(b2.default);Tu.default=Gh;var Du=/|<(\/?)([a-zA-Z][-.:0-9_a-zA-Z]*)((?:\s+[^>]*?(?:(?:'[^']*')|(?:"[^"]*"))?)*)\s*(\/?)>/g,bZe=/(?:^|\s)(id|class)\s*=\s*((?:'[^']*')|(?:"[^"]*")|\S+)/gi,SZe={area:!0,AREA:!0,base:!0,BASE:!0,br:!0,BR:!0,col:!0,COL:!0,hr:!0,HR:!0,img:!0,IMG:!0,input:!0,INPUT:!0,link:!0,LINK:!0,meta:!0,META:!0,source:!0,SOURCE:!0,embed:!0,EMBED:!0,param:!0,PARAM:!0,track:!0,TRACK:!0,wbr:!0,WBR:!0},N8={li:{li:!0,LI:!0},LI:{li:!0,LI:!0},p:{p:!0,div:!0,P:!0,DIV:!0},P:{p:!0,div:!0,P:!0,DIV:!0},b:{div:!0,DIV:!0},B:{div:!0,DIV:!0},td:{td:!0,th:!0,TD:!0,TH:!0},TD:{td:!0,th:!0,TD:!0,TH:!0},th:{td:!0,th:!0,TD:!0,TH:!0},TH:{td:!0,th:!0,TD:!0,TH:!0},h1:{h1:!0,H1:!0},H1:{h1:!0,H1:!0},h2:{h2:!0,H2:!0},H2:{h2:!0,H2:!0},h3:{h3:!0,H3:!0},H3:{h3:!0,H3:!0},h4:{h4:!0,H4:!0},H4:{h4:!0,H4:!0},h5:{h5:!0,H5:!0},H5:{h5:!0,H5:!0},h6:{h6:!0,H6:!0},H6:{h6:!0,H6:!0}},q8={li:{ul:!0,ol:!0,UL:!0,OL:!0},LI:{ul:!0,ol:!0,UL:!0,OL:!0},a:{div:!0,DIV:!0},A:{div:!0,DIV:!0},b:{div:!0,DIV:!0},B:{div:!0,DIV:!0},i:{div:!0,DIV:!0},I:{div:!0,DIV:!0},p:{div:!0,DIV:!0},P:{div:!0,DIV:!0},td:{tr:!0,table:!0,TR:!0,TABLE:!0},TD:{tr:!0,table:!0,TR:!0,TABLE:!0},th:{tr:!0,table:!0,TR:!0,TABLE:!0},TH:{tr:!0,table:!0,TR:!0,TABLE:!0}},ri="documentfragmentcontainer";function TB(e,t){var r,n;t===void 0&&(t={lowerCaseTagName:!1,comment:!1});var u=new BB.default((r=t==null?void 0:t.voidTag)===null||r===void 0?void 0:r.closingSlash,(n=t==null?void 0:t.voidTag)===null||n===void 0?void 0:n.tags),s=t.blockTextElements||{script:!0,noscript:!0,style:!0,pre:!0},o=Object.keys(s),a=o.map(function(g){return new RegExp("^".concat(g,"$"),"i")}),i=o.filter(function(g){return s[g]}).map(function(g){return new RegExp("^".concat(g,"$"),"i")});function c(g){return i.some(function(P){return P.test(g)})}function l(g){return a.some(function(P){return P.test(g)})}var p=function(g,P){return[g-B,P-B]},d=new Gh(null,{},"",null,[0,e.length],u),f=d,h=[d],y=-1,A=void 0,m;e="<".concat(ri,">").concat(e,"");for(var v=t.lowerCaseTagName,C=e.length-(ri.length+2),B=ri.length+2;m=Du.exec(e);){var T=m[0],N=m[1],R=m[2],J=m[3],q=m[4],G=T.length,ee=Du.lastIndex-G,K=Du.lastIndex;if(y>-1&&y+G"),F=v?e.toLocaleLowerCase().indexOf(E,Du.lastIndex):e.indexOf(E,Du.lastIndex),D=F===-1?C:F;if(c(R)){var ue=e.substring(z,D);ue.length>0&&/\S/.test(ue)&&f.appendChild(new ea.default(ue,f,p(z,D)))}F===-1?y=Du.lastIndex=e.length+1:(y=Du.lastIndex=F+E.length,N="/")}}if(N||q||SZe[R])for(;;)if((R==="a"||R==="A")&&(A=void 0),f.rawTagName===R){f.range[1]=p(-1,Math.max(y,K))[1],h.pop(),f=(0,Qo.default)(h);break}else{var pe=f.tagName;if(q8[pe]&&q8[pe][R]){h.pop(),f=(0,Qo.default)(h);continue}break}}}return h}Tu.base_parse=TB;function Jo(e,t){t===void 0&&(t={lowerCaseTagName:!1,comment:!1});for(var r=TB(e,t),n=r[0],u=function(){var s=r.pop(),o=(0,Qo.default)(r);s.parentNode&&s.parentNode.parentNode&&(s.parentNode===o&&s.tagName===o.tagName?t.parseNoneClosedTags!==!0&&(o.removeChild(s),s.childNodes.forEach(function(a){o.parentNode.appendChild(a)}),r.pop()):t.parseNoneClosedTags!==!0&&(o.removeChild(s),s.childNodes.forEach(function(a){o.appendChild(a)})))};r.length>1;)u();return n}Tu.parse=Jo;function hu(e,t){return e.map(function(r){return r.parentNode=t,r})}var $B={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=Tu;Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.parse}})})($B);var iy={};Object.defineProperty(iy,"__esModule",{value:!0});var wZe=Tu;function _Ze(e,t){t===void 0&&(t={lowerCaseTagName:!1,comment:!1});var r=(0,wZe.base_parse)(e,t);return r.length===1}iy.default=_Ze;var co=Ce&&Ce.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(pr,"__esModule",{value:!0});pr.NodeType=pr.TextNode=pr.Node=pr.valid=pr.CommentNode=pr.HTMLElement=pr.parse=void 0;var PB=co(Od);pr.CommentNode=PB.default;var kB=co(Tu);pr.HTMLElement=kB.default;var OB=co(xa);pr.Node=OB.default;var IB=co(zd);pr.TextNode=IB.default;var NB=co(so);pr.NodeType=NB.default;var qB=co($B),xB=co(iy);pr.valid=xB.default;function Iu(e,t){return t===void 0&&(t={lowerCaseTagName:!1,comment:!1}),(0,qB.default)(e,t)}pr.default=Iu;pr.parse=Iu;Iu.parse=qB.default;Iu.HTMLElement=kB.default;Iu.CommentNode=PB.default;Iu.valid=xB.default;Iu.Node=OB.default;Iu.TextNode=IB.default;Iu.NodeType=NB.default;Object.defineProperty(kd,"__esModule",{value:!0});kd.default=void 0;var BZe=pr,TZe=RB(V3),$Ze=RB(H3),PZe=["subtype-ns","subtype"];function RB(e){return e&&e.__esModule?e:{default:e}}function x8(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable})),r.push.apply(r,n)}return r}function to(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function IZe(e,t){if(e==null)return{};var r={},n=Object.keys(e),u,s;for(s=0;s=0)&&(r[u]=e[u]);return r}var NZe=1,qZe=3,jB=[],xZe=()=>$Ze.default.encode(new TZe.default(4)).substring(0,12),RZe=e=>{var t={};return e.forEach(r=>{var n=xZe();t[n]={type:r.subtype,blocks:r.content||[]},r.target=n,delete r.content,delete r.new}),t},jZe=e=>{var t=e.attributes;return t.length?[...t].reduce((r,n)=>(r[n.name]=n.value,r),{}):typeof t=="object"&&t},MZe=e=>e.replace(/[A-Z]/g,t=>"-".concat(t.toLowerCase())),LZe=e=>Object.keys(e).reduce((t,r)=>{var n=MZe(r);return t[n]=e[r],t},{}),UZe=e=>e==="true"?!0:e==="false"?!1:e,GZe=function(t){var r=Object.keys(t).reduce((n,u)=>(n[u]=UZe(t[u]),n),{});return r},MB=e=>{var t=r=>{var n=r.dataset;if(n)return LZe(n);var u=jZe(r);return u&&Object.keys(u).reduce((s,o)=>{var a=o.match(new RegExp("(?<=data-).+"));return a&&(s[a]=u[o]),s},{})};return GZe(t(e))},VZe=e=>{var t=MB(e),{"subtype-ns":r,subtype:n}=t,u=OZe(t,PZe),s={subtype:r?"".concat(r,":").concat(n):n},o=u&&Object.keys(u).reduce((a,i)=>{var c=i.match(new RegExp("(?<=atts-).+"));return c?(a.atts||(a.atts={}),a.atts[c]=u[i]):a[i]=u[i],a},{});return to(to({},o),s)},R8=e=>{var t=[];for(var r of e.childNodes){if(r.nodeType===qZe){t.push(r.textContent);continue}r.getAttribute("class")!=="meta-content"&&t.push(cy(r))}return t},HZe=e=>{if(e.hasAttribute("data-atts-number"))return{};var t=e.querySelector(":scope > .meta-content");return to({content:R8(e)||[]},t&&{meta_content:R8(t)||[]})},cy=e=>{var t=VZe(e),r=["paragraph"].includes(t.type)&&{content:[]},n=to(to({},t),e.childNodes.length?HZe(e):r);return t.type==="graft"&&t.new&&jB.push(n),n},WZe=e=>Array.from(e,t=>cy(t)),JZe=e=>e.reduce((t,r)=>(r.nodeType!==NZe||t.push(cy(r)),t),[]),zZe=e=>typeof e.children=="object"?WZe(e.children):JZe(e.childNodes),KZe=e=>typeof DOMParser=="function"?new DOMParser().parseFromString(e,"text/html"):(0,BZe.parse)(e);function XZe(e,t){var r=KZe(e.sequencesHtml[t]),n=r.getElementById(t),u=MB(n),s=to(to({},u),{},{blocks:zZe(n)}),o=RZe(jB);return{perfSequence:s,newSequences:o}}var YZe=XZe;kd.default=YZe;Object.defineProperty(PE,"__esModule",{value:!0});var LB=PE.default=void 0,ZZe=ly(od),QZe=ly($d),eQe=ly(kd);function ly(e){return e&&e.__esModule?e:{default:e}}function j8(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable})),r.push.apply(r,n)}return r}function mu(e){for(var t=1;t(n[u]=(0,QZe.default)(t,u,this.htmlMap),n),{});return{docSetId:this.docSetId,mainSequenceId:t.main_sequence_id,schema:t.schema,metadata:t.metadata,sequencesHtml:r}}readHtml(t){var r=arguments,n=this;return wl(function*(){var u=r.length>1&&r[1]!==void 0?r[1]:{};return n._outputHtml(yield n.readPerf(t,mu(mu({},u),{},{cloning:!1})))})()}undoHtml(t){var r=arguments,n=this;return wl(function*(){var u=r.length>1&&r[1]!==void 0?r[1]:{};return n._outputHtml(yield n.undoPerf(t,mu(mu({},u),{},{cloning:!1})))})()}redoHtml(t){var r=arguments,n=this;return wl(function*(){var u=r.length>1&&r[1]!==void 0?r[1]:{};return n._outputHtml(yield n.redoPerf(t,mu(mu({},u),{},{cloning:!1})))})()}writeHtml(t,r,n){var u=arguments,s=this;return wl(function*(){var o=u.length>3&&u[3]!==void 0?u[3]:{},{writePipeline:a,readPipeline:i,insertSequences:c}=o,{perfSequence:l,newSequences:p}=(0,eQe.default)(n,r),d=s.history[t],f=Object.entries(p),h=!!f.length;if(h){f.forEach(A=>{var[m,v]=A,C=s.validator.validate("constraint","perfSequence","0.3.0",v);if(!C.isValid)throw"PERF sequence ".concat(m," for ").concat(t," is not valid: ").concat(JSON.stringify(C))});var y=mu({},s.getDocument(t,!1));y.sequences=mu(mu({},y.sequences),p),d.stack.unshift({perfDocument:y})}try{yield s.writePerf(t,r,l,{writePipeline:a,cloning:!1})}catch(A){throw h&&d.stack.shift(),new Error(A.message)}return h&&d.stack.splice(1,1),yield s.readHtml(t,{readPipeline:i})})()}}var nQe=rQe;LB=PE.default=nQe;function uQe({perf:e,bookId:t}){const[r,n]=ft.useState(),[u,s]=ft.useState(!1),[o,a]=ft.useState(),i=J7(()=>new LB({proskomma:void 0,docSetId:"xxxXXX",htmlMap:sl,options:{historySize:100}}),[]);vp(()=>{async function A(){await i.sideloadPerf(t,e),s(!0)}i&&t&&e&&A()},[i,e,t]),vp(()=>{i&&t&&u&&sl&&i.readHtml(t,{cloning:!1},sl).then(A=>{n(A)})},[i,t,u]);const c=async A=>{const m=await(i==null?void 0:i.readUsfm(A));a(m),i==null||i.readHtml(A,{cloning:!1},sl).then(v=>{n(v)})},l=async()=>{const A=await(i==null?void 0:i.undoHtml(t));n(A)},p=async()=>{const A=await(i==null?void 0:i.redoHtml(t));n(A)},d=(i==null?void 0:i.canUndo)&&(i==null?void 0:i.canUndo(t))||!1,f=(i==null?void 0:i.canRedo)&&(i==null?void 0:i.canRedo(t))||!1;return{htmlPerf:r,setHtmlPerf:n,ready:u,actions:{exportUsfm:c,undo:l,redo:p},state:{bookId:t,htmlPerf:r,canUndo:d,canRedo:f,usfmText:o}}}const sQe=(e,t)=>{const r=document.getElementById(`ch${e}v${t}`);r==null||r.scrollIntoView({behavior:"smooth"})};function oQe(){const[e,t]=ft.useState(""),{perf:r,id:n,docSetId:u,chapter:s}=xX({scrollToChapter:sQe,bookCode:e,setBookCode:t}),{state:o,actions:a}=ft.useContext(G8),{htmlPerf:i,ready:c,state:l,actions:p}=uQe({perf:r,bookId:n,docSetId:u});ft.useEffect(()=>{Vh.setMessageListeners(f=>{switch(f.data.type){case U8.SCROLL_TO_CHAPTER:{console.log("scroll to chapter received",f.data.payload);const h=document.getElementById(`ch-${f.data.payload.chapter}`);h==null||h.scrollIntoView({behavior:"smooth"}),console.log("chapterElement",h)}break}})},[s]),vp(()=>{i&&i.mainSequenceId!==o.sequenceIds[0]&&a.setSequenceIds([i==null?void 0:i.mainSequenceId])},[i,o.sequenceIds,n]);const d={...o,...l,...a,...p,htmlPerf:i,ready:c};return It.jsx("div",{className:"layout",children:It.jsx("div",{className:"flex m-3 gap-2",children:It.jsx(nQ,{...d})})})}function aQe(){return It.jsx("div",{className:"App",children:It.jsx(cT,{children:It.jsx(aT,{children:It.jsx(oQe,{})})})})}iT.render(It.jsx(Vi.StrictMode,{children:It.jsx(aQe,{})}),document.getElementById("root")); + )`,enabled:":not(:disabled)",checked:":is(:is(input[type=radio], input[type=checkbox])[checked], option:selected)",required:":is(input, select, textarea)[required]",optional:":is(input, select, textarea):not([required])",selected:"option:is([selected], select:not([multiple]):not(:has(> option[selected])) > :first-of-type)",checkbox:"[type=checkbox]",file:"[type=file]",password:"[type=password]",radio:"[type=radio]",reset:"[type=reset]",image:"[type=image]",submit:"[type=submit]",parent:":not(:empty)",header:":is(h1, h2, h3, h4, h5, h6)",button:":is(button, input[type=button])",input:":is(input, textarea, select, button)",text:"input:is(:not([type!='']), [type=text])"};var Wd={};(function(e){var t=Ce&&Ce.__spreadArray||function(a,i,c){if(c||arguments.length===2)for(var l=0,p=i.length,d;l"u")return function(l){for(var p=l;p=s.getParent(p);)if(s.isTag(p)&&e(p))return!0;return!1};var i=new WeakSet;return function(l){for(var p=l;p=s.getParent(p);)if(!i.has(p)){if(s.isTag(p)&&e(p))return!0;i.add(p)}return!1}}case"_flexibleDescendant":return function(l){var p=l;do if(s.isTag(p)&&e(p))return!0;while(p=s.getParent(p));return!1};case vn.SelectorType.Parent:return function(l){return s.getChildren(l).some(function(p){return s.isTag(p)&&e(p)})};case vn.SelectorType.Child:return function(l){var p=s.getParent(l);return p!=null&&s.isTag(p)&&e(p)};case vn.SelectorType.Sibling:return function(l){for(var p=s.getSiblings(l),d=0;d0&&(0,WYe.isTraversal)(a[0])&&a[0].type!=="descendant"))if(u&&!a.some(bB))a.unshift(KYe);else continue;a.unshift(YYe)}}function uy(e,t,r){var n;e=e.filter(function(i){return i.length>0}),e.forEach(HYe.default),r=(n=t.context)!==null&&n!==void 0?n:r;var u=Array.isArray(r),s=r&&(Array.isArray(r)?r:[r]);ZYe(e,t,s);var o=!1,a=e.map(function(i){if(i.length>=2){var c=i[0],l=i[1];c.type!=="pseudo"||c.name!=="scope"||(u&&l.type==="descendant"?i[1]=XYe:(l.type==="adjacent"||l.type==="sibling")&&(o=!0))}return QYe(i,t,s)}).reduce(eZe,es.falseFunc);return a.shouldTestNextSiblings=o,a}os.compileToken=uy;function QYe(e,t,r){var n;return e.reduce(function(u,s){return u===es.falseFunc?es.falseFunc:(0,JYe.compileGeneralSelector)(u,s,t,r,uy)},(n=t.rootFunc)!==null&&n!==void 0?n:es.trueFunc)}function eZe(e,t){return t===es.falseFunc||e===es.trueFunc?e:e===es.falseFunc||t===es.trueFunc?t:function(n){return e(n)||t(n)}}(function(e){var t=Ce&&Ce.__createBinding||(Object.create?function(m,v,C,B){B===void 0&&(B=C);var T=Object.getOwnPropertyDescriptor(v,C);(!T||("get"in T?!v.__esModule:T.writable||T.configurable))&&(T={enumerable:!0,get:function(){return v[C]}}),Object.defineProperty(m,B,T)}:function(m,v,C,B){B===void 0&&(B=C),m[B]=v[C]}),r=Ce&&Ce.__setModuleDefault||(Object.create?function(m,v){Object.defineProperty(m,"default",{enumerable:!0,value:v})}:function(m,v){m.default=v}),n=Ce&&Ce.__importStar||function(m){if(m&&m.__esModule)return m;var v={};if(m!=null)for(var C in m)C!=="default"&&Object.prototype.hasOwnProperty.call(m,C)&&t(v,m,C);return r(v,m),v};Object.defineProperty(e,"__esModule",{value:!0}),e.aliases=e.pseudos=e.filters=e.is=e.selectOne=e.selectAll=e.prepareContext=e._compileToken=e._compileUnsafe=e.compile=void 0;var u=n($_),s=io,o=os,a=Wd,i=function(m,v){return m===v},c={adapter:u,equals:i};function l(m){var v,C,B,T,N=m??c;return(v=N.adapter)!==null&&v!==void 0||(N.adapter=u),(C=N.equals)!==null&&C!==void 0||(N.equals=(T=(B=N.adapter)===null||B===void 0?void 0:B.equals)!==null&&T!==void 0?T:i),N}function p(m){return function(C,B,T){var N=l(B);return m(C,N,T)}}e.compile=p(o.compile),e._compileUnsafe=p(o.compileUnsafe),e._compileToken=p(o.compileToken);function d(m){return function(C,B,T){var N=l(T);typeof C!="function"&&(C=(0,o.compileUnsafe)(C,N,B));var R=f(B,N.adapter,C.shouldTestNextSiblings);return m(C,R,N)}}function f(m,v,C){return C===void 0&&(C=!1),C&&(m=h(m,v)),Array.isArray(m)?v.removeSubsets(m):v.getChildren(m)}e.prepareContext=f;function h(m,v){for(var C=Array.isArray(m)?m.slice(0):[m],B=C.length,T=0;T-1;){for(r=n=e[t],e[t]=null,u=!0;n;){if(e.indexOf(n)>-1){u=!1,e.splice(t,1);break}n=ay(n)}u&&(e[t]=r)}return e}function wB(e,t){return t.some(function(r){return Jd(r)?e(r)||wB(e,Bc(r)):!1})}function aZe(e){var t=ay(e);return t&&Bc(t)}function iZe(e,t){return SB(e,t)!==void 0}function _B(e,t){for(var r=null,n=0,u=t.length;n0&&(r=_B(e,o))}}return r}function BB(e,t){for(var r=[],n=0,u=t.length;n"):"<".concat(t).concat(r,">").concat(n,"")},e.prototype.isVoidElement=function(t){return this.voidTags.has(t)},e}();iy.default=cZe;var zd={},lZe=Ce&&Ce.__extends||function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,u){n.__proto__=u}||function(n,u){for(var s in u)Object.prototype.hasOwnProperty.call(u,s)&&(n[s]=u[s])},e(t,r)};return function(t,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");e(t,r);function n(){this.constructor=t}t.prototype=r===null?Object.create(r):(n.prototype=r.prototype,new n)}}(),TB=Ce&&Ce.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(zd,"__esModule",{value:!0});var pZe=J3,dZe=TB(xa),fZe=TB(so),DZe=function(e){lZe(t,e);function t(r,n,u){var s=e.call(this,n,u)||this;return s.nodeType=fZe.default.TEXT_NODE,s._rawText=r,s}return t.prototype.clone=function(){return new t(this._rawText,null)},Object.defineProperty(t.prototype,"rawText",{get:function(){return this._rawText},set:function(r){this._rawText=r,this._trimmedRawText=void 0,this._trimmedText=void 0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"trimmedRawText",{get:function(){return this._trimmedRawText!==void 0?this._trimmedRawText:(this._trimmedRawText=q8(this.rawText),this._trimmedRawText)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"trimmedText",{get:function(){return this._trimmedText!==void 0?this._trimmedText:(this._trimmedText=q8(this.text),this._trimmedText)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"text",{get:function(){return(0,pZe.decode)(this.rawText)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isWhitespace",{get:function(){return/^(\s| )*$/.test(this.rawText)},enumerable:!1,configurable:!0}),t.prototype.toString=function(){return this.rawText},t}(dZe.default);zd.default=DZe;function q8(e){for(var t=0,r,n;t>=0&&t0&&/[^\S\r\n]/.test(e[r-1]),s=n0&&n.push(r=[]),s.childNodes.forEach(u),r.length>0&&n.push(r=[])):s.childNodes.forEach(u);else if(s.nodeType===Gn.default.TEXT_NODE)if(s.isWhitespace)r.prependWhitespace=!0;else{var o=s.trimmedText;r.prependWhitespace&&(o=" ".concat(o),r.prependWhitespace=!1),r.push(o)}}return u(this),n.map(function(s){return s.join("").replace(/\s{2,}/g," ")}).join(` +`).replace(/\s+$/,"")},enumerable:!1,configurable:!0}),t.prototype.toString=function(){var r=this.rawTagName;if(r){var n=this.rawAttrs?" ".concat(this.rawAttrs):"";return this.voidTag.formatNode(r,n,this.innerHTML)}return this.innerHTML},Object.defineProperty(t.prototype,"innerHTML",{get:function(){return this.childNodes.map(function(r){return r.toString()}).join("")},set:function(r){var n=Jo(r),u=n.childNodes.length?n.childNodes:[new ea.default(r,this)];hu(u,this),hu(this.childNodes,null),this.childNodes=u},enumerable:!1,configurable:!0}),t.prototype.set_content=function(r,n){if(n===void 0&&(n={}),r instanceof S2.default)r=[r];else if(typeof r=="string"){var u=Jo(r,n);r=u.childNodes.length?u.childNodes:[new ea.default(r,this)]}return hu(this.childNodes,null),hu(r,this),this.childNodes=r,this},t.prototype.replaceWith=function(){for(var r=this,n=[],u=0;u-1&&(u.rawText=u.rawText.substr(0,s),this.childNodes.length=n+1)}}return this},Object.defineProperty(t.prototype,"structure",{get:function(){var r=[],n=0;function u(o){r.push(" ".repeat(n)+o)}function s(o){var a=o.id?"#".concat(o.id):"",i=o.classList.length?".".concat(o.classList.value.join(".")):"";u("".concat(o.rawTagName).concat(a).concat(i)),n++,o.childNodes.forEach(function(c){c.nodeType===Gn.default.ELEMENT_NODE?s(c):c.nodeType===Gn.default.TEXT_NODE&&(c.isWhitespace||u("#text"))}),n--}return s(this),r.join(` +`)},enumerable:!1,configurable:!0}),t.prototype.removeWhitespace=function(){var r=this,n=0;return this.childNodes.forEach(function(u){if(u.nodeType===Gn.default.TEXT_NODE){if(u.isWhitespace)return;u.rawText=u.trimmedRawText}else u.nodeType===Gn.default.ELEMENT_NODE&&u.removeWhitespace();r.childNodes[n++]=u}),this.childNodes.length=n,this},t.prototype.querySelectorAll=function(r){return(0,C2.selectAll)(r,this,{xmlMode:!0,adapter:b2.default})},t.prototype.querySelector=function(r){return(0,C2.selectOne)(r,this,{xmlMode:!0,adapter:b2.default})},t.prototype.getElementsByTagName=function(r){for(var n=r.toUpperCase(),u=[],s=[],o=this,a=0;a!==void 0;){var i=void 0;do i=o.childNodes[a++];while(a0&&(s.push(a),o=i,a=0))}return u},t.prototype.getElementById=function(r){for(var n=[],u=this,s=0;s!==void 0;){var o=void 0;do o=u.childNodes[s++];while(s0&&(n.push(s),u=o,s=0)}}return null},t.prototype.closest=function(r){var n=new Map,u=this,s=null;function o(i,c){for(var l=null,p=0,d=c.length;p0;){var u=r[--n];if(this===u)return r[n-1]||null}return null}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"previousElementSibling",{get:function(){if(this.parentNode){for(var r=this.parentNode.childNodes,n=r.length,u=!1;n>0;){var s=r[--n];if(u){if(s instanceof t)return s||null}else this===s&&(u=!0)}return null}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"classNames",{get:function(){return this.classList.toString()},enumerable:!1,configurable:!0}),t.prototype.clone=function(){return Jo(this.toString()).firstChild},t}(S2.default);Tu.default=Vh;var Du=/|<(\/?)([a-zA-Z][-.:0-9_a-zA-Z]*)((?:\s+[^>]*?(?:(?:'[^']*')|(?:"[^"]*"))?)*)\s*(\/?)>/g,SZe=/(?:^|\s)(id|class)\s*=\s*((?:'[^']*')|(?:"[^"]*")|\S+)/gi,wZe={area:!0,AREA:!0,base:!0,BASE:!0,br:!0,BR:!0,col:!0,COL:!0,hr:!0,HR:!0,img:!0,IMG:!0,input:!0,INPUT:!0,link:!0,LINK:!0,meta:!0,META:!0,source:!0,SOURCE:!0,embed:!0,EMBED:!0,param:!0,PARAM:!0,track:!0,TRACK:!0,wbr:!0,WBR:!0},x8={li:{li:!0,LI:!0},LI:{li:!0,LI:!0},p:{p:!0,div:!0,P:!0,DIV:!0},P:{p:!0,div:!0,P:!0,DIV:!0},b:{div:!0,DIV:!0},B:{div:!0,DIV:!0},td:{td:!0,th:!0,TD:!0,TH:!0},TD:{td:!0,th:!0,TD:!0,TH:!0},th:{td:!0,th:!0,TD:!0,TH:!0},TH:{td:!0,th:!0,TD:!0,TH:!0},h1:{h1:!0,H1:!0},H1:{h1:!0,H1:!0},h2:{h2:!0,H2:!0},H2:{h2:!0,H2:!0},h3:{h3:!0,H3:!0},H3:{h3:!0,H3:!0},h4:{h4:!0,H4:!0},H4:{h4:!0,H4:!0},h5:{h5:!0,H5:!0},H5:{h5:!0,H5:!0},h6:{h6:!0,H6:!0},H6:{h6:!0,H6:!0}},R8={li:{ul:!0,ol:!0,UL:!0,OL:!0},LI:{ul:!0,ol:!0,UL:!0,OL:!0},a:{div:!0,DIV:!0},A:{div:!0,DIV:!0},b:{div:!0,DIV:!0},B:{div:!0,DIV:!0},i:{div:!0,DIV:!0},I:{div:!0,DIV:!0},p:{div:!0,DIV:!0},P:{div:!0,DIV:!0},td:{tr:!0,table:!0,TR:!0,TABLE:!0},TD:{tr:!0,table:!0,TR:!0,TABLE:!0},th:{tr:!0,table:!0,TR:!0,TABLE:!0},TH:{tr:!0,table:!0,TR:!0,TABLE:!0}},ri="documentfragmentcontainer";function PB(e,t){var r,n;t===void 0&&(t={lowerCaseTagName:!1,comment:!1});var u=new $B.default((r=t==null?void 0:t.voidTag)===null||r===void 0?void 0:r.closingSlash,(n=t==null?void 0:t.voidTag)===null||n===void 0?void 0:n.tags),s=t.blockTextElements||{script:!0,noscript:!0,style:!0,pre:!0},o=Object.keys(s),a=o.map(function(g){return new RegExp("^".concat(g,"$"),"i")}),i=o.filter(function(g){return s[g]}).map(function(g){return new RegExp("^".concat(g,"$"),"i")});function c(g){return i.some(function(P){return P.test(g)})}function l(g){return a.some(function(P){return P.test(g)})}var p=function(g,P){return[g-B,P-B]},d=new Vh(null,{},"",null,[0,e.length],u),f=d,h=[d],y=-1,A=void 0,m;e="<".concat(ri,">").concat(e,"");for(var v=t.lowerCaseTagName,C=e.length-(ri.length+2),B=ri.length+2;m=Du.exec(e);){var T=m[0],N=m[1],R=m[2],J=m[3],q=m[4],G=T.length,ee=Du.lastIndex-G,K=Du.lastIndex;if(y>-1&&y+G"),F=v?e.toLocaleLowerCase().indexOf(E,Du.lastIndex):e.indexOf(E,Du.lastIndex),D=F===-1?C:F;if(c(R)){var ue=e.substring(z,D);ue.length>0&&/\S/.test(ue)&&f.appendChild(new ea.default(ue,f,p(z,D)))}F===-1?y=Du.lastIndex=e.length+1:(y=Du.lastIndex=F+E.length,N="/")}}if(N||q||wZe[R])for(;;)if((R==="a"||R==="A")&&(A=void 0),f.rawTagName===R){f.range[1]=p(-1,Math.max(y,K))[1],h.pop(),f=(0,Qo.default)(h);break}else{var pe=f.tagName;if(R8[pe]&&R8[pe][R]){h.pop(),f=(0,Qo.default)(h);continue}break}}}return h}Tu.base_parse=PB;function Jo(e,t){t===void 0&&(t={lowerCaseTagName:!1,comment:!1});for(var r=PB(e,t),n=r[0],u=function(){var s=r.pop(),o=(0,Qo.default)(r);s.parentNode&&s.parentNode.parentNode&&(s.parentNode===o&&s.tagName===o.tagName?t.parseNoneClosedTags!==!0&&(o.removeChild(s),s.childNodes.forEach(function(a){o.parentNode.appendChild(a)}),r.pop()):t.parseNoneClosedTags!==!0&&(o.removeChild(s),s.childNodes.forEach(function(a){o.appendChild(a)})))};r.length>1;)u();return n}Tu.parse=Jo;function hu(e,t){return e.map(function(r){return r.parentNode=t,r})}var kB={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=Tu;Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.parse}})})(kB);var cy={};Object.defineProperty(cy,"__esModule",{value:!0});var _Ze=Tu;function BZe(e,t){t===void 0&&(t={lowerCaseTagName:!1,comment:!1});var r=(0,_Ze.base_parse)(e,t);return r.length===1}cy.default=BZe;var co=Ce&&Ce.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(pr,"__esModule",{value:!0});pr.NodeType=pr.TextNode=pr.Node=pr.valid=pr.CommentNode=pr.HTMLElement=pr.parse=void 0;var OB=co(Od);pr.CommentNode=OB.default;var IB=co(Tu);pr.HTMLElement=IB.default;var NB=co(xa);pr.Node=NB.default;var qB=co(zd);pr.TextNode=qB.default;var xB=co(so);pr.NodeType=xB.default;var RB=co(kB),jB=co(cy);pr.valid=jB.default;function Iu(e,t){return t===void 0&&(t={lowerCaseTagName:!1,comment:!1}),(0,RB.default)(e,t)}pr.default=Iu;pr.parse=Iu;Iu.parse=RB.default;Iu.HTMLElement=IB.default;Iu.CommentNode=OB.default;Iu.valid=jB.default;Iu.Node=NB.default;Iu.TextNode=qB.default;Iu.NodeType=xB.default;Object.defineProperty(kd,"__esModule",{value:!0});kd.default=void 0;var TZe=pr,$Ze=MB(H3),PZe=MB(W3),kZe=["subtype-ns","subtype"];function MB(e){return e&&e.__esModule?e:{default:e}}function j8(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable})),r.push.apply(r,n)}return r}function to(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function NZe(e,t){if(e==null)return{};var r={},n=Object.keys(e),u,s;for(s=0;s=0)&&(r[u]=e[u]);return r}var qZe=1,xZe=3,LB=[],RZe=()=>PZe.default.encode(new $Ze.default(4)).substring(0,12),jZe=e=>{var t={};return e.forEach(r=>{var n=RZe();t[n]={type:r.subtype,blocks:r.content||[]},r.target=n,delete r.content,delete r.new}),t},MZe=e=>{var t=e.attributes;return t.length?[...t].reduce((r,n)=>(r[n.name]=n.value,r),{}):typeof t=="object"&&t},LZe=e=>e.replace(/[A-Z]/g,t=>"-".concat(t.toLowerCase())),UZe=e=>Object.keys(e).reduce((t,r)=>{var n=LZe(r);return t[n]=e[r],t},{}),GZe=e=>e==="true"?!0:e==="false"?!1:e,VZe=function(t){var r=Object.keys(t).reduce((n,u)=>(n[u]=GZe(t[u]),n),{});return r},UB=e=>{var t=r=>{var n=r.dataset;if(n)return UZe(n);var u=MZe(r);return u&&Object.keys(u).reduce((s,o)=>{var a=o.match(new RegExp("(?<=data-).+"));return a&&(s[a]=u[o]),s},{})};return VZe(t(e))},HZe=e=>{var t=UB(e),{"subtype-ns":r,subtype:n}=t,u=IZe(t,kZe),s={subtype:r?"".concat(r,":").concat(n):n},o=u&&Object.keys(u).reduce((a,i)=>{var c=i.match(new RegExp("(?<=atts-).+"));return c?(a.atts||(a.atts={}),a.atts[c]=u[i]):a[i]=u[i],a},{});return to(to({},o),s)},M8=e=>{var t=[];for(var r of e.childNodes){if(r.nodeType===xZe){t.push(r.textContent);continue}r.getAttribute("class")!=="meta-content"&&t.push(ly(r))}return t},WZe=e=>{if(e.hasAttribute("data-atts-number"))return{};var t=e.querySelector(":scope > .meta-content");return to({content:M8(e)||[]},t&&{meta_content:M8(t)||[]})},ly=e=>{var t=HZe(e),r=["paragraph"].includes(t.type)&&{content:[]},n=to(to({},t),e.childNodes.length?WZe(e):r);return t.type==="graft"&&t.new&&LB.push(n),n},JZe=e=>Array.from(e,t=>ly(t)),zZe=e=>e.reduce((t,r)=>(r.nodeType!==qZe||t.push(ly(r)),t),[]),KZe=e=>typeof e.children=="object"?JZe(e.children):zZe(e.childNodes),XZe=e=>typeof DOMParser=="function"?new DOMParser().parseFromString(e,"text/html"):(0,TZe.parse)(e);function YZe(e,t){var r=XZe(e.sequencesHtml[t]),n=r.getElementById(t),u=UB(n),s=to(to({},u),{},{blocks:KZe(n)}),o=jZe(LB);return{perfSequence:s,newSequences:o}}var ZZe=YZe;kd.default=ZZe;Object.defineProperty(kE,"__esModule",{value:!0});var GB=kE.default=void 0,QZe=py(od),eQe=py($d),tQe=py(kd);function py(e){return e&&e.__esModule?e:{default:e}}function L8(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(u){return Object.getOwnPropertyDescriptor(e,u).enumerable})),r.push.apply(r,n)}return r}function mu(e){for(var t=1;t(n[u]=(0,eQe.default)(t,u,this.htmlMap),n),{});return{docSetId:this.docSetId,mainSequenceId:t.main_sequence_id,schema:t.schema,metadata:t.metadata,sequencesHtml:r}}readHtml(t){var r=arguments,n=this;return wl(function*(){var u=r.length>1&&r[1]!==void 0?r[1]:{};return n._outputHtml(yield n.readPerf(t,mu(mu({},u),{},{cloning:!1})))})()}undoHtml(t){var r=arguments,n=this;return wl(function*(){var u=r.length>1&&r[1]!==void 0?r[1]:{};return n._outputHtml(yield n.undoPerf(t,mu(mu({},u),{},{cloning:!1})))})()}redoHtml(t){var r=arguments,n=this;return wl(function*(){var u=r.length>1&&r[1]!==void 0?r[1]:{};return n._outputHtml(yield n.redoPerf(t,mu(mu({},u),{},{cloning:!1})))})()}writeHtml(t,r,n){var u=arguments,s=this;return wl(function*(){var o=u.length>3&&u[3]!==void 0?u[3]:{},{writePipeline:a,readPipeline:i,insertSequences:c}=o,{perfSequence:l,newSequences:p}=(0,tQe.default)(n,r),d=s.history[t],f=Object.entries(p),h=!!f.length;if(h){f.forEach(A=>{var[m,v]=A,C=s.validator.validate("constraint","perfSequence","0.3.0",v);if(!C.isValid)throw"PERF sequence ".concat(m," for ").concat(t," is not valid: ").concat(JSON.stringify(C))});var y=mu({},s.getDocument(t,!1));y.sequences=mu(mu({},y.sequences),p),d.stack.unshift({perfDocument:y})}try{yield s.writePerf(t,r,l,{writePipeline:a,cloning:!1})}catch(A){throw h&&d.stack.shift(),new Error(A.message)}return h&&d.stack.splice(1,1),yield s.readHtml(t,{readPipeline:i})})()}}var uQe=nQe;GB=kE.default=uQe;function sQe({perf:e,bookId:t}){const[r,n]=ft.useState(),[u,s]=ft.useState(!1),[o,a]=ft.useState(),i=K7(()=>new GB({proskomma:void 0,docSetId:"xxxXXX",htmlMap:sl,options:{historySize:100}}),[]);vp(()=>{async function A(){await i.sideloadPerf(t,e),s(!0)}i&&t&&e&&A()},[i,e,t]),vp(()=>{i&&t&&u&&sl&&i.readHtml(t,{cloning:!1},sl).then(A=>{n(A)})},[i,t,u]);const c=async A=>{const m=await(i==null?void 0:i.readUsfm(A));a(m),i==null||i.readHtml(A,{cloning:!1},sl).then(v=>{n(v)})},l=async()=>{const A=await(i==null?void 0:i.undoHtml(t));n(A)},p=async()=>{const A=await(i==null?void 0:i.redoHtml(t));n(A)},d=(i==null?void 0:i.canUndo)&&(i==null?void 0:i.canUndo(t))||!1,f=(i==null?void 0:i.canRedo)&&(i==null?void 0:i.canRedo(t))||!1;return{htmlPerf:r,setHtmlPerf:n,ready:u,actions:{exportUsfm:c,undo:l,redo:p},state:{bookId:t,htmlPerf:r,canUndo:d,canRedo:f,usfmText:o}}}const oQe=(e,t)=>{const r=document.getElementById(`ch${e}v${t}`);r==null||r.scrollIntoView({behavior:"smooth"})};function aQe(){const[e,t]=ft.useState(""),{perf:r,id:n,docSetId:u,chapter:s}=jX({scrollToChapter:oQe,bookCode:e,setBookCode:t}),{state:o,actions:a}=ft.useContext(H8),{htmlPerf:i,ready:c,state:l,actions:p}=sQe({perf:r,bookId:n,docSetId:u});ft.useEffect(()=>{Hh.setMessageListeners(f=>{switch(f.data.type){case V8.SCROLL_TO_CHAPTER:{console.log("scroll to chapter received",f.data.payload);const h=document.getElementById(`ch-${f.data.payload.chapter}`);h==null||h.scrollIntoView({behavior:"smooth"}),console.log("chapterElement",h)}break}})},[s]),vp(()=>{i&&i.mainSequenceId!==o.sequenceIds[0]&&a.setSequenceIds([i==null?void 0:i.mainSequenceId])},[i,o.sequenceIds,n]);const d={...o,...l,...a,...p,htmlPerf:i,ready:c};return It.jsx("div",{className:"layout",children:It.jsx("div",{className:"flex m-3 gap-2",children:It.jsx(sQ,{...d})})})}function iQe(){return It.jsx("div",{className:"App",children:It.jsx(pT,{children:It.jsx(cT,{children:It.jsx(aQe,{})})})})}lT.render(It.jsx(Vi.StrictMode,{children:It.jsx(iQe,{})}),document.getElementById("root")); diff --git a/webviews/usfm-viewer/build/assets/views/BibleNavigator.js b/webviews/usfm-viewer/build/assets/views/BibleNavigator.js index abe28013..8ba68c4b 100644 --- a/webviews/usfm-viewer/build/assets/views/BibleNavigator.js +++ b/webviews/usfm-viewer/build/assets/views/BibleNavigator.js @@ -1 +1 @@ -var Je=t=>{throw TypeError(t)};var ye=(t,e,s)=>e.has(t)||Je("Cannot "+s);var r=(t,e,s)=>(ye(t,e,"read from private field"),s?s.call(t):e.get(t)),c=(t,e,s)=>e.has(t)?Je("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,s),u=(t,e,s,i)=>(ye(t,e,"write to private field"),i?i.call(t,s):e.set(t,s),s),T=(t,e,s)=>(ye(t,e,"access private method"),s);var pe=(t,e,s,i)=>({set _(n){u(t,e,n,s)},get _(){return r(t,e,i)}});import{r as L,d as Le,j as _,v as de,M as he,e as We,R as Xe,a as $e}from"../App.js";function Ye(t){const e=et[t];return console.log({book:t,bookData:e}),{chapters:Object.keys(e.chapters),chapterCount:e.chapterCount}}const et={GEN:{chapterCount:50,chapterVerseCountPairings:{1:31,2:25,3:24,4:26,5:32,6:22,7:24,8:22,9:29,10:32,11:32,12:20,13:18,14:24,15:21,16:16,17:27,18:33,19:38,20:18,21:34,22:24,23:20,24:67,25:34,26:35,27:46,28:22,29:35,30:43,31:54,32:33,33:20,34:31,35:29,36:43,37:36,38:30,39:23,40:23,41:57,42:38,43:34,44:34,45:28,46:34,47:31,48:22,49:33,50:26},name:"Genesis",abbr:"GEN",ord:"01",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Gen",usfm_end:"GEN 50:26",next:{book:{name:"Exodus",id:"Exod"}},abbreviations:["Gen.","Ge.","Gn."],chapters:{1:31,2:25,3:24,4:26,5:32,6:22,7:24,8:22,9:29,10:32,11:32,12:20,13:18,14:24,15:21,16:16,17:27,18:33,19:38,20:18,21:34,22:24,23:20,24:67,25:34,26:35,27:46,28:22,29:35,30:43,31:55,32:32,33:20,34:31,35:29,36:43,37:36,38:30,39:23,40:23,41:57,42:38,43:34,44:34,45:28,46:34,47:31,48:22,49:33,50:26}},EXO:{chapterCount:40,chapterVerseCountPairings:{1:22,2:25,3:22,4:31,5:23,6:30,7:29,8:28,9:35,10:29,11:10,12:51,13:22,14:31,15:27,16:36,17:16,18:27,19:25,20:26,21:37,22:30,23:33,24:18,25:40,26:37,27:21,28:43,29:46,30:38,31:18,32:35,33:23,34:35,35:35,36:38,37:29,38:31,39:43,40:38},name:"Exodus",abbr:"EXO",ord:"02",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Exod",usfm_end:"EXO 40:38",next:{book:{name:"Leviticus",id:"Lev"}},previous:{book:{name:"Genesis",id:"Gen"}},abbreviations:["Ex.","Exod.","Exo."],chapters:{1:22,2:25,3:22,4:31,5:23,6:30,7:25,8:32,9:35,10:29,11:10,12:51,13:22,14:31,15:27,16:36,17:16,18:27,19:25,20:26,21:36,22:31,23:33,24:18,25:40,26:37,27:21,28:43,29:46,30:38,31:18,32:35,33:23,34:35,35:35,36:38,37:29,38:31,39:43,40:38}},LEV:{chapterCount:27,chapterVerseCountPairings:{1:17,2:16,3:17,4:35,5:26,6:23,7:38,8:36,9:24,10:20,11:47,12:8,13:59,14:57,15:33,16:34,17:16,18:30,19:37,20:27,21:24,22:33,23:44,24:23,25:55,26:46,27:34},name:"Leviticus",abbr:"LEV",ord:"03",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Lev",usfm_end:"LEV 27:34",next:{book:{name:"Numbers",id:"Num"}},previous:{book:{name:"Exodus",id:"Exod"}},abbreviations:["Lev.","Le.","Lv."],chapters:{1:17,2:16,3:17,4:35,5:19,6:30,7:38,8:36,9:24,10:20,11:47,12:8,13:59,14:57,15:33,16:34,17:16,18:30,19:37,20:27,21:24,22:33,23:44,24:23,25:55,26:46,27:34}},NUM:{chapterCount:36,chapterVerseCountPairings:{1:54,2:34,3:51,4:49,5:31,6:27,7:89,8:26,9:23,10:36,11:35,12:16,13:33,14:45,15:41,16:35,17:28,18:32,19:22,20:29,21:35,22:41,23:30,24:25,25:19,26:65,27:23,28:31,29:39,30:17,31:54,32:42,33:56,34:29,35:34,36:13},name:"Numbers",abbr:"NUM",ord:"04",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Num",usfm_end:"NUM 36:13",next:{book:{name:"Deuteronomy",id:"Deut"}},previous:{book:{name:"Leviticus",id:"Lev"}},abbreviations:["Num.","Nu.","Nm.","Nb."],chapters:{1:54,2:34,3:51,4:49,5:31,6:27,7:89,8:26,9:23,10:36,11:35,12:16,13:33,14:45,15:41,16:50,17:13,18:32,19:22,20:29,21:35,22:41,23:30,24:25,25:18,26:65,27:23,28:31,29:40,30:16,31:54,32:42,33:56,34:29,35:34,36:13}},DEU:{chapterCount:34,chapterVerseCountPairings:{1:46,2:37,3:29,4:49,5:33,6:25,7:26,8:20,9:29,10:22,11:32,12:31,13:19,14:29,15:23,16:22,17:20,18:22,19:21,20:20,21:23,22:29,23:26,24:22,25:19,26:19,27:26,28:69,29:28,30:20,31:30,32:52,33:29,34:12},name:"Deuteronomy",abbr:"DEU",ord:"05",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Deut",usfm_end:"DEU 34:12",next:{book:{name:"Joshua",id:"Josh"}},previous:{book:{name:"Numbers",id:"Num"}},abbreviations:["Deut.","De.","Dt."],chapters:{1:46,2:37,3:29,4:49,5:33,6:25,7:26,8:20,9:29,10:22,11:32,12:32,13:18,14:29,15:23,16:22,17:20,18:22,19:21,20:20,21:23,22:30,23:25,24:22,25:19,26:19,27:26,28:68,29:29,30:20,31:30,32:52,33:29,34:12}},JOS:{chapterCount:24,chapterVerseCountPairings:{1:18,2:24,3:17,4:24,5:15,6:27,7:26,8:35,9:27,10:43,11:23,12:24,13:33,14:15,15:63,16:10,17:18,18:28,19:51,20:9,21:45,22:34,23:16,24:33},name:"Joshua",abbr:"JOS",ord:"06",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Josh",usfm_end:"JOS 24:33",next:{book:{name:"Judges",id:"Judg"}},previous:{book:{name:"Deuteronomy",id:"Deut"}},abbreviations:["Josh.","Jos.","Jsh."],chapters:{1:18,2:24,3:17,4:24,5:15,6:27,7:26,8:35,9:27,10:43,11:23,12:24,13:33,14:15,15:63,16:10,17:18,18:28,19:51,20:9,21:45,22:34,23:16,24:33}},JDG:{chapterCount:21,chapterVerseCountPairings:{1:36,2:23,3:31,4:24,5:31,6:40,7:25,8:35,9:57,10:18,11:40,12:15,13:25,14:20,15:20,16:31,17:13,18:31,19:30,20:48,21:25},name:"Judges",abbr:"JDG",ord:"07",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Judg",usfm_end:"JDG 21:25",next:{book:{name:"Ruth",id:"Ruth"}},previous:{book:{name:"Joshua",id:"Josh"}},abbreviations:["Judg.","Jdg.","Jg.","Jdgs."],chapters:{1:36,2:23,3:31,4:24,5:31,6:40,7:25,8:35,9:57,10:18,11:40,12:15,13:25,14:20,15:20,16:31,17:13,18:31,19:30,20:48,21:25}},RUT:{chapterCount:4,chapterVerseCountPairings:{1:22,2:23,3:18,4:22},name:"Ruth",abbr:"RUT",ord:"08",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Ruth",usfm_end:"RUT 4:22",next:{book:{name:"1 Samuel",id:"1Sam"}},previous:{book:{name:"Judges",id:"Judg"}},abbreviations:["Ruth","Rth.","Ru."],chapters:{1:22,2:23,3:18,4:22}},"1SA":{chapterCount:31,chapterVerseCountPairings:{1:28,2:36,3:21,4:22,5:12,6:21,7:17,8:22,9:27,10:27,11:15,12:25,13:23,14:52,15:35,16:23,17:58,18:30,19:24,20:42,21:16,22:23,23:28,24:23,25:44,26:25,27:12,28:25,29:11,30:31,31:13},name:"1 Samuel",abbr:"1SA",ord:"09",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"1Sam",usfm_end:"1SA 31:13",next:{book:{name:"2 Samuel",id:"2Sam"}},previous:{book:{name:"Ruth",id:"Ruth"}},abbreviations:["1 Sam.","1 Sm.","1 Sa.","1 S.","I Sam.","I Sa.","1Sam.","1Sa.","1S.","1st Samuel","1st Sam.","First Samuel","First Sam."],chapters:{1:28,2:36,3:21,4:22,5:12,6:21,7:17,8:22,9:27,10:27,11:15,12:25,13:23,14:52,15:35,16:23,17:58,18:30,19:24,20:42,21:15,22:23,23:29,24:22,25:44,26:25,27:12,28:25,29:11,30:31,31:13}},"2SA":{chapterCount:24,chapterVerseCountPairings:{1:27,2:32,3:39,4:12,5:25,6:23,7:29,8:18,9:13,10:19,11:27,12:31,13:39,14:33,15:37,16:23,17:29,18:32,19:44,20:26,21:22,22:51,23:39,24:25},name:"2 Samuel",abbr:"2SA",ord:"10",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"2Sam",usfm_end:"2SA 24:25",next:{book:{name:"1 Kings",id:"1Kgs"}},previous:{book:{name:"1 Samuel",id:"1Sam"}},abbreviations:["2 Sam.","2 Sm.","2 Sa.","2 S.","II Sam.","II Sa.","2Sam.","2Sa.","2S.","2nd Samuel","2nd Sam.","Second Samuel","Second Sam."],chapters:{1:27,2:32,3:39,4:12,5:25,6:23,7:29,8:18,9:13,10:19,11:27,12:31,13:39,14:33,15:37,16:23,17:29,18:33,19:43,20:26,21:22,22:51,23:39,24:25}},"1KI":{chapterCount:22,chapterVerseCountPairings:{1:53,2:46,3:28,4:20,5:32,6:38,7:51,8:66,9:28,10:29,11:43,12:33,13:34,14:31,15:34,16:34,17:24,18:46,19:21,20:43,21:29,22:54},name:"1 Kings",abbr:"1KI",ord:"11",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"1Kgs",usfm_end:"1KI 22:53",next:{book:{name:"2 Kings",id:"2Kgs"}},previous:{book:{name:"2 Samuel",id:"2Sam"}},abbreviations:["1 Kings","1 Kgs","1 Ki","1Kgs","1Kin","1Ki","1K","I Kgs","I Ki","1st Kings","1st Kgs","First Kings","First Kgs"],chapters:{1:53,2:46,3:28,4:34,5:18,6:38,7:51,8:66,9:28,10:29,11:43,12:33,13:34,14:31,15:34,16:34,17:24,18:46,19:21,20:43,21:29,22:53}},"2KI":{chapterCount:25,chapterVerseCountPairings:{1:18,2:25,3:27,4:44,5:27,6:33,7:20,8:29,9:37,10:36,11:20,12:22,13:25,14:29,15:38,16:20,17:41,18:37,19:37,20:21,21:26,22:20,23:37,24:20,25:30},name:"2 Kings",abbr:"2KI",ord:"12",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"2Kgs",usfm_end:"2KI 25:30",next:{book:{name:"1 Chronicles",id:"1Chr"}},previous:{book:{name:"1 Kings",id:"1Kgs"}},abbreviations:["2 Kings","2 Kgs.","2 Ki.","2Kgs.","2Kin.","2Ki.","2K.","II Kgs.","II Ki.","2nd Kings","2nd Kgs.","Second Kings","Second Kgs."],chapters:{1:18,2:25,3:27,4:44,5:27,6:33,7:20,8:29,9:37,10:36,11:21,12:21,13:25,14:29,15:38,16:20,17:41,18:37,19:37,20:21,21:26,22:20,23:37,24:20,25:30}},"1CH":{chapterCount:29,chapterVerseCountPairings:{1:54,2:55,3:24,4:43,5:41,6:66,7:40,8:40,9:44,10:14,11:47,12:41,13:14,14:17,15:29,16:43,17:27,18:17,19:19,20:8,21:30,22:19,23:32,24:31,25:31,26:32,27:34,28:21,29:30},name:"1 Chronicles",abbr:"1CH",ord:"13",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"1Chr",usfm_end:"1CH 29:30",next:{book:{name:"2 Chronicles",id:"2Chr"}},previous:{book:{name:"2 Kings",id:"2Kgs"}},abbreviations:["1 Chron.","1 Chr.","1 Ch.","1Chron.","1Chr.","1Ch.","I Chron.","I Chr.","I Ch.","1st Chronicles","1st Chron.","First Chronicles","First Chron."],chapters:{1:54,2:55,3:24,4:43,5:26,6:81,7:40,8:40,9:44,10:14,11:47,12:40,13:14,14:17,15:29,16:43,17:27,18:17,19:19,20:8,21:30,22:19,23:32,24:31,25:31,26:32,27:34,28:21,29:30}},"2CH":{chapterCount:36,chapterVerseCountPairings:{1:18,2:17,3:17,4:22,5:14,6:42,7:22,8:18,9:31,10:19,11:23,12:16,13:23,14:14,15:19,16:14,17:19,18:34,19:11,20:37,21:20,22:12,23:21,24:27,25:28,26:23,27:9,28:27,29:36,30:27,31:21,32:33,33:25,34:33,35:27,36:23},name:"2 Chronicles",abbr:"2CH",ord:"14",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"2Chr",usfm_end:"2CH 36:23",next:{book:{name:"Ezra",id:"Ezra"}},previous:{book:{name:"1 Chronicles",id:"1Chr"}},abbreviations:["2 Chron.","2 Chr.","2 Ch.","2Chron.","2Chr.","2Ch.","II Chron.","II Chr.","II Ch.","2nd Chronicles","2nd Chron.","Second Chronicles","Second Chron."],chapters:{1:17,2:18,3:17,4:22,5:14,6:42,7:22,8:18,9:31,10:19,11:23,12:16,13:22,14:15,15:19,16:14,17:19,18:34,19:11,20:37,21:20,22:12,23:21,24:27,25:28,26:23,27:9,28:27,29:36,30:27,31:21,32:33,33:25,34:33,35:27,36:23}},EZR:{chapterCount:10,chapterVerseCountPairings:{1:11,2:70,3:13,4:24,5:17,6:22,7:28,8:36,9:15,10:44},name:"Ezra",abbr:"EZR",ord:"15",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Ezra",usfm_end:"EZR 10:44",next:{book:{name:"Nehemiah",id:"Neh"}},previous:{book:{name:"2 Chronicles",id:"2Chr"}},abbreviations:["Ezra","Ezr.","Ez."],chapters:{1:11,2:70,3:13,4:24,5:17,6:22,7:28,8:36,9:15,10:44}},NEH:{chapterCount:13,chapterVerseCountPairings:{1:11,2:20,3:38,4:17,5:19,6:19,7:72,8:18,9:37,10:40,11:36,12:47,13:31},name:"Nehemiah",abbr:"NEH",ord:"16",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Neh",usfm_end:"NEH 13:31",next:{book:{name:"Esther",id:"Esth"}},previous:{book:{name:"Ezra",id:"Ezra"}},abbreviations:["Neh.","Ne."],chapters:{1:11,2:20,3:32,4:23,5:19,6:19,7:73,8:18,9:38,10:39,11:36,12:47,13:31}},EST:{chapterCount:10,chapterVerseCountPairings:{1:22,2:23,3:15,4:17,5:14,6:14,7:10,8:17,9:32,10:3},name:"Esther",abbr:"EST",ord:"17",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Esth",usfm_end:"EST 10:3",next:{book:{name:"Job",id:"Job"}},previous:{book:{name:"Nehemiah",id:"Neh"}},abbreviations:["Est.","Esth.","Es."],chapters:{1:22,2:23,3:15,4:17,5:14,6:14,7:10,8:17,9:32,10:3}},JOB:{chapterCount:42,chapterVerseCountPairings:{1:22,2:13,3:26,4:21,5:27,6:30,7:21,8:22,9:35,10:22,11:20,12:25,13:28,14:22,15:35,16:22,17:16,18:21,19:29,20:29,21:34,22:30,23:17,24:25,25:6,26:14,27:23,28:28,29:25,30:31,31:40,32:22,33:33,34:37,35:16,36:33,37:24,38:41,39:30,40:32,41:26,42:17},name:"Job",abbr:"JOB",ord:"18",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Job",usfm_end:"JOB 42:17",next:{book:{name:"Psalms",id:"Ps"}},previous:{book:{name:"Esther",id:"Esth"}},abbreviations:["Job","Jb."],chapters:{1:22,2:13,3:26,4:21,5:27,6:30,7:21,8:22,9:35,10:22,11:20,12:25,13:28,14:22,15:35,16:22,17:16,18:21,19:29,20:29,21:34,22:30,23:17,24:25,25:6,26:14,27:23,28:28,29:25,30:31,31:40,32:22,33:33,34:37,35:16,36:33,37:24,38:41,39:30,40:24,41:34,42:17}},PSA:{chapterCount:150,chapterVerseCountPairings:{1:6,2:12,3:9,4:9,5:13,6:11,7:18,8:10,9:21,10:18,11:7,12:9,13:6,14:7,15:5,16:11,17:15,18:51,19:15,20:10,21:14,22:32,23:6,24:10,25:22,26:12,27:14,28:9,29:11,30:13,31:25,32:11,33:22,34:23,35:28,36:13,37:40,38:23,39:14,40:18,41:14,42:12,43:5,44:27,45:18,46:12,47:10,48:15,49:21,50:23,51:21,52:11,53:7,54:9,55:24,56:14,57:12,58:12,59:18,60:14,61:9,62:13,63:12,64:11,65:14,66:20,67:8,68:36,69:37,70:6,71:24,72:20,73:28,74:23,75:11,76:13,77:21,78:72,79:13,80:20,81:17,82:8,83:19,84:13,85:14,86:17,87:7,88:19,89:53,90:17,91:16,92:16,93:5,94:23,95:11,96:13,97:12,98:9,99:9,100:5,101:8,102:29,103:22,104:35,105:45,106:48,107:43,108:14,109:31,110:7,111:10,112:10,113:9,114:8,115:18,116:19,117:2,118:29,119:176,120:7,121:8,122:9,123:4,124:8,125:5,126:6,127:5,128:6,129:8,130:8,131:3,132:18,133:3,134:3,135:21,136:26,137:9,138:8,139:24,140:14,141:10,142:8,143:12,144:15,145:21,146:10,147:20,148:14,149:9,150:6},name:"Psalms",abbr:"PSA",ord:"19",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Ps",usfm_end:"PSA 150:6",next:{book:{name:"Proverbs",id:"Prov"}},previous:{book:{name:"Job",id:"Job"}},abbreviations:["Ps.","Psalm","Pslm.","Psa.","Psm.","Pss."],chapters:{1:6,2:12,3:8,4:8,5:12,6:10,7:17,8:9,9:20,10:18,11:7,12:8,13:6,14:7,15:5,16:11,17:15,18:50,19:14,20:9,21:13,22:31,23:6,24:10,25:22,26:12,27:14,28:9,29:11,30:12,31:24,32:11,33:22,34:22,35:28,36:12,37:40,38:22,39:13,40:17,41:13,42:11,43:5,44:26,45:17,46:11,47:9,48:14,49:20,50:23,51:19,52:9,53:6,54:7,55:23,56:13,57:11,58:11,59:17,60:12,61:8,62:12,63:11,64:10,65:13,66:20,67:7,68:35,69:36,70:5,71:24,72:20,73:28,74:23,75:10,76:12,77:20,78:72,79:13,80:19,81:16,82:8,83:18,84:12,85:13,86:17,87:7,88:18,89:52,90:17,91:16,92:15,93:5,94:23,95:11,96:13,97:12,98:9,99:9,100:5,101:8,102:28,103:22,104:35,105:45,106:48,107:43,108:13,109:31,110:7,111:10,112:10,113:9,114:8,115:18,116:19,117:2,118:29,119:176,120:7,121:8,122:9,123:4,124:8,125:5,126:6,127:5,128:6,129:8,130:8,131:3,132:18,133:3,134:3,135:21,136:26,137:9,138:8,139:24,140:13,141:10,142:7,143:12,144:15,145:21,146:10,147:20,148:14,149:9,150:6}},PRO:{chapterCount:31,chapterVerseCountPairings:{1:33,2:22,3:35,4:27,5:23,6:35,7:27,8:36,9:18,10:32,11:31,12:28,13:25,14:35,15:33,16:33,17:28,18:24,19:29,20:30,21:31,22:29,23:35,24:34,25:28,26:28,27:27,28:28,29:27,30:33,31:31},name:"Proverbs",abbr:"PRO",ord:"20",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Prov",usfm_end:"PRO 31:31",next:{book:{name:"Ecclesiastes",id:"Eccl"}},previous:{book:{name:"Psalms",id:"Ps"}},abbreviations:["Prov","Pro.","Prv.","Pr."],chapters:{1:33,2:22,3:35,4:27,5:23,6:35,7:27,8:36,9:18,10:32,11:31,12:28,13:25,14:35,15:33,16:33,17:28,18:24,19:29,20:30,21:31,22:29,23:35,24:34,25:28,26:28,27:27,28:28,29:27,30:33,31:31}},ECC:{chapterCount:12,chapterVerseCountPairings:{1:18,2:26,3:22,4:17,5:19,6:12,7:29,8:17,9:18,10:20,11:10,12:14},name:"Ecclesiastes",abbr:"ECC",ord:"21",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Eccl",usfm_end:"ECC 12:14",next:{book:{name:"Song of Solomon",id:"Song"}},previous:{book:{name:"Proverbs",id:"Prov"}},abbreviations:["Eccles.","Eccle.","Ecc.","Ec.","Qoh."],chapters:{1:18,2:26,3:22,4:16,5:20,6:12,7:29,8:17,9:18,10:20,11:10,12:14}},SNG:{chapterCount:8,chapterVerseCountPairings:{1:17,2:17,3:11,4:16,5:16,6:12,7:14,8:14},name:"Song of Solomon",abbr:"SNG",ord:"22",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Song",usfm_end:"SNG 8:14",next:{book:{name:"Isaiah",id:"Isa"}},previous:{book:{name:"Ecclesiastes",id:"Eccl"}},abbreviations:["Song","Song of Songs","SOS.","So.","Canticle of Canticles","Canticles","Cant."],chapters:{1:17,2:17,3:11,4:16,5:16,6:13,7:13,8:14}},ISA:{chapterCount:66,chapterVerseCountPairings:{1:31,2:22,3:26,4:6,5:30,6:13,7:25,8:23,9:20,10:34,11:16,12:6,13:22,14:32,15:9,16:14,17:14,18:7,19:25,20:6,21:17,22:25,23:18,24:23,25:12,26:21,27:13,28:29,29:24,30:33,31:9,32:20,33:24,34:17,35:10,36:22,37:38,38:22,39:8,40:31,41:29,42:25,43:28,44:28,45:25,46:13,47:15,48:22,49:26,50:11,51:23,52:15,53:12,54:17,55:13,56:12,57:21,58:14,59:21,60:22,61:11,62:12,63:19,64:11,65:25,66:24},name:"Isaiah",abbr:"ISA",ord:"23",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Isa",usfm_end:"ISA 66:24",next:{book:{name:"Jeremiah",id:"Jer"}},previous:{book:{name:"Song of Solomon",id:"Song"}},abbreviations:["Isa.","Is."],chapters:{1:31,2:22,3:26,4:6,5:30,6:13,7:25,8:22,9:21,10:34,11:16,12:6,13:22,14:32,15:9,16:14,17:14,18:7,19:25,20:6,21:17,22:25,23:18,24:23,25:12,26:21,27:13,28:29,29:24,30:33,31:9,32:20,33:24,34:17,35:10,36:22,37:38,38:22,39:8,40:31,41:29,42:25,43:28,44:28,45:25,46:13,47:15,48:22,49:26,50:11,51:23,52:15,53:12,54:17,55:13,56:12,57:21,58:14,59:21,60:22,61:11,62:12,63:19,64:12,65:25,66:24}},JER:{chapterCount:52,chapterVerseCountPairings:{1:19,2:37,3:25,4:31,5:31,6:30,7:34,8:23,9:25,10:25,11:23,12:17,13:27,14:22,15:21,16:21,17:27,18:23,19:15,20:18,21:14,22:30,23:40,24:10,25:38,26:24,27:22,28:17,29:32,30:24,31:40,32:44,33:26,34:22,35:19,36:32,37:21,38:28,39:18,40:16,41:18,42:22,43:13,44:30,45:5,46:28,47:7,48:47,49:39,50:46,51:64,52:34},name:"Jeremiah",abbr:"JER",ord:"24",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Jer",usfm_end:"JER 52:34",next:{book:{name:"Lamentations",id:"Lam"}},previous:{book:{name:"Isaiah",id:"Isa"}},abbreviations:["Jer.","Je.","Jr."],chapters:{1:19,2:37,3:25,4:31,5:31,6:30,7:34,8:22,9:26,10:25,11:23,12:17,13:27,14:22,15:21,16:21,17:27,18:23,19:15,20:18,21:14,22:30,23:40,24:10,25:38,26:24,27:22,28:17,29:32,30:24,31:40,32:44,33:26,34:22,35:19,36:32,37:21,38:28,39:18,40:16,41:18,42:22,43:13,44:30,45:5,46:28,47:7,48:47,49:39,50:46,51:64,52:34}},LAM:{chapterCount:5,chapterVerseCountPairings:{1:22,2:22,3:66,4:22,5:22},name:"Lamentations",abbr:"LAM",ord:"25",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Lam",usfm_end:"LAM 5:22",next:{book:{name:"Ezekiel",id:"Ezek"}},previous:{book:{name:"Jeremiah",id:"Jer"}},abbreviations:["Lam.","La."],chapters:{1:22,2:22,3:66,4:22,5:22}},EZK:{chapterCount:48,chapterVerseCountPairings:{1:28,2:10,3:27,4:17,5:17,6:14,7:27,8:18,9:11,10:22,11:25,12:28,13:23,14:23,15:8,16:63,17:24,18:32,19:14,20:44,21:37,22:31,23:49,24:27,25:17,26:21,27:36,28:26,29:21,30:26,31:18,32:32,33:33,34:31,35:15,36:38,37:28,38:23,39:29,40:49,41:26,42:20,43:27,44:31,45:25,46:24,47:23,48:35},name:"Ezekiel",abbr:"EZK",ord:"26",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Ezek",usfm_end:"EZK 48:35",next:{book:{name:"Daniel",id:"Dan"}},previous:{book:{name:"Lamentations",id:"Lam"}},abbreviations:["Ezek.","Eze.","Ezk."],chapters:{1:28,2:10,3:27,4:17,5:17,6:14,7:27,8:18,9:11,10:22,11:25,12:28,13:23,14:23,15:8,16:63,17:24,18:32,19:14,20:49,21:32,22:31,23:49,24:27,25:17,26:21,27:36,28:26,29:21,30:26,31:18,32:32,33:33,34:31,35:15,36:38,37:28,38:23,39:29,40:49,41:26,42:20,43:27,44:31,45:25,46:24,47:23,48:35}},DAN:{chapterCount:12,chapterVerseCountPairings:{1:21,2:49,3:33,4:34,5:30,6:29,7:28,8:27,9:27,10:21,11:45,12:13},name:"Daniel",abbr:"DAN",ord:"27",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Dan",usfm_end:"DAN 12:13",next:{book:{name:"Hosea",id:"Hos"}},previous:{book:{name:"Ezekiel",id:"Ezek"}},abbreviations:["Dan.","Da.","Dn."],chapters:{1:21,2:49,3:30,4:37,5:31,6:28,7:28,8:27,9:27,10:21,11:45,12:13}},HOS:{chapterCount:14,chapterVerseCountPairings:{1:9,2:25,3:5,4:19,5:15,6:11,7:16,8:14,9:17,10:15,11:11,12:15,13:15,14:10},name:"Hosea",abbr:"HOS",ord:"28",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Hos",usfm_end:"HOS 14:9",next:{book:{name:"Joel",id:"Joel"}},previous:{book:{name:"Daniel",id:"Dan"}},abbreviations:["Hos.","Ho."],chapters:{1:11,2:23,3:5,4:19,5:15,6:11,7:16,8:14,9:17,10:15,11:12,12:14,13:16,14:9}},JOL:{chapterCount:4,chapterVerseCountPairings:{1:20,2:27,3:5,4:21},name:"Joel",abbr:"JOL",ord:"29",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Joel",usfm_end:"JOL 3:21",next:{book:{name:"Amos",id:"Amos"}},previous:{book:{name:"Hosea",id:"Hos"}},abbreviations:["Joel","Jl."],chapters:{1:20,2:32,3:21}},AMO:{chapterCount:9,chapterVerseCountPairings:{1:15,2:16,3:15,4:13,5:27,6:14,7:17,8:14,9:15},name:"Amos",abbr:"AMO",ord:"30",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Amos",usfm_end:"AMO 9:15",next:{book:{name:"Obadiah",id:"Obad"}},previous:{book:{name:"Joel",id:"Joel"}},abbreviations:["Amos","Am."],chapters:{1:15,2:16,3:15,4:13,5:27,6:14,7:17,8:14,9:15}},OBA:{chapterCount:1,chapterVerseCountPairings:{1:21},name:"Obadiah",abbr:"OBA",ord:"31",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Obad",usfm_end:"OBA 1:21",next:{book:{name:"Jonah",id:"Jonah"}},previous:{book:{name:"Amos",id:"Amos"}},abbreviations:["Obad.","Ob."],chapters:{1:21}},JON:{chapterCount:4,chapterVerseCountPairings:{1:16,2:11,3:10,4:11},name:"Jonah",abbr:"JON",ord:"32",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Jonah",usfm_end:"JON 4:11",next:{book:{name:"Micah",id:"Mic"}},previous:{book:{name:"Obadiah",id:"Obad"}},abbreviations:["Jonah","Jnh.","Jon."],chapters:{1:17,2:10,3:10,4:11}},MIC:{chapterCount:7,chapterVerseCountPairings:{1:16,2:13,3:12,4:14,5:14,6:16,7:20},name:"Micah",abbr:"MIC",ord:"33",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Mic",usfm_end:"MIC 7:20",next:{book:{name:"Nahum",id:"Nah"}},previous:{book:{name:"Jonah",id:"Jonah"}},abbreviations:["Mic.","Mc."],chapters:{1:16,2:13,3:12,4:13,5:15,6:16,7:20}},NAM:{chapterCount:3,chapterVerseCountPairings:{1:14,2:14,3:19},name:"Nahum",abbr:"NAM",ord:"34",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Nah",usfm_end:"NAM 3:19",next:{book:{name:"Habakkuk",id:"Hab"}},previous:{book:{name:"Micah",id:"Mic"}},abbreviations:["Nah.","Na."],chapters:{1:15,2:13,3:19}},HAB:{chapterCount:3,chapterVerseCountPairings:{1:17,2:20,3:19},name:"Habakkuk",abbr:"HAB",ord:"35",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Hab",usfm_end:"HAB 3:19",next:{book:{name:"Zephaniah",id:"Zeph"}},previous:{book:{name:"Nahum",id:"Nah"}},abbreviations:["Hab.","Hb."],chapters:{1:17,2:20,3:19}},ZEP:{chapterCount:3,chapterVerseCountPairings:{1:18,2:15,3:20},name:"Zephaniah",abbr:"ZEP",ord:"36",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Zeph",usfm_end:"ZEP 3:20",next:{book:{name:"Haggai",id:"Hag"}},previous:{book:{name:"Habakkuk",id:"Hab"}},abbreviations:["Zeph.","Zep.","Zp."],chapters:{1:18,2:15,3:20}},HAG:{chapterCount:2,chapterVerseCountPairings:{1:15,2:23},name:"Haggai",abbr:"HAG",ord:"37",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Hag",usfm_end:"HAG 2:23",next:{book:{name:"Zechariah",id:"Zech"}},previous:{book:{name:"Zephaniah",id:"Zeph"}},abbreviations:["Hag.","Hg."],chapters:{1:15,2:23}},ZEC:{chapterCount:14,chapterVerseCountPairings:{1:17,2:17,3:10,4:14,5:11,6:15,7:14,8:23,9:17,10:12,11:17,12:14,13:9,14:21},name:"Zechariah",abbr:"ZEC",ord:"38",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Zech",usfm_end:"ZEC 14:21",next:{book:{name:"Malachi",id:"Mal"}},previous:{book:{name:"Haggai",id:"Hag"}},abbreviations:["Zech.","Zec.","Zc."],chapters:{1:21,2:13,3:10,4:14,5:11,6:15,7:14,8:23,9:17,10:12,11:17,12:14,13:9,14:21}},MAL:{chapterCount:3,chapterVerseCountPairings:{1:14,2:17,3:24},name:"Malachi",abbr:"MAL",ord:"39",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Mal",usfm_end:"MAL 4:6",next:{book:{name:"Tobit",id:"Tob"}},previous:{book:{name:"Zechariah",id:"Zech"}},abbreviations:["Mal.","Ml."],chapters:{1:14,2:17,3:18,4:6}},MAT:{chapterCount:28,chapterVerseCountPairings:{1:25,2:23,3:17,4:25,5:48,6:34,7:29,8:34,9:38,10:42,11:30,12:50,13:58,14:36,15:39,16:28,17:27,18:35,19:30,20:34,21:46,22:46,23:39,24:51,25:46,26:75,27:66,28:20},name:"Matthew",abbr:"MAT",ord:"40",book_group_id:"0",testament:"NT",id:"Matt",usfm_end:"MAT 28:20",next:{book:{name:"Mark",id:"Mark"}},previous:{book:{name:"2 Maccabees",id:"2Macc"}},abbreviations:["Matt.","Mt."],chapters:{1:25,2:23,3:17,4:25,5:48,6:34,7:29,8:34,9:38,10:42,11:30,12:50,13:58,14:36,15:39,16:28,17:27,18:35,19:30,20:34,21:46,22:46,23:39,24:51,25:46,26:75,27:66,28:20}},MRK:{chapterCount:16,chapterVerseCountPairings:{1:45,2:28,3:35,4:41,5:43,6:56,7:37,8:38,9:50,10:52,11:33,12:44,13:37,14:72,15:47,16:20},name:"Mark",abbr:"MRK",ord:"41",book_group_id:"0",testament:"NT",id:"Mark",usfm_end:"MRK 16:20",next:{book:{name:"Luke",id:"Luke"}},previous:{book:{name:"Matthew",id:"Matt"}},abbreviations:["Mark","Mrk","Mar","Mk","Mr"],chapters:{1:45,2:28,3:35,4:41,5:43,6:56,7:37,8:38,9:50,10:52,11:33,12:44,13:37,14:72,15:47,16:20}},LUK:{chapterCount:24,chapterVerseCountPairings:{1:80,2:52,3:38,4:44,5:39,6:49,7:50,8:56,9:62,10:42,11:54,12:59,13:35,14:35,15:32,16:31,17:37,18:43,19:48,20:47,21:38,22:71,23:56,24:53},name:"Luke",abbr:"LUK",ord:"42",book_group_id:"0",testament:"NT",id:"Luke",usfm_end:"LUK 24:53",next:{book:{name:"John",id:"John"}},previous:{book:{name:"Mark",id:"Mark"}},abbreviations:["Luke","Luk","Lk"],chapters:{1:80,2:52,3:38,4:44,5:39,6:49,7:50,8:56,9:62,10:42,11:54,12:59,13:35,14:35,15:32,16:31,17:37,18:43,19:48,20:47,21:38,22:71,23:56,24:53}},JHN:{chapterCount:21,chapterVerseCountPairings:{1:51,2:25,3:36,4:54,5:47,6:71,7:53,8:59,9:41,10:42,11:57,12:50,13:38,14:31,15:27,16:33,17:26,18:40,19:42,20:31,21:25},name:"John",abbr:"JHN",ord:"43",book_group_id:"0",testament:"NT",id:"John",usfm_end:"JHN 21:25",next:{book:{name:"Acts",id:"Acts"}},previous:{book:{name:"Luke",id:"Luke"}},abbreviations:["John","Joh","Jhn","Jn"],chapters:{1:51,2:25,3:36,4:54,5:47,6:71,7:53,8:59,9:41,10:42,11:57,12:50,13:38,14:31,15:27,16:33,17:26,18:40,19:42,20:31,21:25}},ACT:{chapterCount:28,chapterVerseCountPairings:{1:26,2:47,3:26,4:37,5:42,6:15,7:60,8:40,9:43,10:48,11:30,12:25,13:52,14:28,15:41,16:40,17:34,18:28,19:40,20:38,21:40,22:30,23:35,24:27,25:27,26:32,27:44,28:31},name:"Acts",abbr:"ACT",ord:"44",book_group_id:"0",testament:"NT",id:"Acts",usfm_end:"ACT 28:31",next:{book:{name:"Romans",id:"Rom"}},previous:{book:{name:"John",id:"John"}},abbreviations:["Acts","Act","Ac"],chapters:{1:26,2:47,3:26,4:37,5:42,6:15,7:60,8:40,9:43,10:48,11:30,12:25,13:52,14:28,15:41,16:40,17:34,18:28,19:41,20:38,21:40,22:30,23:35,24:27,25:27,26:32,27:44,28:31}},ROM:{chapterCount:16,chapterVerseCountPairings:{1:32,2:29,3:31,4:25,5:21,6:23,7:25,8:39,9:33,10:21,11:36,12:21,13:14,14:23,15:33,16:27},name:"Romans",abbr:"ROM",ord:"45",book_group_id:"0",testament:"NT",id:"Rom",usfm_end:"ROM 16:27",next:{book:{name:"1 Corinthians",id:"1Cor"}},previous:{book:{name:"Acts",id:"Acts"}},abbreviations:["Rom.","Ro.","Rm."],chapters:{1:32,2:29,3:31,4:25,5:21,6:23,7:25,8:39,9:33,10:21,11:36,12:21,13:14,14:23,15:33,16:27}},"1CO":{chapterCount:16,chapterVerseCountPairings:{1:31,2:16,3:23,4:21,5:13,6:20,7:40,8:13,9:27,10:33,11:34,12:31,13:13,14:40,15:58,16:24},name:"1 Corinthians",abbr:"1CO",ord:"46",book_group_id:"0",testament:"NT",id:"1Cor",usfm_end:"1CO 16:24",next:{book:{name:"2 Corinthians",id:"2Cor"}},previous:{book:{name:"Romans",id:"Rom"}},abbreviations:["1 Cor.","1 Co.","I Cor.","I Co.","1Cor.","1Co.","I Corinthians","1Corinthians","1st Corinthians","First Corinthians"],chapters:{1:31,2:16,3:23,4:21,5:13,6:20,7:40,8:13,9:27,10:33,11:34,12:31,13:13,14:40,15:58,16:24}},"2CO":{chapterCount:13,chapterVerseCountPairings:{1:24,2:17,3:18,4:18,5:21,6:18,7:16,8:24,9:15,10:18,11:33,12:21,13:13},name:"2 Corinthians",abbr:"2CO",ord:"47",book_group_id:"0",testament:"NT",id:"2Cor",usfm_end:"2CO 13:14",next:{book:{name:"Galatians",id:"Gal"}},previous:{book:{name:"1 Corinthians",id:"1Cor"}},abbreviations:["2 Cor.","2 Co.","II Cor.","II Co.","2Cor.","2Co.","II Corinthians","2Corinthians","2nd Corinthians","Second Corinthians"],chapters:{1:24,2:17,3:18,4:18,5:21,6:18,7:16,8:24,9:15,10:18,11:33,12:21,13:14}},GAL:{chapterCount:6,chapterVerseCountPairings:{1:24,2:21,3:29,4:31,5:26,6:18},name:"Galatians",abbr:"GAL",ord:"48",book_group_id:"0",testament:"NT",id:"Gal",usfm_end:"GAL 6:18",next:{book:{name:"Ephesians",id:"Eph"}},previous:{book:{name:"2 Corinthians",id:"2Cor"}},abbreviations:["Gal.","Ga."],chapters:{1:24,2:21,3:29,4:31,5:26,6:18}},EPH:{chapterCount:6,chapterVerseCountPairings:{1:23,2:22,3:21,4:32,5:33,6:24},name:"Ephesians",abbr:"EPH",ord:"49",book_group_id:"0",testament:"NT",id:"Eph",usfm_end:"EPH 6:24",next:{book:{name:"Philippians",id:"Phil"}},previous:{book:{name:"Galatians",id:"Gal"}},abbreviations:["Eph.","Ephes."],chapters:{1:23,2:22,3:21,4:32,5:33,6:24}},PHP:{chapterCount:4,chapterVerseCountPairings:{1:30,2:30,3:21,4:23},name:"Philippians",abbr:"PHP",ord:"50",book_group_id:"0",testament:"NT",id:"Phil",usfm_end:"PHP 4:23",next:{book:{name:"Colossians",id:"Col"}},previous:{book:{name:"Ephesians",id:"Eph"}},abbreviations:["Phil.","Php.","Pp."],chapters:{1:30,2:30,3:21,4:23}},COL:{chapterCount:4,chapterVerseCountPairings:{1:29,2:23,3:25,4:18},name:"Colossians",abbr:"COL",ord:"51",book_group_id:"0",testament:"NT",id:"Col",usfm_end:"COL 4:18",next:{book:{name:"1 Thessalonians",id:"1Thess"}},previous:{book:{name:"Philippians",id:"Phil"}},abbreviations:["Col.","Co."],chapters:{1:29,2:23,3:25,4:18}},"1TH":{chapterCount:5,chapterVerseCountPairings:{1:10,2:20,3:13,4:18,5:28},name:"1 Thessalonians",abbr:"1TH",ord:"52",book_group_id:"0",testament:"NT",id:"1Thess",usfm_end:"1TH 5:28",next:{book:{name:"2 Thessalonians",id:"2Thess"}},previous:{book:{name:"Colossians",id:"Col"}},abbreviations:["1 Thess.","1 Thes.","1 Th.","I Thessalonians","I Thess.","I Thes.","I Th.","1Thessalonians","1Thess.","1Thes.","1Th.","1st Thessalonians","1st Thess.","First Thessalonians","First Thess."],chapters:{1:10,2:20,3:13,4:18,5:28}},"2TH":{chapterCount:3,chapterVerseCountPairings:{1:12,2:17,3:18},name:"2 Thessalonians",abbr:"2TH",ord:"53",book_group_id:"0",testament:"NT",id:"2Thess",usfm_end:"2TH 3:18",next:{book:{name:"1 Timothy",id:"1Tim"}},previous:{book:{name:"1 Thessalonians",id:"1Thess"}},abbreviations:["2 Thess.","2 Thes.","II Thessalonians","II Thess.","II Thes.","II Th.","2Thessalonians","2Thess.","2Thes.","2Th.","2nd Thessalonians","2nd Thess.","Second Thessalonians","Second Thess."],chapters:{1:12,2:17,3:18}},"1TI":{chapterCount:6,chapterVerseCountPairings:{1:20,2:15,3:16,4:16,5:25,6:21},name:"1 Timothy",abbr:"1TI",ord:"54",book_group_id:"0",testament:"NT",id:"1Tim",usfm_end:"1TI 6:21",next:{book:{name:"2 Timothy",id:"2Tim"}},previous:{book:{name:"2 Thessalonians",id:"2Thess"}},abbreviations:["1 Tim.","1 Ti.","I Timothy","I Tim.","I Ti.","1Timothy","1Tim.","1Ti.","1st Timothy","1st Tim.","First Timothy","First Tim."],chapters:{1:20,2:15,3:16,4:16,5:25,6:21}},"2TI":{chapterCount:4,chapterVerseCountPairings:{1:18,2:26,3:17,4:22},name:"2 Timothy",abbr:"2TI",ord:"55",book_group_id:"0",testament:"NT",id:"2Tim",usfm_end:"2TI 4:22",next:{book:{name:"Titus",id:"Titus"}},previous:{book:{name:"1 Timothy",id:"1Tim"}},abbreviations:["2 Tim.","2 Ti.","II Timothy","II Tim.","II Ti.","2Timothy","2Tim.","2Ti.","2nd Timothy","2nd Tim.","Second Timothy","Second Tim."],chapters:{1:18,2:26,3:17,4:22}},TIT:{chapterCount:3,chapterVerseCountPairings:{1:16,2:15,3:15},name:"Titus",abbr:"TIT",ord:"56",book_group_id:"0",testament:"NT",id:"Titus",usfm_end:"TIT 3:15",next:{book:{name:"Philemon",id:"Phlm"}},previous:{book:{name:"2 Timothy",id:"2Tim"}},abbreviations:["Titus","Tit","ti"],chapters:{1:16,2:15,3:15}},PHM:{chapterCount:1,chapterVerseCountPairings:{1:25},name:"Philemon",abbr:"PHM",ord:"57",book_group_id:"0",testament:"NT",id:"Phlm",usfm_end:"PHM 1:25",next:{book:{name:"Hebrews",id:"Heb"}},previous:{book:{name:"Titus",id:"Titus"}},abbreviations:["Philem.","Phm.","Pm."],chapters:{1:25}},HEB:{chapterCount:13,chapterVerseCountPairings:{1:14,2:18,3:19,4:16,5:14,6:20,7:28,8:13,9:28,10:39,11:40,12:29,13:25},name:"Hebrews",abbr:"HEB",ord:"58",book_group_id:"0",testament:"NT",id:"Heb",usfm_end:"HEB 13:25",next:{book:{name:"James",id:"Jas"}},previous:{book:{name:"Philemon",id:"Phlm"}},abbreviations:["Heb."],chapters:{1:14,2:18,3:19,4:16,5:14,6:20,7:28,8:13,9:28,10:39,11:40,12:29,13:25}},JAS:{chapterCount:5,chapterVerseCountPairings:{1:27,2:26,3:18,4:17,5:20},name:"James",abbr:"JAS",ord:"59",book_group_id:"0",testament:"NT",id:"Jas",usfm_end:"JAS 5:20",next:{book:{name:"1 Peter",id:"1Pet"}},previous:{book:{name:"Hebrews",id:"Heb"}},abbreviations:["James","Jas","Jm"],chapters:{1:27,2:26,3:18,4:17,5:20}},"1PE":{chapterCount:5,chapterVerseCountPairings:{1:25,2:25,3:22,4:19,5:14},name:"1 Peter",abbr:"1PE",ord:"60",book_group_id:"0",testament:"NT",id:"1Pet",usfm_end:"1PE 5:14",next:{book:{name:"2 Peter",id:"2Pet"}},previous:{book:{name:"James",id:"Jas"}},abbreviations:["1 Pet.","1 Pe.","1 Pt.","1 P.","I Pet.","I Pt.","I Pe.","1Peter","1Pet.","1Pe.","1Pt.","1P.","I Peter","1st Peter","First Peter"],chapters:{1:25,2:25,3:22,4:19,5:14}},"2PE":{chapterCount:3,chapterVerseCountPairings:{1:21,2:22,3:18},name:"2 Peter",abbr:"2PE",ord:"61",book_group_id:"0",testament:"NT",id:"2Pet",usfm_end:"2PE 3:18",next:{book:{name:"1 John",id:"1John"}},previous:{book:{name:"1 Peter",id:"1Pet"}},abbreviations:["2 Pet.","2 Pe.","2 Pt.","2 P.","II Peter","II Pet.","II Pt.","II Pe.","2Peter","2Pet.","2Pe.","2Pt.","2P.","2nd Peter","Second Peter"],chapters:{1:21,2:22,3:18}},"1JN":{chapterCount:5,chapterVerseCountPairings:{1:10,2:29,3:24,4:21,5:21},name:"1 John",abbr:"1JN",ord:"62",book_group_id:"0",testament:"NT",id:"1John",usfm_end:"1JN 5:21",next:{book:{name:"2 John",id:"2John"}},previous:{book:{name:"2 Peter",id:"2Pet"}},abbreviations:["1 John","1 Jhn.","1 Jn.","1 J.","1John","1Jhn.","1Joh.","1Jn.","1Jo.","1J.","I John","I Jhn.","I Joh.","I Jn.","I Jo.","1st John","First John"],chapters:{1:10,2:29,3:24,4:21,5:21}},"2JN":{chapterCount:1,chapterVerseCountPairings:{1:13},name:"2 John",abbr:"2JN",ord:"63",book_group_id:"0",testament:"NT",id:"2John",usfm_end:"2JN 1:13",next:{book:{name:"3 John",id:"3John"}},previous:{book:{name:"1 John",id:"1John"}},abbreviations:["2 John","2 Jhn.","2 Jn.","2 J.","2John","2Jhn.","2Joh.","2Jn.","2Jo.","2J.","II John","II Jhn.","II Joh.","II Jn.","II Jo.","2nd John","Second John"],chapters:{1:13}},"3JN":{chapterCount:1,chapterVerseCountPairings:{1:15},name:"3 John",abbr:"3JN",ord:"64",book_group_id:"0",testament:"NT",id:"3John",usfm_end:"3JN 1:14",next:{book:{name:"Jude",id:"Jude"}},previous:{book:{name:"2 John",id:"2John"}},abbreviations:["3 John","3 Jhn.","3 Jn.","3 J.","3John","3Jhn.","3Joh.","3Jn.","3Jo.","3J.","III John","III Jhn.","III Joh.","III Jn.","III Jo.","3rd John","Third John"],chapters:{1:14}},JUD:{chapterCount:1,chapterVerseCountPairings:{1:25},name:"Jude",abbr:"JUD",ord:"65",book_group_id:"0",testament:"NT",id:"Jude",usfm_end:"JUD 1:25",next:{book:{name:"Revelation",id:"Rev"}},previous:{book:{name:"3 John",id:"3John"}},abbreviations:["Jude","Jud.","Jd."],chapters:{1:25}},REV:{chapterCount:22,chapterVerseCountPairings:{1:20,2:29,3:22,4:11,5:14,6:17,7:17,8:13,9:21,10:11,11:19,12:18,13:18,14:20,15:8,16:21,17:18,18:24,19:21,20:15,21:27,22:21},name:"Revelation",abbr:"REV",ord:"66",book_group_id:"0",testament:"NT",id:"Rev",usfm_end:"REV 22:21",previous:{book:{name:"Jude",id:"Jude"}},abbreviations:["Rev","Re","The Revelation"],chapters:{1:20,2:29,3:22,4:11,5:14,6:17,7:17,8:13,9:21,10:11,11:19,12:17,13:18,14:20,15:8,16:21,17:18,18:24,19:21,20:15,21:27,22:21}}},tt=({onSelectChapter:t})=>{const{state:{bookChapters:e}}=L.useContext(Le);return _.jsx("div",{className:"grid [200px]:grid-cols-3 [400px]:grid-cols-4 gap-4 p-2",children:e.map((s,i)=>_.jsx("div",{children:_.jsx("div",{className:"cursor-pointer hover:text-blue-500",onClick:()=>t(s),children:s})},i))})},st=({onBookClick:t,bookList:e})=>{const{state:{selectedBook:s,showChapterList:i},actions:n}=L.useContext(Le),{setSelectedBook:h,setBookChapters:d,setSelectedChapter:l,setShowChapterList:C}=n,P=o=>{console.log({chapter:o}),l(parseInt(o)),de.postMessage({type:he.UPDATE_CHAPTER,payload:{chapter:o}})},f=o=>{t(o),h(o.fileName);const{chapters:a}=Ye(o.book);console.log({chapters:a}),d(a),C(m=>!m)};return L.useEffect(()=>{C(!0)},[s]),_.jsx("div",{className:"space-y-2",children:_.jsx("div",{className:"space-y-2 ",children:e&&e.length>0&&e.map((o,a)=>_.jsxs("div",{children:[_.jsx("div",{className:"cursor-pointer text-left hover:text-blue-500 rounded border border-gray-300 p-2",onClick:()=>f(o),children:o.book}),s&&s===o.fileName&&i&&_.jsx(tt,{onSelectChapter:P})]},a))})})};var ke={},Se=We;ke.createRoot=Se.createRoot,ke.hydrateRoot=Se.hydrateRoot;var Ce=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(t){return this.listeners.add(t),this.onSubscribe(),()=>{this.listeners.delete(t),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},ve=typeof window>"u"||"Deno"in globalThis;function R(){}function it(t,e){return typeof t=="function"?t(e):t}function rt(t){return typeof t=="number"&&t>=0&&t!==1/0}function nt(t,e){return Math.max(t+(e||0)-Date.now(),0)}function Ee(t,e){return typeof t=="function"?t(e):t}function at(t,e){return typeof t=="function"?t(e):t}function Oe(t,e){const{type:s="all",exact:i,fetchStatus:n,predicate:h,queryKey:d,stale:l}=t;if(d){if(i){if(e.queryHash!==Te(d,e.options))return!1}else if(!le(e.queryKey,d))return!1}if(s!=="all"){const C=e.isActive();if(s==="active"&&!C||s==="inactive"&&C)return!1}return!(typeof l=="boolean"&&e.isStale()!==l||n&&n!==e.state.fetchStatus||h&&!h(e))}function Ie(t,e){const{exact:s,status:i,predicate:n,mutationKey:h}=t;if(h){if(!e.options.mutationKey)return!1;if(s){if(ce(e.options.mutationKey)!==ce(h))return!1}else if(!le(e.options.mutationKey,h))return!1}return!(i&&e.state.status!==i||n&&!n(e))}function Te(t,e){return((e==null?void 0:e.queryKeyHashFn)||ce)(t)}function ce(t){return JSON.stringify(t,(e,s)=>_e(s)?Object.keys(s).sort().reduce((i,n)=>(i[n]=s[n],i),{}):s)}function le(t,e){return t===e?!0:typeof t!=typeof e?!1:t&&e&&typeof t=="object"&&typeof e=="object"?!Object.keys(e).some(s=>!le(t[s],e[s])):!1}function Qe(t,e){if(t===e)return t;const s=xe(t)&&xe(e);if(s||_e(t)&&_e(e)){const i=s?t:Object.keys(t),n=i.length,h=s?e:Object.keys(e),d=h.length,l=s?[]:{};let C=0;for(let P=0;P{setTimeout(e,t)})}function ut(t,e,s){return typeof s.structuralSharing=="function"?s.structuralSharing(t,e):s.structuralSharing!==!1?Qe(t,e):e}function ht(t,e,s=0){const i=[...t,e];return s&&i.length>s?i.slice(1):i}function dt(t,e,s=0){const i=[e,...t];return s&&i.length>s?i.slice(0,-1):i}var qe=Symbol();function Ge(t,e){return!t.queryFn&&(e!=null&&e.initialPromise)?()=>e.initialPromise:!t.queryFn||t.queryFn===qe?()=>Promise.reject(new Error(`Missing queryFn: '${t.queryHash}'`)):t.queryFn}var z,q,ee,Ne,ct=(Ne=class extends Ce{constructor(){super();c(this,z);c(this,q);c(this,ee);u(this,ee,e=>{if(!ve&&window.addEventListener){const s=()=>e();return window.addEventListener("visibilitychange",s,!1),()=>{window.removeEventListener("visibilitychange",s)}}})}onSubscribe(){r(this,q)||this.setEventListener(r(this,ee))}onUnsubscribe(){var e;this.hasListeners()||((e=r(this,q))==null||e.call(this),u(this,q,void 0))}setEventListener(e){var s;u(this,ee,e),(s=r(this,q))==null||s.call(this),u(this,q,e(i=>{typeof i=="boolean"?this.setFocused(i):this.onFocus()}))}setFocused(e){r(this,z)!==e&&(u(this,z,e),this.onFocus())}onFocus(){const e=this.isFocused();this.listeners.forEach(s=>{s(e)})}isFocused(){var e;return typeof r(this,z)=="boolean"?r(this,z):((e=globalThis.document)==null?void 0:e.visibilityState)!=="hidden"}},z=new WeakMap,q=new WeakMap,ee=new WeakMap,Ne),je=new ct,te,G,se,Re,lt=(Re=class extends Ce{constructor(){super();c(this,te,!0);c(this,G);c(this,se);u(this,se,e=>{if(!ve&&window.addEventListener){const s=()=>e(!0),i=()=>e(!1);return window.addEventListener("online",s,!1),window.addEventListener("offline",i,!1),()=>{window.removeEventListener("online",s),window.removeEventListener("offline",i)}}})}onSubscribe(){r(this,G)||this.setEventListener(r(this,se))}onUnsubscribe(){var e;this.hasListeners()||((e=r(this,G))==null||e.call(this),u(this,G,void 0))}setEventListener(e){var s;u(this,se,e),(s=r(this,G))==null||s.call(this),u(this,G,e(this.setOnline.bind(this)))}setOnline(e){r(this,te)!==e&&(u(this,te,e),this.listeners.forEach(i=>{i(e)}))}isOnline(){return r(this,te)}},te=new WeakMap,G=new WeakMap,se=new WeakMap,Re),ge=new lt;function mt(t){return Math.min(1e3*2**t,3e4)}function Ue(t){return(t??"online")==="online"?ge.isOnline():!0}var Be=class extends Error{constructor(t){super("CancelledError"),this.revert=t==null?void 0:t.revert,this.silent=t==null?void 0:t.silent}};function Pe(t){return t instanceof Be}function Ze(t){let e=!1,s=0,i=!1,n,h,d;const l=new Promise((b,v)=>{h=b,d=v}),C=b=>{var v;i||(S(new Be(b)),(v=t.abort)==null||v.call(t))},P=()=>{e=!0},f=()=>{e=!1},o=()=>je.isFocused()&&(t.networkMode==="always"||ge.isOnline())&&t.canRun(),a=()=>Ue(t.networkMode)&&t.canRun(),m=b=>{var v;i||(i=!0,(v=t.onSuccess)==null||v.call(t,b),n==null||n(),h(b))},S=b=>{var v;i||(i=!0,(v=t.onError)==null||v.call(t,b),n==null||n(),d(b))},x=()=>new Promise(b=>{var v;n=p=>{(i||o())&&b(p)},(v=t.onPause)==null||v.call(t)}).then(()=>{var b;n=void 0,i||(b=t.onContinue)==null||b.call(t)}),N=()=>{if(i)return;let b;const v=s===0?t.initialPromise:void 0;try{b=v??t.fn()}catch(p){b=Promise.reject(p)}Promise.resolve(b).then(m).catch(p=>{var y;if(i)return;const k=t.retry??(ve?0:3),E=t.retryDelay??mt,K=typeof E=="function"?E(s,p):E,Y=k===!0||typeof k=="number"&&so()?void 0:x()).then(()=>{e?S(p):N()})})};return{promise:l,cancel:C,continue:()=>(n==null||n(),l),cancelRetry:P,continueRetry:f,canStart:a,start:()=>(a()?N():x().then(N),l)}}function bt(){let t=[],e=0,s=a=>{a()},i=a=>{a()},n=a=>setTimeout(a,0);const h=a=>{n=a},d=a=>{let m;e++;try{m=a()}finally{e--,e||P()}return m},l=a=>{e?t.push(a):n(()=>{s(a)})},C=a=>(...m)=>{l(()=>{a(...m)})},P=()=>{const a=t;t=[],a.length&&n(()=>{i(()=>{a.forEach(m=>{s(m)})})})};return{batch:d,batchCalls:C,schedule:l,setNotifyFunction:a=>{s=a},setBatchNotifyFunction:a=>{i=a},setScheduler:h}}var I=bt(),W,we,ze=(we=class{constructor(){c(this,W)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),rt(this.gcTime)&&u(this,W,setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(t){this.gcTime=Math.max(this.gcTime||0,t??(ve?1/0:5*60*1e3))}clearGcTimeout(){r(this,W)&&(clearTimeout(r(this,W)),u(this,W,void 0))}},W=new WeakMap,we),ie,re,A,J,me,X,w,V,He,pt=(He=class extends ze{constructor(e){super();c(this,w);c(this,ie);c(this,re);c(this,A);c(this,J);c(this,me);c(this,X);u(this,X,!1),u(this,me,e.defaultOptions),this.setOptions(e.options),this.observers=[],u(this,A,e.cache),this.queryKey=e.queryKey,this.queryHash=e.queryHash,u(this,ie,gt(this.options)),this.state=e.state??r(this,ie),this.scheduleGc()}get meta(){return this.options.meta}get promise(){var e;return(e=r(this,J))==null?void 0:e.promise}setOptions(e){this.options={...r(this,me),...e},this.updateGcTime(this.options.gcTime)}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&r(this,A).remove(this)}setData(e,s){const i=ut(this.state.data,e,this.options);return T(this,w,V).call(this,{data:i,type:"success",dataUpdatedAt:s==null?void 0:s.updatedAt,manual:s==null?void 0:s.manual}),i}setState(e,s){T(this,w,V).call(this,{type:"setState",state:e,setStateOptions:s})}cancel(e){var i,n;const s=(i=r(this,J))==null?void 0:i.promise;return(n=r(this,J))==null||n.cancel(e),s?s.then(R).catch(R):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(r(this,ie))}isActive(){return this.observers.some(e=>at(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0&&!this.isActive()}isStale(){return this.state.isInvalidated?!0:this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0}isStaleByTime(e=0){return this.state.isInvalidated||this.state.data===void 0||!nt(this.state.dataUpdatedAt,e)}onFocus(){var s;const e=this.observers.find(i=>i.shouldFetchOnWindowFocus());e==null||e.refetch({cancelRefetch:!1}),(s=r(this,J))==null||s.continue()}onOnline(){var s;const e=this.observers.find(i=>i.shouldFetchOnReconnect());e==null||e.refetch({cancelRefetch:!1}),(s=r(this,J))==null||s.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),r(this,A).notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(s=>s!==e),this.observers.length||(r(this,J)&&(r(this,X)?r(this,J).cancel({revert:!0}):r(this,J).cancelRetry()),this.scheduleGc()),r(this,A).notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||T(this,w,V).call(this,{type:"invalidate"})}fetch(e,s){var C,P,f;if(this.state.fetchStatus!=="idle"){if(this.state.data!==void 0&&(s!=null&&s.cancelRefetch))this.cancel({silent:!0});else if(r(this,J))return r(this,J).continueRetry(),r(this,J).promise}if(e&&this.setOptions(e),!this.options.queryFn){const o=this.observers.find(a=>a.options.queryFn);o&&this.setOptions(o.options)}const i=new AbortController,n=o=>{Object.defineProperty(o,"signal",{enumerable:!0,get:()=>(u(this,X,!0),i.signal)})},h=()=>{const o=Ge(this.options,s),a={queryKey:this.queryKey,meta:this.meta};return n(a),u(this,X,!1),this.options.persister?this.options.persister(o,a,this):o(a)},d={fetchOptions:s,options:this.options,queryKey:this.queryKey,state:this.state,fetchFn:h};n(d),(C=this.options.behavior)==null||C.onFetch(d,this),u(this,re,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((P=d.fetchOptions)==null?void 0:P.meta))&&T(this,w,V).call(this,{type:"fetch",meta:(f=d.fetchOptions)==null?void 0:f.meta});const l=o=>{var a,m,S,x;Pe(o)&&o.silent||T(this,w,V).call(this,{type:"error",error:o}),Pe(o)||((m=(a=r(this,A).config).onError)==null||m.call(a,o,this),(x=(S=r(this,A).config).onSettled)==null||x.call(S,this.state.data,o,this)),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1};return u(this,J,Ze({initialPromise:s==null?void 0:s.initialPromise,fn:d.fetchFn,abort:i.abort.bind(i),onSuccess:o=>{var a,m,S,x;if(o===void 0){l(new Error(`${this.queryHash} data is undefined`));return}try{this.setData(o)}catch(N){l(N);return}(m=(a=r(this,A).config).onSuccess)==null||m.call(a,o,this),(x=(S=r(this,A).config).onSettled)==null||x.call(S,o,this.state.error,this),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1},onError:l,onFail:(o,a)=>{T(this,w,V).call(this,{type:"failed",failureCount:o,error:a})},onPause:()=>{T(this,w,V).call(this,{type:"pause"})},onContinue:()=>{T(this,w,V).call(this,{type:"continue"})},retry:d.options.retry,retryDelay:d.options.retryDelay,networkMode:d.options.networkMode,canRun:()=>!0})),r(this,J).start()}},ie=new WeakMap,re=new WeakMap,A=new WeakMap,J=new WeakMap,me=new WeakMap,X=new WeakMap,w=new WeakSet,V=function(e){const s=i=>{switch(e.type){case"failed":return{...i,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...i,fetchStatus:"paused"};case"continue":return{...i,fetchStatus:"fetching"};case"fetch":return{...i,...ft(i.data,this.options),fetchMeta:e.meta??null};case"success":return{...i,data:e.data,dataUpdateCount:i.dataUpdateCount+1,dataUpdatedAt:e.dataUpdatedAt??Date.now(),error:null,isInvalidated:!1,status:"success",...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const n=e.error;return Pe(n)&&n.revert&&r(this,re)?{...r(this,re),fetchStatus:"idle"}:{...i,error:n,errorUpdateCount:i.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:i.fetchFailureCount+1,fetchFailureReason:n,fetchStatus:"idle",status:"error"};case"invalidate":return{...i,isInvalidated:!0};case"setState":return{...i,...e.state}}};this.state=s(this.state),I.batch(()=>{this.observers.forEach(i=>{i.onQueryUpdate()}),r(this,A).notify({query:this,type:"updated",action:e})})},He);function ft(t,e){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Ue(e.networkMode)?"fetching":"paused",...t===void 0&&{error:null,status:"pending"}}}function gt(t){const e=typeof t.initialData=="function"?t.initialData():t.initialData,s=e!==void 0,i=s?typeof t.initialDataUpdatedAt=="function"?t.initialDataUpdatedAt():t.initialDataUpdatedAt:0;return{data:e,dataUpdateCount:0,dataUpdatedAt:s?i??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:s?"success":"pending",fetchStatus:"idle"}}var H,Fe,Ct=(Fe=class extends Ce{constructor(e={}){super();c(this,H);this.config=e,u(this,H,new Map)}build(e,s,i){const n=s.queryKey,h=s.queryHash??Te(n,s);let d=this.get(h);return d||(d=new pt({cache:this,queryKey:n,queryHash:h,options:e.defaultQueryOptions(s),state:i,defaultOptions:e.getQueryDefaults(n)}),this.add(d)),d}add(e){r(this,H).has(e.queryHash)||(r(this,H).set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){const s=r(this,H).get(e.queryHash);s&&(e.destroy(),s===e&&r(this,H).delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){I.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return r(this,H).get(e)}getAll(){return[...r(this,H).values()]}find(e){const s={exact:!0,...e};return this.getAll().find(i=>Oe(s,i))}findAll(e={}){const s=this.getAll();return Object.keys(e).length>0?s.filter(i=>Oe(e,i)):s}notify(e){I.batch(()=>{this.listeners.forEach(s=>{s(e)})})}onFocus(){I.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){I.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},H=new WeakMap,Fe),F,O,$,D,Q,De,vt=(De=class extends ze{constructor(e){super();c(this,D);c(this,F);c(this,O);c(this,$);this.mutationId=e.mutationId,u(this,O,e.mutationCache),u(this,F,[]),this.state=e.state||yt(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){r(this,F).includes(e)||(r(this,F).push(e),this.clearGcTimeout(),r(this,O).notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){u(this,F,r(this,F).filter(s=>s!==e)),this.scheduleGc(),r(this,O).notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){r(this,F).length||(this.state.status==="pending"?this.scheduleGc():r(this,O).remove(this))}continue(){var e;return((e=r(this,$))==null?void 0:e.continue())??this.execute(this.state.variables)}async execute(e){var n,h,d,l,C,P,f,o,a,m,S,x,N,b,v,p,k,E,K,Y;u(this,$,Ze({fn:()=>this.options.mutationFn?this.options.mutationFn(e):Promise.reject(new Error("No mutationFn found")),onFail:(y,Z)=>{T(this,D,Q).call(this,{type:"failed",failureCount:y,error:Z})},onPause:()=>{T(this,D,Q).call(this,{type:"pause"})},onContinue:()=>{T(this,D,Q).call(this,{type:"continue"})},retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>r(this,O).canRun(this)}));const s=this.state.status==="pending",i=!r(this,$).canStart();try{if(!s){T(this,D,Q).call(this,{type:"pending",variables:e,isPaused:i}),await((h=(n=r(this,O).config).onMutate)==null?void 0:h.call(n,e,this));const Z=await((l=(d=this.options).onMutate)==null?void 0:l.call(d,e));Z!==this.state.context&&T(this,D,Q).call(this,{type:"pending",context:Z,variables:e,isPaused:i})}const y=await r(this,$).start();return await((P=(C=r(this,O).config).onSuccess)==null?void 0:P.call(C,y,e,this.state.context,this)),await((o=(f=this.options).onSuccess)==null?void 0:o.call(f,y,e,this.state.context)),await((m=(a=r(this,O).config).onSettled)==null?void 0:m.call(a,y,null,this.state.variables,this.state.context,this)),await((x=(S=this.options).onSettled)==null?void 0:x.call(S,y,null,e,this.state.context)),T(this,D,Q).call(this,{type:"success",data:y}),y}catch(y){try{throw await((b=(N=r(this,O).config).onError)==null?void 0:b.call(N,y,e,this.state.context,this)),await((p=(v=this.options).onError)==null?void 0:p.call(v,y,e,this.state.context)),await((E=(k=r(this,O).config).onSettled)==null?void 0:E.call(k,void 0,y,this.state.variables,this.state.context,this)),await((Y=(K=this.options).onSettled)==null?void 0:Y.call(K,void 0,y,e,this.state.context)),y}finally{T(this,D,Q).call(this,{type:"error",error:y})}}finally{r(this,O).runNext(this)}}},F=new WeakMap,O=new WeakMap,$=new WeakMap,D=new WeakSet,Q=function(e){const s=i=>{switch(e.type){case"failed":return{...i,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...i,isPaused:!0};case"continue":return{...i,isPaused:!1};case"pending":return{...i,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...i,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...i,data:void 0,error:e.error,failureCount:i.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}};this.state=s(this.state),I.batch(()=>{r(this,F).forEach(i=>{i.onMutationUpdate(e)}),r(this,O).notify({mutation:this,type:"updated",action:e})})},De);function yt(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var M,be,Ke,Pt=(Ke=class extends Ce{constructor(e={}){super();c(this,M);c(this,be);this.config=e,u(this,M,new Map),u(this,be,Date.now())}build(e,s,i){const n=new vt({mutationCache:this,mutationId:++pe(this,be)._,options:e.defaultMutationOptions(s),state:i});return this.add(n),n}add(e){const s=fe(e),i=r(this,M).get(s)??[];i.push(e),r(this,M).set(s,i),this.notify({type:"added",mutation:e})}remove(e){var i;const s=fe(e);if(r(this,M).has(s)){const n=(i=r(this,M).get(s))==null?void 0:i.filter(h=>h!==e);n&&(n.length===0?r(this,M).delete(s):r(this,M).set(s,n))}this.notify({type:"removed",mutation:e})}canRun(e){var i;const s=(i=r(this,M).get(fe(e)))==null?void 0:i.find(n=>n.state.status==="pending");return!s||s===e}runNext(e){var i;const s=(i=r(this,M).get(fe(e)))==null?void 0:i.find(n=>n!==e&&n.state.isPaused);return(s==null?void 0:s.continue())??Promise.resolve()}clear(){I.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}getAll(){return[...r(this,M).values()].flat()}find(e){const s={exact:!0,...e};return this.getAll().find(i=>Ie(s,i))}findAll(e={}){return this.getAll().filter(s=>Ie(e,s))}notify(e){I.batch(()=>{this.listeners.forEach(s=>{s(e)})})}resumePausedMutations(){const e=this.getAll().filter(s=>s.state.isPaused);return I.batch(()=>Promise.all(e.map(s=>s.continue().catch(R))))}},M=new WeakMap,be=new WeakMap,Ke);function fe(t){var e;return((e=t.options.scope)==null?void 0:e.id)??String(t.mutationId)}function kt(t){return{onFetch:(e,s)=>{const i=async()=>{var S,x,N,b,v;const n=e.options,h=(N=(x=(S=e.fetchOptions)==null?void 0:S.meta)==null?void 0:x.fetchMore)==null?void 0:N.direction,d=((b=e.state.data)==null?void 0:b.pages)||[],l=((v=e.state.data)==null?void 0:v.pageParams)||[],C={pages:[],pageParams:[]};let P=!1;const f=p=>{Object.defineProperty(p,"signal",{enumerable:!0,get:()=>(e.signal.aborted?P=!0:e.signal.addEventListener("abort",()=>{P=!0}),e.signal)})},o=Ge(e.options,e.fetchOptions),a=async(p,k,E)=>{if(P)return Promise.reject();if(k==null&&p.pages.length)return Promise.resolve(p);const K={queryKey:e.queryKey,pageParam:k,direction:E?"backward":"forward",meta:e.options.meta};f(K);const Y=await o(K),{maxPages:y}=e.options,Z=E?dt:ht;return{pages:Z(p.pages,Y,y),pageParams:Z(p.pageParams,k,y)}};let m;if(h&&d.length){const p=h==="backward",k=p?_t:Ae,E={pages:d,pageParams:l},K=k(n,E);m=await a(E,K,p)}else{m=await a(C,l[0]??n.initialPageParam);const p=t??d.length;for(let k=1;k{var n,h;return(h=(n=e.options).persister)==null?void 0:h.call(n,i,{queryKey:e.queryKey,meta:e.options.meta,signal:e.signal},s)}:e.fetchFn=i}}}function Ae(t,{pages:e,pageParams:s}){const i=e.length-1;return e.length>0?t.getNextPageParam(e[i],e,s[i],s):void 0}function _t(t,{pages:e,pageParams:s}){var i;return e.length>0?(i=t.getPreviousPageParam)==null?void 0:i.call(t,e[0],e,s[0],s):void 0}var g,j,U,ne,ae,B,oe,ue,Ve,Tt=(Ve=class{constructor(t={}){c(this,g);c(this,j);c(this,U);c(this,ne);c(this,ae);c(this,B);c(this,oe);c(this,ue);u(this,g,t.queryCache||new Ct),u(this,j,t.mutationCache||new Pt),u(this,U,t.defaultOptions||{}),u(this,ne,new Map),u(this,ae,new Map),u(this,B,0)}mount(){pe(this,B)._++,r(this,B)===1&&(u(this,oe,je.subscribe(async t=>{t&&(await this.resumePausedMutations(),r(this,g).onFocus())})),u(this,ue,ge.subscribe(async t=>{t&&(await this.resumePausedMutations(),r(this,g).onOnline())})))}unmount(){var t,e;pe(this,B)._--,r(this,B)===0&&((t=r(this,oe))==null||t.call(this),u(this,oe,void 0),(e=r(this,ue))==null||e.call(this),u(this,ue,void 0))}isFetching(t){return r(this,g).findAll({...t,fetchStatus:"fetching"}).length}isMutating(t){return r(this,j).findAll({...t,status:"pending"}).length}getQueryData(t){var s;const e=this.defaultQueryOptions({queryKey:t});return(s=r(this,g).get(e.queryHash))==null?void 0:s.state.data}ensureQueryData(t){const e=this.getQueryData(t.queryKey);if(e===void 0)return this.fetchQuery(t);{const s=this.defaultQueryOptions(t),i=r(this,g).build(this,s);return t.revalidateIfStale&&i.isStaleByTime(Ee(s.staleTime,i))&&this.prefetchQuery(s),Promise.resolve(e)}}getQueriesData(t){return r(this,g).findAll(t).map(({queryKey:e,state:s})=>{const i=s.data;return[e,i]})}setQueryData(t,e,s){const i=this.defaultQueryOptions({queryKey:t}),n=r(this,g).get(i.queryHash),h=n==null?void 0:n.state.data,d=it(e,h);if(d!==void 0)return r(this,g).build(this,i).setData(d,{...s,manual:!0})}setQueriesData(t,e,s){return I.batch(()=>r(this,g).findAll(t).map(({queryKey:i})=>[i,this.setQueryData(i,e,s)]))}getQueryState(t){var s;const e=this.defaultQueryOptions({queryKey:t});return(s=r(this,g).get(e.queryHash))==null?void 0:s.state}removeQueries(t){const e=r(this,g);I.batch(()=>{e.findAll(t).forEach(s=>{e.remove(s)})})}resetQueries(t,e){const s=r(this,g),i={type:"active",...t};return I.batch(()=>(s.findAll(t).forEach(n=>{n.reset()}),this.refetchQueries(i,e)))}cancelQueries(t={},e={}){const s={revert:!0,...e},i=I.batch(()=>r(this,g).findAll(t).map(n=>n.cancel(s)));return Promise.all(i).then(R).catch(R)}invalidateQueries(t={},e={}){return I.batch(()=>{if(r(this,g).findAll(t).forEach(i=>{i.invalidate()}),t.refetchType==="none")return Promise.resolve();const s={...t,type:t.refetchType??t.type??"active"};return this.refetchQueries(s,e)})}refetchQueries(t={},e){const s={...e,cancelRefetch:(e==null?void 0:e.cancelRefetch)??!0},i=I.batch(()=>r(this,g).findAll(t).filter(n=>!n.isDisabled()).map(n=>{let h=n.fetch(void 0,s);return s.throwOnError||(h=h.catch(R)),n.state.fetchStatus==="paused"?Promise.resolve():h}));return Promise.all(i).then(R)}fetchQuery(t){const e=this.defaultQueryOptions(t);e.retry===void 0&&(e.retry=!1);const s=r(this,g).build(this,e);return s.isStaleByTime(Ee(e.staleTime,s))?s.fetch(e):Promise.resolve(s.state.data)}prefetchQuery(t){return this.fetchQuery(t).then(R).catch(R)}fetchInfiniteQuery(t){return t.behavior=kt(t.pages),this.fetchQuery(t)}prefetchInfiniteQuery(t){return this.fetchInfiniteQuery(t).then(R).catch(R)}resumePausedMutations(){return ge.isOnline()?r(this,j).resumePausedMutations():Promise.resolve()}getQueryCache(){return r(this,g)}getMutationCache(){return r(this,j)}getDefaultOptions(){return r(this,U)}setDefaultOptions(t){u(this,U,t)}setQueryDefaults(t,e){r(this,ne).set(ce(t),{queryKey:t,defaultOptions:e})}getQueryDefaults(t){const e=[...r(this,ne).values()];let s={};return e.forEach(i=>{le(t,i.queryKey)&&(s={...s,...i.defaultOptions})}),s}setMutationDefaults(t,e){r(this,ae).set(ce(t),{mutationKey:t,defaultOptions:e})}getMutationDefaults(t){const e=[...r(this,ae).values()];let s={};return e.forEach(i=>{le(t,i.mutationKey)&&(s={...s,...i.defaultOptions})}),s}defaultQueryOptions(t){if(t._defaulted)return t;const e={...r(this,U).queries,...this.getQueryDefaults(t.queryKey),...t,_defaulted:!0};return e.queryHash||(e.queryHash=Te(e.queryKey,e)),e.refetchOnReconnect===void 0&&(e.refetchOnReconnect=e.networkMode!=="always"),e.throwOnError===void 0&&(e.throwOnError=!!e.suspense),!e.networkMode&&e.persister&&(e.networkMode="offlineFirst"),e.enabled!==!0&&e.queryFn===qe&&(e.enabled=!1),e}defaultMutationOptions(t){return t!=null&&t._defaulted?t:{...r(this,U).mutations,...(t==null?void 0:t.mutationKey)&&this.getMutationDefaults(t.mutationKey),...t,_defaulted:!0}}clear(){r(this,g).clear(),r(this,j).clear()}},g=new WeakMap,j=new WeakMap,U=new WeakMap,ne=new WeakMap,ae=new WeakMap,B=new WeakMap,oe=new WeakMap,ue=new WeakMap,Ve),Jt=L.createContext(void 0),St=({client:t,children:e})=>(L.useEffect(()=>(t.mount(),()=>{t.unmount()}),[t]),_.jsx(Jt.Provider,{value:t,children:e}));const Et=new Tt,Ot=({children:t})=>(L.useEffect(()=>{de.setMessageListeners(e=>{console.log("providers:",e)})},[]),_.jsx(St,{client:Et,children:t})),It=t=>{ke.createRoot(document.getElementById("root")).render(_.jsx(Xe.StrictMode,{children:_.jsx(Ot,{children:t})}))},xt=()=>{const[t,e]=L.useState(void 0);L.useEffect(()=>{},[t]);const s=i=>{de.postMessage({type:he.OPEN_USFM_FILE,payload:{...i}})};return L.useEffect(()=>{de.setMessageListeners(i=>{switch(i.data.type){case he.BOOKS_IN_WORKSPACE_RESPONSE:e(i.data.payload),console.log("URI message received.",i.data.payload);break;case he.SCROLL_TO_CHAPTER:console.log("scroll to chapter received",i.data.payload);break}}),de.postMessage({type:he.SEND_BOOKS_IN_WORKSPACE,payload:"usfmExplorer"})},[]),_.jsx($e,{children:_.jsx("div",{className:"p-4",children:_.jsx("div",{className:"space-y-4",children:_.jsx(st,{onBookClick:s,bookList:t})})})})};It(_.jsx(xt,{})); +var Je=t=>{throw TypeError(t)};var ye=(t,e,s)=>e.has(t)||Je("Cannot "+s);var i=(t,e,s)=>(ye(t,e,"read from private field"),s?s.call(t):e.get(t)),c=(t,e,s)=>e.has(t)?Je("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,s),u=(t,e,s,r)=>(ye(t,e,"write to private field"),r?r.call(t,s):e.set(t,s),s),T=(t,e,s)=>(ye(t,e,"access private method"),s);var pe=(t,e,s,r)=>({set _(n){u(t,e,n,s)},get _(){return i(t,e,r)}});import{r as L,d as Qe,j as _,v as de,M as he,e as Xe,R as $e,a as Ye}from"../App.js";function et(t){const e=tt[t];return console.log({book:t,bookData:e}),{chapters:Object.keys(e.chapters),chapterCount:e.chapterCount}}const tt={GEN:{chapterCount:50,chapterVerseCountPairings:{1:31,2:25,3:24,4:26,5:32,6:22,7:24,8:22,9:29,10:32,11:32,12:20,13:18,14:24,15:21,16:16,17:27,18:33,19:38,20:18,21:34,22:24,23:20,24:67,25:34,26:35,27:46,28:22,29:35,30:43,31:54,32:33,33:20,34:31,35:29,36:43,37:36,38:30,39:23,40:23,41:57,42:38,43:34,44:34,45:28,46:34,47:31,48:22,49:33,50:26},name:"Genesis",abbr:"GEN",ord:"01",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Gen",usfm_end:"GEN 50:26",next:{book:{name:"Exodus",id:"Exod"}},abbreviations:["Gen.","Ge.","Gn."],chapters:{1:31,2:25,3:24,4:26,5:32,6:22,7:24,8:22,9:29,10:32,11:32,12:20,13:18,14:24,15:21,16:16,17:27,18:33,19:38,20:18,21:34,22:24,23:20,24:67,25:34,26:35,27:46,28:22,29:35,30:43,31:55,32:32,33:20,34:31,35:29,36:43,37:36,38:30,39:23,40:23,41:57,42:38,43:34,44:34,45:28,46:34,47:31,48:22,49:33,50:26}},EXO:{chapterCount:40,chapterVerseCountPairings:{1:22,2:25,3:22,4:31,5:23,6:30,7:29,8:28,9:35,10:29,11:10,12:51,13:22,14:31,15:27,16:36,17:16,18:27,19:25,20:26,21:37,22:30,23:33,24:18,25:40,26:37,27:21,28:43,29:46,30:38,31:18,32:35,33:23,34:35,35:35,36:38,37:29,38:31,39:43,40:38},name:"Exodus",abbr:"EXO",ord:"02",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Exod",usfm_end:"EXO 40:38",next:{book:{name:"Leviticus",id:"Lev"}},previous:{book:{name:"Genesis",id:"Gen"}},abbreviations:["Ex.","Exod.","Exo."],chapters:{1:22,2:25,3:22,4:31,5:23,6:30,7:25,8:32,9:35,10:29,11:10,12:51,13:22,14:31,15:27,16:36,17:16,18:27,19:25,20:26,21:36,22:31,23:33,24:18,25:40,26:37,27:21,28:43,29:46,30:38,31:18,32:35,33:23,34:35,35:35,36:38,37:29,38:31,39:43,40:38}},LEV:{chapterCount:27,chapterVerseCountPairings:{1:17,2:16,3:17,4:35,5:26,6:23,7:38,8:36,9:24,10:20,11:47,12:8,13:59,14:57,15:33,16:34,17:16,18:30,19:37,20:27,21:24,22:33,23:44,24:23,25:55,26:46,27:34},name:"Leviticus",abbr:"LEV",ord:"03",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Lev",usfm_end:"LEV 27:34",next:{book:{name:"Numbers",id:"Num"}},previous:{book:{name:"Exodus",id:"Exod"}},abbreviations:["Lev.","Le.","Lv."],chapters:{1:17,2:16,3:17,4:35,5:19,6:30,7:38,8:36,9:24,10:20,11:47,12:8,13:59,14:57,15:33,16:34,17:16,18:30,19:37,20:27,21:24,22:33,23:44,24:23,25:55,26:46,27:34}},NUM:{chapterCount:36,chapterVerseCountPairings:{1:54,2:34,3:51,4:49,5:31,6:27,7:89,8:26,9:23,10:36,11:35,12:16,13:33,14:45,15:41,16:35,17:28,18:32,19:22,20:29,21:35,22:41,23:30,24:25,25:19,26:65,27:23,28:31,29:39,30:17,31:54,32:42,33:56,34:29,35:34,36:13},name:"Numbers",abbr:"NUM",ord:"04",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Num",usfm_end:"NUM 36:13",next:{book:{name:"Deuteronomy",id:"Deut"}},previous:{book:{name:"Leviticus",id:"Lev"}},abbreviations:["Num.","Nu.","Nm.","Nb."],chapters:{1:54,2:34,3:51,4:49,5:31,6:27,7:89,8:26,9:23,10:36,11:35,12:16,13:33,14:45,15:41,16:50,17:13,18:32,19:22,20:29,21:35,22:41,23:30,24:25,25:18,26:65,27:23,28:31,29:40,30:16,31:54,32:42,33:56,34:29,35:34,36:13}},DEU:{chapterCount:34,chapterVerseCountPairings:{1:46,2:37,3:29,4:49,5:33,6:25,7:26,8:20,9:29,10:22,11:32,12:31,13:19,14:29,15:23,16:22,17:20,18:22,19:21,20:20,21:23,22:29,23:26,24:22,25:19,26:19,27:26,28:69,29:28,30:20,31:30,32:52,33:29,34:12},name:"Deuteronomy",abbr:"DEU",ord:"05",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Deut",usfm_end:"DEU 34:12",next:{book:{name:"Joshua",id:"Josh"}},previous:{book:{name:"Numbers",id:"Num"}},abbreviations:["Deut.","De.","Dt."],chapters:{1:46,2:37,3:29,4:49,5:33,6:25,7:26,8:20,9:29,10:22,11:32,12:32,13:18,14:29,15:23,16:22,17:20,18:22,19:21,20:20,21:23,22:30,23:25,24:22,25:19,26:19,27:26,28:68,29:29,30:20,31:30,32:52,33:29,34:12}},JOS:{chapterCount:24,chapterVerseCountPairings:{1:18,2:24,3:17,4:24,5:15,6:27,7:26,8:35,9:27,10:43,11:23,12:24,13:33,14:15,15:63,16:10,17:18,18:28,19:51,20:9,21:45,22:34,23:16,24:33},name:"Joshua",abbr:"JOS",ord:"06",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Josh",usfm_end:"JOS 24:33",next:{book:{name:"Judges",id:"Judg"}},previous:{book:{name:"Deuteronomy",id:"Deut"}},abbreviations:["Josh.","Jos.","Jsh."],chapters:{1:18,2:24,3:17,4:24,5:15,6:27,7:26,8:35,9:27,10:43,11:23,12:24,13:33,14:15,15:63,16:10,17:18,18:28,19:51,20:9,21:45,22:34,23:16,24:33}},JDG:{chapterCount:21,chapterVerseCountPairings:{1:36,2:23,3:31,4:24,5:31,6:40,7:25,8:35,9:57,10:18,11:40,12:15,13:25,14:20,15:20,16:31,17:13,18:31,19:30,20:48,21:25},name:"Judges",abbr:"JDG",ord:"07",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Judg",usfm_end:"JDG 21:25",next:{book:{name:"Ruth",id:"Ruth"}},previous:{book:{name:"Joshua",id:"Josh"}},abbreviations:["Judg.","Jdg.","Jg.","Jdgs."],chapters:{1:36,2:23,3:31,4:24,5:31,6:40,7:25,8:35,9:57,10:18,11:40,12:15,13:25,14:20,15:20,16:31,17:13,18:31,19:30,20:48,21:25}},RUT:{chapterCount:4,chapterVerseCountPairings:{1:22,2:23,3:18,4:22},name:"Ruth",abbr:"RUT",ord:"08",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Ruth",usfm_end:"RUT 4:22",next:{book:{name:"1 Samuel",id:"1Sam"}},previous:{book:{name:"Judges",id:"Judg"}},abbreviations:["Ruth","Rth.","Ru."],chapters:{1:22,2:23,3:18,4:22}},"1SA":{chapterCount:31,chapterVerseCountPairings:{1:28,2:36,3:21,4:22,5:12,6:21,7:17,8:22,9:27,10:27,11:15,12:25,13:23,14:52,15:35,16:23,17:58,18:30,19:24,20:42,21:16,22:23,23:28,24:23,25:44,26:25,27:12,28:25,29:11,30:31,31:13},name:"1 Samuel",abbr:"1SA",ord:"09",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"1Sam",usfm_end:"1SA 31:13",next:{book:{name:"2 Samuel",id:"2Sam"}},previous:{book:{name:"Ruth",id:"Ruth"}},abbreviations:["1 Sam.","1 Sm.","1 Sa.","1 S.","I Sam.","I Sa.","1Sam.","1Sa.","1S.","1st Samuel","1st Sam.","First Samuel","First Sam."],chapters:{1:28,2:36,3:21,4:22,5:12,6:21,7:17,8:22,9:27,10:27,11:15,12:25,13:23,14:52,15:35,16:23,17:58,18:30,19:24,20:42,21:15,22:23,23:29,24:22,25:44,26:25,27:12,28:25,29:11,30:31,31:13}},"2SA":{chapterCount:24,chapterVerseCountPairings:{1:27,2:32,3:39,4:12,5:25,6:23,7:29,8:18,9:13,10:19,11:27,12:31,13:39,14:33,15:37,16:23,17:29,18:32,19:44,20:26,21:22,22:51,23:39,24:25},name:"2 Samuel",abbr:"2SA",ord:"10",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"2Sam",usfm_end:"2SA 24:25",next:{book:{name:"1 Kings",id:"1Kgs"}},previous:{book:{name:"1 Samuel",id:"1Sam"}},abbreviations:["2 Sam.","2 Sm.","2 Sa.","2 S.","II Sam.","II Sa.","2Sam.","2Sa.","2S.","2nd Samuel","2nd Sam.","Second Samuel","Second Sam."],chapters:{1:27,2:32,3:39,4:12,5:25,6:23,7:29,8:18,9:13,10:19,11:27,12:31,13:39,14:33,15:37,16:23,17:29,18:33,19:43,20:26,21:22,22:51,23:39,24:25}},"1KI":{chapterCount:22,chapterVerseCountPairings:{1:53,2:46,3:28,4:20,5:32,6:38,7:51,8:66,9:28,10:29,11:43,12:33,13:34,14:31,15:34,16:34,17:24,18:46,19:21,20:43,21:29,22:54},name:"1 Kings",abbr:"1KI",ord:"11",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"1Kgs",usfm_end:"1KI 22:53",next:{book:{name:"2 Kings",id:"2Kgs"}},previous:{book:{name:"2 Samuel",id:"2Sam"}},abbreviations:["1 Kings","1 Kgs","1 Ki","1Kgs","1Kin","1Ki","1K","I Kgs","I Ki","1st Kings","1st Kgs","First Kings","First Kgs"],chapters:{1:53,2:46,3:28,4:34,5:18,6:38,7:51,8:66,9:28,10:29,11:43,12:33,13:34,14:31,15:34,16:34,17:24,18:46,19:21,20:43,21:29,22:53}},"2KI":{chapterCount:25,chapterVerseCountPairings:{1:18,2:25,3:27,4:44,5:27,6:33,7:20,8:29,9:37,10:36,11:20,12:22,13:25,14:29,15:38,16:20,17:41,18:37,19:37,20:21,21:26,22:20,23:37,24:20,25:30},name:"2 Kings",abbr:"2KI",ord:"12",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"2Kgs",usfm_end:"2KI 25:30",next:{book:{name:"1 Chronicles",id:"1Chr"}},previous:{book:{name:"1 Kings",id:"1Kgs"}},abbreviations:["2 Kings","2 Kgs.","2 Ki.","2Kgs.","2Kin.","2Ki.","2K.","II Kgs.","II Ki.","2nd Kings","2nd Kgs.","Second Kings","Second Kgs."],chapters:{1:18,2:25,3:27,4:44,5:27,6:33,7:20,8:29,9:37,10:36,11:21,12:21,13:25,14:29,15:38,16:20,17:41,18:37,19:37,20:21,21:26,22:20,23:37,24:20,25:30}},"1CH":{chapterCount:29,chapterVerseCountPairings:{1:54,2:55,3:24,4:43,5:41,6:66,7:40,8:40,9:44,10:14,11:47,12:41,13:14,14:17,15:29,16:43,17:27,18:17,19:19,20:8,21:30,22:19,23:32,24:31,25:31,26:32,27:34,28:21,29:30},name:"1 Chronicles",abbr:"1CH",ord:"13",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"1Chr",usfm_end:"1CH 29:30",next:{book:{name:"2 Chronicles",id:"2Chr"}},previous:{book:{name:"2 Kings",id:"2Kgs"}},abbreviations:["1 Chron.","1 Chr.","1 Ch.","1Chron.","1Chr.","1Ch.","I Chron.","I Chr.","I Ch.","1st Chronicles","1st Chron.","First Chronicles","First Chron."],chapters:{1:54,2:55,3:24,4:43,5:26,6:81,7:40,8:40,9:44,10:14,11:47,12:40,13:14,14:17,15:29,16:43,17:27,18:17,19:19,20:8,21:30,22:19,23:32,24:31,25:31,26:32,27:34,28:21,29:30}},"2CH":{chapterCount:36,chapterVerseCountPairings:{1:18,2:17,3:17,4:22,5:14,6:42,7:22,8:18,9:31,10:19,11:23,12:16,13:23,14:14,15:19,16:14,17:19,18:34,19:11,20:37,21:20,22:12,23:21,24:27,25:28,26:23,27:9,28:27,29:36,30:27,31:21,32:33,33:25,34:33,35:27,36:23},name:"2 Chronicles",abbr:"2CH",ord:"14",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"2Chr",usfm_end:"2CH 36:23",next:{book:{name:"Ezra",id:"Ezra"}},previous:{book:{name:"1 Chronicles",id:"1Chr"}},abbreviations:["2 Chron.","2 Chr.","2 Ch.","2Chron.","2Chr.","2Ch.","II Chron.","II Chr.","II Ch.","2nd Chronicles","2nd Chron.","Second Chronicles","Second Chron."],chapters:{1:17,2:18,3:17,4:22,5:14,6:42,7:22,8:18,9:31,10:19,11:23,12:16,13:22,14:15,15:19,16:14,17:19,18:34,19:11,20:37,21:20,22:12,23:21,24:27,25:28,26:23,27:9,28:27,29:36,30:27,31:21,32:33,33:25,34:33,35:27,36:23}},EZR:{chapterCount:10,chapterVerseCountPairings:{1:11,2:70,3:13,4:24,5:17,6:22,7:28,8:36,9:15,10:44},name:"Ezra",abbr:"EZR",ord:"15",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Ezra",usfm_end:"EZR 10:44",next:{book:{name:"Nehemiah",id:"Neh"}},previous:{book:{name:"2 Chronicles",id:"2Chr"}},abbreviations:["Ezra","Ezr.","Ez."],chapters:{1:11,2:70,3:13,4:24,5:17,6:22,7:28,8:36,9:15,10:44}},NEH:{chapterCount:13,chapterVerseCountPairings:{1:11,2:20,3:38,4:17,5:19,6:19,7:72,8:18,9:37,10:40,11:36,12:47,13:31},name:"Nehemiah",abbr:"NEH",ord:"16",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Neh",usfm_end:"NEH 13:31",next:{book:{name:"Esther",id:"Esth"}},previous:{book:{name:"Ezra",id:"Ezra"}},abbreviations:["Neh.","Ne."],chapters:{1:11,2:20,3:32,4:23,5:19,6:19,7:73,8:18,9:38,10:39,11:36,12:47,13:31}},EST:{chapterCount:10,chapterVerseCountPairings:{1:22,2:23,3:15,4:17,5:14,6:14,7:10,8:17,9:32,10:3},name:"Esther",abbr:"EST",ord:"17",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Esth",usfm_end:"EST 10:3",next:{book:{name:"Job",id:"Job"}},previous:{book:{name:"Nehemiah",id:"Neh"}},abbreviations:["Est.","Esth.","Es."],chapters:{1:22,2:23,3:15,4:17,5:14,6:14,7:10,8:17,9:32,10:3}},JOB:{chapterCount:42,chapterVerseCountPairings:{1:22,2:13,3:26,4:21,5:27,6:30,7:21,8:22,9:35,10:22,11:20,12:25,13:28,14:22,15:35,16:22,17:16,18:21,19:29,20:29,21:34,22:30,23:17,24:25,25:6,26:14,27:23,28:28,29:25,30:31,31:40,32:22,33:33,34:37,35:16,36:33,37:24,38:41,39:30,40:32,41:26,42:17},name:"Job",abbr:"JOB",ord:"18",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Job",usfm_end:"JOB 42:17",next:{book:{name:"Psalms",id:"Ps"}},previous:{book:{name:"Esther",id:"Esth"}},abbreviations:["Job","Jb."],chapters:{1:22,2:13,3:26,4:21,5:27,6:30,7:21,8:22,9:35,10:22,11:20,12:25,13:28,14:22,15:35,16:22,17:16,18:21,19:29,20:29,21:34,22:30,23:17,24:25,25:6,26:14,27:23,28:28,29:25,30:31,31:40,32:22,33:33,34:37,35:16,36:33,37:24,38:41,39:30,40:24,41:34,42:17}},PSA:{chapterCount:150,chapterVerseCountPairings:{1:6,2:12,3:9,4:9,5:13,6:11,7:18,8:10,9:21,10:18,11:7,12:9,13:6,14:7,15:5,16:11,17:15,18:51,19:15,20:10,21:14,22:32,23:6,24:10,25:22,26:12,27:14,28:9,29:11,30:13,31:25,32:11,33:22,34:23,35:28,36:13,37:40,38:23,39:14,40:18,41:14,42:12,43:5,44:27,45:18,46:12,47:10,48:15,49:21,50:23,51:21,52:11,53:7,54:9,55:24,56:14,57:12,58:12,59:18,60:14,61:9,62:13,63:12,64:11,65:14,66:20,67:8,68:36,69:37,70:6,71:24,72:20,73:28,74:23,75:11,76:13,77:21,78:72,79:13,80:20,81:17,82:8,83:19,84:13,85:14,86:17,87:7,88:19,89:53,90:17,91:16,92:16,93:5,94:23,95:11,96:13,97:12,98:9,99:9,100:5,101:8,102:29,103:22,104:35,105:45,106:48,107:43,108:14,109:31,110:7,111:10,112:10,113:9,114:8,115:18,116:19,117:2,118:29,119:176,120:7,121:8,122:9,123:4,124:8,125:5,126:6,127:5,128:6,129:8,130:8,131:3,132:18,133:3,134:3,135:21,136:26,137:9,138:8,139:24,140:14,141:10,142:8,143:12,144:15,145:21,146:10,147:20,148:14,149:9,150:6},name:"Psalms",abbr:"PSA",ord:"19",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Ps",usfm_end:"PSA 150:6",next:{book:{name:"Proverbs",id:"Prov"}},previous:{book:{name:"Job",id:"Job"}},abbreviations:["Ps.","Psalm","Pslm.","Psa.","Psm.","Pss."],chapters:{1:6,2:12,3:8,4:8,5:12,6:10,7:17,8:9,9:20,10:18,11:7,12:8,13:6,14:7,15:5,16:11,17:15,18:50,19:14,20:9,21:13,22:31,23:6,24:10,25:22,26:12,27:14,28:9,29:11,30:12,31:24,32:11,33:22,34:22,35:28,36:12,37:40,38:22,39:13,40:17,41:13,42:11,43:5,44:26,45:17,46:11,47:9,48:14,49:20,50:23,51:19,52:9,53:6,54:7,55:23,56:13,57:11,58:11,59:17,60:12,61:8,62:12,63:11,64:10,65:13,66:20,67:7,68:35,69:36,70:5,71:24,72:20,73:28,74:23,75:10,76:12,77:20,78:72,79:13,80:19,81:16,82:8,83:18,84:12,85:13,86:17,87:7,88:18,89:52,90:17,91:16,92:15,93:5,94:23,95:11,96:13,97:12,98:9,99:9,100:5,101:8,102:28,103:22,104:35,105:45,106:48,107:43,108:13,109:31,110:7,111:10,112:10,113:9,114:8,115:18,116:19,117:2,118:29,119:176,120:7,121:8,122:9,123:4,124:8,125:5,126:6,127:5,128:6,129:8,130:8,131:3,132:18,133:3,134:3,135:21,136:26,137:9,138:8,139:24,140:13,141:10,142:7,143:12,144:15,145:21,146:10,147:20,148:14,149:9,150:6}},PRO:{chapterCount:31,chapterVerseCountPairings:{1:33,2:22,3:35,4:27,5:23,6:35,7:27,8:36,9:18,10:32,11:31,12:28,13:25,14:35,15:33,16:33,17:28,18:24,19:29,20:30,21:31,22:29,23:35,24:34,25:28,26:28,27:27,28:28,29:27,30:33,31:31},name:"Proverbs",abbr:"PRO",ord:"20",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Prov",usfm_end:"PRO 31:31",next:{book:{name:"Ecclesiastes",id:"Eccl"}},previous:{book:{name:"Psalms",id:"Ps"}},abbreviations:["Prov","Pro.","Prv.","Pr."],chapters:{1:33,2:22,3:35,4:27,5:23,6:35,7:27,8:36,9:18,10:32,11:31,12:28,13:25,14:35,15:33,16:33,17:28,18:24,19:29,20:30,21:31,22:29,23:35,24:34,25:28,26:28,27:27,28:28,29:27,30:33,31:31}},ECC:{chapterCount:12,chapterVerseCountPairings:{1:18,2:26,3:22,4:17,5:19,6:12,7:29,8:17,9:18,10:20,11:10,12:14},name:"Ecclesiastes",abbr:"ECC",ord:"21",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Eccl",usfm_end:"ECC 12:14",next:{book:{name:"Song of Solomon",id:"Song"}},previous:{book:{name:"Proverbs",id:"Prov"}},abbreviations:["Eccles.","Eccle.","Ecc.","Ec.","Qoh."],chapters:{1:18,2:26,3:22,4:16,5:20,6:12,7:29,8:17,9:18,10:20,11:10,12:14}},SNG:{chapterCount:8,chapterVerseCountPairings:{1:17,2:17,3:11,4:16,5:16,6:12,7:14,8:14},name:"Song of Solomon",abbr:"SNG",ord:"22",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Song",usfm_end:"SNG 8:14",next:{book:{name:"Isaiah",id:"Isa"}},previous:{book:{name:"Ecclesiastes",id:"Eccl"}},abbreviations:["Song","Song of Songs","SOS.","So.","Canticle of Canticles","Canticles","Cant."],chapters:{1:17,2:17,3:11,4:16,5:16,6:13,7:13,8:14}},ISA:{chapterCount:66,chapterVerseCountPairings:{1:31,2:22,3:26,4:6,5:30,6:13,7:25,8:23,9:20,10:34,11:16,12:6,13:22,14:32,15:9,16:14,17:14,18:7,19:25,20:6,21:17,22:25,23:18,24:23,25:12,26:21,27:13,28:29,29:24,30:33,31:9,32:20,33:24,34:17,35:10,36:22,37:38,38:22,39:8,40:31,41:29,42:25,43:28,44:28,45:25,46:13,47:15,48:22,49:26,50:11,51:23,52:15,53:12,54:17,55:13,56:12,57:21,58:14,59:21,60:22,61:11,62:12,63:19,64:11,65:25,66:24},name:"Isaiah",abbr:"ISA",ord:"23",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Isa",usfm_end:"ISA 66:24",next:{book:{name:"Jeremiah",id:"Jer"}},previous:{book:{name:"Song of Solomon",id:"Song"}},abbreviations:["Isa.","Is."],chapters:{1:31,2:22,3:26,4:6,5:30,6:13,7:25,8:22,9:21,10:34,11:16,12:6,13:22,14:32,15:9,16:14,17:14,18:7,19:25,20:6,21:17,22:25,23:18,24:23,25:12,26:21,27:13,28:29,29:24,30:33,31:9,32:20,33:24,34:17,35:10,36:22,37:38,38:22,39:8,40:31,41:29,42:25,43:28,44:28,45:25,46:13,47:15,48:22,49:26,50:11,51:23,52:15,53:12,54:17,55:13,56:12,57:21,58:14,59:21,60:22,61:11,62:12,63:19,64:12,65:25,66:24}},JER:{chapterCount:52,chapterVerseCountPairings:{1:19,2:37,3:25,4:31,5:31,6:30,7:34,8:23,9:25,10:25,11:23,12:17,13:27,14:22,15:21,16:21,17:27,18:23,19:15,20:18,21:14,22:30,23:40,24:10,25:38,26:24,27:22,28:17,29:32,30:24,31:40,32:44,33:26,34:22,35:19,36:32,37:21,38:28,39:18,40:16,41:18,42:22,43:13,44:30,45:5,46:28,47:7,48:47,49:39,50:46,51:64,52:34},name:"Jeremiah",abbr:"JER",ord:"24",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Jer",usfm_end:"JER 52:34",next:{book:{name:"Lamentations",id:"Lam"}},previous:{book:{name:"Isaiah",id:"Isa"}},abbreviations:["Jer.","Je.","Jr."],chapters:{1:19,2:37,3:25,4:31,5:31,6:30,7:34,8:22,9:26,10:25,11:23,12:17,13:27,14:22,15:21,16:21,17:27,18:23,19:15,20:18,21:14,22:30,23:40,24:10,25:38,26:24,27:22,28:17,29:32,30:24,31:40,32:44,33:26,34:22,35:19,36:32,37:21,38:28,39:18,40:16,41:18,42:22,43:13,44:30,45:5,46:28,47:7,48:47,49:39,50:46,51:64,52:34}},LAM:{chapterCount:5,chapterVerseCountPairings:{1:22,2:22,3:66,4:22,5:22},name:"Lamentations",abbr:"LAM",ord:"25",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Lam",usfm_end:"LAM 5:22",next:{book:{name:"Ezekiel",id:"Ezek"}},previous:{book:{name:"Jeremiah",id:"Jer"}},abbreviations:["Lam.","La."],chapters:{1:22,2:22,3:66,4:22,5:22}},EZK:{chapterCount:48,chapterVerseCountPairings:{1:28,2:10,3:27,4:17,5:17,6:14,7:27,8:18,9:11,10:22,11:25,12:28,13:23,14:23,15:8,16:63,17:24,18:32,19:14,20:44,21:37,22:31,23:49,24:27,25:17,26:21,27:36,28:26,29:21,30:26,31:18,32:32,33:33,34:31,35:15,36:38,37:28,38:23,39:29,40:49,41:26,42:20,43:27,44:31,45:25,46:24,47:23,48:35},name:"Ezekiel",abbr:"EZK",ord:"26",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Ezek",usfm_end:"EZK 48:35",next:{book:{name:"Daniel",id:"Dan"}},previous:{book:{name:"Lamentations",id:"Lam"}},abbreviations:["Ezek.","Eze.","Ezk."],chapters:{1:28,2:10,3:27,4:17,5:17,6:14,7:27,8:18,9:11,10:22,11:25,12:28,13:23,14:23,15:8,16:63,17:24,18:32,19:14,20:49,21:32,22:31,23:49,24:27,25:17,26:21,27:36,28:26,29:21,30:26,31:18,32:32,33:33,34:31,35:15,36:38,37:28,38:23,39:29,40:49,41:26,42:20,43:27,44:31,45:25,46:24,47:23,48:35}},DAN:{chapterCount:12,chapterVerseCountPairings:{1:21,2:49,3:33,4:34,5:30,6:29,7:28,8:27,9:27,10:21,11:45,12:13},name:"Daniel",abbr:"DAN",ord:"27",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Dan",usfm_end:"DAN 12:13",next:{book:{name:"Hosea",id:"Hos"}},previous:{book:{name:"Ezekiel",id:"Ezek"}},abbreviations:["Dan.","Da.","Dn."],chapters:{1:21,2:49,3:30,4:37,5:31,6:28,7:28,8:27,9:27,10:21,11:45,12:13}},HOS:{chapterCount:14,chapterVerseCountPairings:{1:9,2:25,3:5,4:19,5:15,6:11,7:16,8:14,9:17,10:15,11:11,12:15,13:15,14:10},name:"Hosea",abbr:"HOS",ord:"28",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Hos",usfm_end:"HOS 14:9",next:{book:{name:"Joel",id:"Joel"}},previous:{book:{name:"Daniel",id:"Dan"}},abbreviations:["Hos.","Ho."],chapters:{1:11,2:23,3:5,4:19,5:15,6:11,7:16,8:14,9:17,10:15,11:12,12:14,13:16,14:9}},JOL:{chapterCount:4,chapterVerseCountPairings:{1:20,2:27,3:5,4:21},name:"Joel",abbr:"JOL",ord:"29",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Joel",usfm_end:"JOL 3:21",next:{book:{name:"Amos",id:"Amos"}},previous:{book:{name:"Hosea",id:"Hos"}},abbreviations:["Joel","Jl."],chapters:{1:20,2:32,3:21}},AMO:{chapterCount:9,chapterVerseCountPairings:{1:15,2:16,3:15,4:13,5:27,6:14,7:17,8:14,9:15},name:"Amos",abbr:"AMO",ord:"30",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Amos",usfm_end:"AMO 9:15",next:{book:{name:"Obadiah",id:"Obad"}},previous:{book:{name:"Joel",id:"Joel"}},abbreviations:["Amos","Am."],chapters:{1:15,2:16,3:15,4:13,5:27,6:14,7:17,8:14,9:15}},OBA:{chapterCount:1,chapterVerseCountPairings:{1:21},name:"Obadiah",abbr:"OBA",ord:"31",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Obad",usfm_end:"OBA 1:21",next:{book:{name:"Jonah",id:"Jonah"}},previous:{book:{name:"Amos",id:"Amos"}},abbreviations:["Obad.","Ob."],chapters:{1:21}},JON:{chapterCount:4,chapterVerseCountPairings:{1:16,2:11,3:10,4:11},name:"Jonah",abbr:"JON",ord:"32",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Jonah",usfm_end:"JON 4:11",next:{book:{name:"Micah",id:"Mic"}},previous:{book:{name:"Obadiah",id:"Obad"}},abbreviations:["Jonah","Jnh.","Jon."],chapters:{1:17,2:10,3:10,4:11}},MIC:{chapterCount:7,chapterVerseCountPairings:{1:16,2:13,3:12,4:14,5:14,6:16,7:20},name:"Micah",abbr:"MIC",ord:"33",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Mic",usfm_end:"MIC 7:20",next:{book:{name:"Nahum",id:"Nah"}},previous:{book:{name:"Jonah",id:"Jonah"}},abbreviations:["Mic.","Mc."],chapters:{1:16,2:13,3:12,4:13,5:15,6:16,7:20}},NAM:{chapterCount:3,chapterVerseCountPairings:{1:14,2:14,3:19},name:"Nahum",abbr:"NAM",ord:"34",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Nah",usfm_end:"NAM 3:19",next:{book:{name:"Habakkuk",id:"Hab"}},previous:{book:{name:"Micah",id:"Mic"}},abbreviations:["Nah.","Na."],chapters:{1:15,2:13,3:19}},HAB:{chapterCount:3,chapterVerseCountPairings:{1:17,2:20,3:19},name:"Habakkuk",abbr:"HAB",ord:"35",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Hab",usfm_end:"HAB 3:19",next:{book:{name:"Zephaniah",id:"Zeph"}},previous:{book:{name:"Nahum",id:"Nah"}},abbreviations:["Hab.","Hb."],chapters:{1:17,2:20,3:19}},ZEP:{chapterCount:3,chapterVerseCountPairings:{1:18,2:15,3:20},name:"Zephaniah",abbr:"ZEP",ord:"36",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Zeph",usfm_end:"ZEP 3:20",next:{book:{name:"Haggai",id:"Hag"}},previous:{book:{name:"Habakkuk",id:"Hab"}},abbreviations:["Zeph.","Zep.","Zp."],chapters:{1:18,2:15,3:20}},HAG:{chapterCount:2,chapterVerseCountPairings:{1:15,2:23},name:"Haggai",abbr:"HAG",ord:"37",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Hag",usfm_end:"HAG 2:23",next:{book:{name:"Zechariah",id:"Zech"}},previous:{book:{name:"Zephaniah",id:"Zeph"}},abbreviations:["Hag.","Hg."],chapters:{1:15,2:23}},ZEC:{chapterCount:14,chapterVerseCountPairings:{1:17,2:17,3:10,4:14,5:11,6:15,7:14,8:23,9:17,10:12,11:17,12:14,13:9,14:21},name:"Zechariah",abbr:"ZEC",ord:"38",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Zech",usfm_end:"ZEC 14:21",next:{book:{name:"Malachi",id:"Mal"}},previous:{book:{name:"Haggai",id:"Hag"}},abbreviations:["Zech.","Zec.","Zc."],chapters:{1:21,2:13,3:10,4:14,5:11,6:15,7:14,8:23,9:17,10:12,11:17,12:14,13:9,14:21}},MAL:{chapterCount:3,chapterVerseCountPairings:{1:14,2:17,3:24},name:"Malachi",abbr:"MAL",ord:"39",book_group_id:"0",testament:"OT",language_direction:"rtl",id:"Mal",usfm_end:"MAL 4:6",next:{book:{name:"Tobit",id:"Tob"}},previous:{book:{name:"Zechariah",id:"Zech"}},abbreviations:["Mal.","Ml."],chapters:{1:14,2:17,3:18,4:6}},MAT:{chapterCount:28,chapterVerseCountPairings:{1:25,2:23,3:17,4:25,5:48,6:34,7:29,8:34,9:38,10:42,11:30,12:50,13:58,14:36,15:39,16:28,17:27,18:35,19:30,20:34,21:46,22:46,23:39,24:51,25:46,26:75,27:66,28:20},name:"Matthew",abbr:"MAT",ord:"40",book_group_id:"0",testament:"NT",id:"Matt",usfm_end:"MAT 28:20",next:{book:{name:"Mark",id:"Mark"}},previous:{book:{name:"2 Maccabees",id:"2Macc"}},abbreviations:["Matt.","Mt."],chapters:{1:25,2:23,3:17,4:25,5:48,6:34,7:29,8:34,9:38,10:42,11:30,12:50,13:58,14:36,15:39,16:28,17:27,18:35,19:30,20:34,21:46,22:46,23:39,24:51,25:46,26:75,27:66,28:20}},MRK:{chapterCount:16,chapterVerseCountPairings:{1:45,2:28,3:35,4:41,5:43,6:56,7:37,8:38,9:50,10:52,11:33,12:44,13:37,14:72,15:47,16:20},name:"Mark",abbr:"MRK",ord:"41",book_group_id:"0",testament:"NT",id:"Mark",usfm_end:"MRK 16:20",next:{book:{name:"Luke",id:"Luke"}},previous:{book:{name:"Matthew",id:"Matt"}},abbreviations:["Mark","Mrk","Mar","Mk","Mr"],chapters:{1:45,2:28,3:35,4:41,5:43,6:56,7:37,8:38,9:50,10:52,11:33,12:44,13:37,14:72,15:47,16:20}},LUK:{chapterCount:24,chapterVerseCountPairings:{1:80,2:52,3:38,4:44,5:39,6:49,7:50,8:56,9:62,10:42,11:54,12:59,13:35,14:35,15:32,16:31,17:37,18:43,19:48,20:47,21:38,22:71,23:56,24:53},name:"Luke",abbr:"LUK",ord:"42",book_group_id:"0",testament:"NT",id:"Luke",usfm_end:"LUK 24:53",next:{book:{name:"John",id:"John"}},previous:{book:{name:"Mark",id:"Mark"}},abbreviations:["Luke","Luk","Lk"],chapters:{1:80,2:52,3:38,4:44,5:39,6:49,7:50,8:56,9:62,10:42,11:54,12:59,13:35,14:35,15:32,16:31,17:37,18:43,19:48,20:47,21:38,22:71,23:56,24:53}},JHN:{chapterCount:21,chapterVerseCountPairings:{1:51,2:25,3:36,4:54,5:47,6:71,7:53,8:59,9:41,10:42,11:57,12:50,13:38,14:31,15:27,16:33,17:26,18:40,19:42,20:31,21:25},name:"John",abbr:"JHN",ord:"43",book_group_id:"0",testament:"NT",id:"John",usfm_end:"JHN 21:25",next:{book:{name:"Acts",id:"Acts"}},previous:{book:{name:"Luke",id:"Luke"}},abbreviations:["John","Joh","Jhn","Jn"],chapters:{1:51,2:25,3:36,4:54,5:47,6:71,7:53,8:59,9:41,10:42,11:57,12:50,13:38,14:31,15:27,16:33,17:26,18:40,19:42,20:31,21:25}},ACT:{chapterCount:28,chapterVerseCountPairings:{1:26,2:47,3:26,4:37,5:42,6:15,7:60,8:40,9:43,10:48,11:30,12:25,13:52,14:28,15:41,16:40,17:34,18:28,19:40,20:38,21:40,22:30,23:35,24:27,25:27,26:32,27:44,28:31},name:"Acts",abbr:"ACT",ord:"44",book_group_id:"0",testament:"NT",id:"Acts",usfm_end:"ACT 28:31",next:{book:{name:"Romans",id:"Rom"}},previous:{book:{name:"John",id:"John"}},abbreviations:["Acts","Act","Ac"],chapters:{1:26,2:47,3:26,4:37,5:42,6:15,7:60,8:40,9:43,10:48,11:30,12:25,13:52,14:28,15:41,16:40,17:34,18:28,19:41,20:38,21:40,22:30,23:35,24:27,25:27,26:32,27:44,28:31}},ROM:{chapterCount:16,chapterVerseCountPairings:{1:32,2:29,3:31,4:25,5:21,6:23,7:25,8:39,9:33,10:21,11:36,12:21,13:14,14:23,15:33,16:27},name:"Romans",abbr:"ROM",ord:"45",book_group_id:"0",testament:"NT",id:"Rom",usfm_end:"ROM 16:27",next:{book:{name:"1 Corinthians",id:"1Cor"}},previous:{book:{name:"Acts",id:"Acts"}},abbreviations:["Rom.","Ro.","Rm."],chapters:{1:32,2:29,3:31,4:25,5:21,6:23,7:25,8:39,9:33,10:21,11:36,12:21,13:14,14:23,15:33,16:27}},"1CO":{chapterCount:16,chapterVerseCountPairings:{1:31,2:16,3:23,4:21,5:13,6:20,7:40,8:13,9:27,10:33,11:34,12:31,13:13,14:40,15:58,16:24},name:"1 Corinthians",abbr:"1CO",ord:"46",book_group_id:"0",testament:"NT",id:"1Cor",usfm_end:"1CO 16:24",next:{book:{name:"2 Corinthians",id:"2Cor"}},previous:{book:{name:"Romans",id:"Rom"}},abbreviations:["1 Cor.","1 Co.","I Cor.","I Co.","1Cor.","1Co.","I Corinthians","1Corinthians","1st Corinthians","First Corinthians"],chapters:{1:31,2:16,3:23,4:21,5:13,6:20,7:40,8:13,9:27,10:33,11:34,12:31,13:13,14:40,15:58,16:24}},"2CO":{chapterCount:13,chapterVerseCountPairings:{1:24,2:17,3:18,4:18,5:21,6:18,7:16,8:24,9:15,10:18,11:33,12:21,13:13},name:"2 Corinthians",abbr:"2CO",ord:"47",book_group_id:"0",testament:"NT",id:"2Cor",usfm_end:"2CO 13:14",next:{book:{name:"Galatians",id:"Gal"}},previous:{book:{name:"1 Corinthians",id:"1Cor"}},abbreviations:["2 Cor.","2 Co.","II Cor.","II Co.","2Cor.","2Co.","II Corinthians","2Corinthians","2nd Corinthians","Second Corinthians"],chapters:{1:24,2:17,3:18,4:18,5:21,6:18,7:16,8:24,9:15,10:18,11:33,12:21,13:14}},GAL:{chapterCount:6,chapterVerseCountPairings:{1:24,2:21,3:29,4:31,5:26,6:18},name:"Galatians",abbr:"GAL",ord:"48",book_group_id:"0",testament:"NT",id:"Gal",usfm_end:"GAL 6:18",next:{book:{name:"Ephesians",id:"Eph"}},previous:{book:{name:"2 Corinthians",id:"2Cor"}},abbreviations:["Gal.","Ga."],chapters:{1:24,2:21,3:29,4:31,5:26,6:18}},EPH:{chapterCount:6,chapterVerseCountPairings:{1:23,2:22,3:21,4:32,5:33,6:24},name:"Ephesians",abbr:"EPH",ord:"49",book_group_id:"0",testament:"NT",id:"Eph",usfm_end:"EPH 6:24",next:{book:{name:"Philippians",id:"Phil"}},previous:{book:{name:"Galatians",id:"Gal"}},abbreviations:["Eph.","Ephes."],chapters:{1:23,2:22,3:21,4:32,5:33,6:24}},PHP:{chapterCount:4,chapterVerseCountPairings:{1:30,2:30,3:21,4:23},name:"Philippians",abbr:"PHP",ord:"50",book_group_id:"0",testament:"NT",id:"Phil",usfm_end:"PHP 4:23",next:{book:{name:"Colossians",id:"Col"}},previous:{book:{name:"Ephesians",id:"Eph"}},abbreviations:["Phil.","Php.","Pp."],chapters:{1:30,2:30,3:21,4:23}},COL:{chapterCount:4,chapterVerseCountPairings:{1:29,2:23,3:25,4:18},name:"Colossians",abbr:"COL",ord:"51",book_group_id:"0",testament:"NT",id:"Col",usfm_end:"COL 4:18",next:{book:{name:"1 Thessalonians",id:"1Thess"}},previous:{book:{name:"Philippians",id:"Phil"}},abbreviations:["Col.","Co."],chapters:{1:29,2:23,3:25,4:18}},"1TH":{chapterCount:5,chapterVerseCountPairings:{1:10,2:20,3:13,4:18,5:28},name:"1 Thessalonians",abbr:"1TH",ord:"52",book_group_id:"0",testament:"NT",id:"1Thess",usfm_end:"1TH 5:28",next:{book:{name:"2 Thessalonians",id:"2Thess"}},previous:{book:{name:"Colossians",id:"Col"}},abbreviations:["1 Thess.","1 Thes.","1 Th.","I Thessalonians","I Thess.","I Thes.","I Th.","1Thessalonians","1Thess.","1Thes.","1Th.","1st Thessalonians","1st Thess.","First Thessalonians","First Thess."],chapters:{1:10,2:20,3:13,4:18,5:28}},"2TH":{chapterCount:3,chapterVerseCountPairings:{1:12,2:17,3:18},name:"2 Thessalonians",abbr:"2TH",ord:"53",book_group_id:"0",testament:"NT",id:"2Thess",usfm_end:"2TH 3:18",next:{book:{name:"1 Timothy",id:"1Tim"}},previous:{book:{name:"1 Thessalonians",id:"1Thess"}},abbreviations:["2 Thess.","2 Thes.","II Thessalonians","II Thess.","II Thes.","II Th.","2Thessalonians","2Thess.","2Thes.","2Th.","2nd Thessalonians","2nd Thess.","Second Thessalonians","Second Thess."],chapters:{1:12,2:17,3:18}},"1TI":{chapterCount:6,chapterVerseCountPairings:{1:20,2:15,3:16,4:16,5:25,6:21},name:"1 Timothy",abbr:"1TI",ord:"54",book_group_id:"0",testament:"NT",id:"1Tim",usfm_end:"1TI 6:21",next:{book:{name:"2 Timothy",id:"2Tim"}},previous:{book:{name:"2 Thessalonians",id:"2Thess"}},abbreviations:["1 Tim.","1 Ti.","I Timothy","I Tim.","I Ti.","1Timothy","1Tim.","1Ti.","1st Timothy","1st Tim.","First Timothy","First Tim."],chapters:{1:20,2:15,3:16,4:16,5:25,6:21}},"2TI":{chapterCount:4,chapterVerseCountPairings:{1:18,2:26,3:17,4:22},name:"2 Timothy",abbr:"2TI",ord:"55",book_group_id:"0",testament:"NT",id:"2Tim",usfm_end:"2TI 4:22",next:{book:{name:"Titus",id:"Titus"}},previous:{book:{name:"1 Timothy",id:"1Tim"}},abbreviations:["2 Tim.","2 Ti.","II Timothy","II Tim.","II Ti.","2Timothy","2Tim.","2Ti.","2nd Timothy","2nd Tim.","Second Timothy","Second Tim."],chapters:{1:18,2:26,3:17,4:22}},TIT:{chapterCount:3,chapterVerseCountPairings:{1:16,2:15,3:15},name:"Titus",abbr:"TIT",ord:"56",book_group_id:"0",testament:"NT",id:"Titus",usfm_end:"TIT 3:15",next:{book:{name:"Philemon",id:"Phlm"}},previous:{book:{name:"2 Timothy",id:"2Tim"}},abbreviations:["Titus","Tit","ti"],chapters:{1:16,2:15,3:15}},PHM:{chapterCount:1,chapterVerseCountPairings:{1:25},name:"Philemon",abbr:"PHM",ord:"57",book_group_id:"0",testament:"NT",id:"Phlm",usfm_end:"PHM 1:25",next:{book:{name:"Hebrews",id:"Heb"}},previous:{book:{name:"Titus",id:"Titus"}},abbreviations:["Philem.","Phm.","Pm."],chapters:{1:25}},HEB:{chapterCount:13,chapterVerseCountPairings:{1:14,2:18,3:19,4:16,5:14,6:20,7:28,8:13,9:28,10:39,11:40,12:29,13:25},name:"Hebrews",abbr:"HEB",ord:"58",book_group_id:"0",testament:"NT",id:"Heb",usfm_end:"HEB 13:25",next:{book:{name:"James",id:"Jas"}},previous:{book:{name:"Philemon",id:"Phlm"}},abbreviations:["Heb."],chapters:{1:14,2:18,3:19,4:16,5:14,6:20,7:28,8:13,9:28,10:39,11:40,12:29,13:25}},JAS:{chapterCount:5,chapterVerseCountPairings:{1:27,2:26,3:18,4:17,5:20},name:"James",abbr:"JAS",ord:"59",book_group_id:"0",testament:"NT",id:"Jas",usfm_end:"JAS 5:20",next:{book:{name:"1 Peter",id:"1Pet"}},previous:{book:{name:"Hebrews",id:"Heb"}},abbreviations:["James","Jas","Jm"],chapters:{1:27,2:26,3:18,4:17,5:20}},"1PE":{chapterCount:5,chapterVerseCountPairings:{1:25,2:25,3:22,4:19,5:14},name:"1 Peter",abbr:"1PE",ord:"60",book_group_id:"0",testament:"NT",id:"1Pet",usfm_end:"1PE 5:14",next:{book:{name:"2 Peter",id:"2Pet"}},previous:{book:{name:"James",id:"Jas"}},abbreviations:["1 Pet.","1 Pe.","1 Pt.","1 P.","I Pet.","I Pt.","I Pe.","1Peter","1Pet.","1Pe.","1Pt.","1P.","I Peter","1st Peter","First Peter"],chapters:{1:25,2:25,3:22,4:19,5:14}},"2PE":{chapterCount:3,chapterVerseCountPairings:{1:21,2:22,3:18},name:"2 Peter",abbr:"2PE",ord:"61",book_group_id:"0",testament:"NT",id:"2Pet",usfm_end:"2PE 3:18",next:{book:{name:"1 John",id:"1John"}},previous:{book:{name:"1 Peter",id:"1Pet"}},abbreviations:["2 Pet.","2 Pe.","2 Pt.","2 P.","II Peter","II Pet.","II Pt.","II Pe.","2Peter","2Pet.","2Pe.","2Pt.","2P.","2nd Peter","Second Peter"],chapters:{1:21,2:22,3:18}},"1JN":{chapterCount:5,chapterVerseCountPairings:{1:10,2:29,3:24,4:21,5:21},name:"1 John",abbr:"1JN",ord:"62",book_group_id:"0",testament:"NT",id:"1John",usfm_end:"1JN 5:21",next:{book:{name:"2 John",id:"2John"}},previous:{book:{name:"2 Peter",id:"2Pet"}},abbreviations:["1 John","1 Jhn.","1 Jn.","1 J.","1John","1Jhn.","1Joh.","1Jn.","1Jo.","1J.","I John","I Jhn.","I Joh.","I Jn.","I Jo.","1st John","First John"],chapters:{1:10,2:29,3:24,4:21,5:21}},"2JN":{chapterCount:1,chapterVerseCountPairings:{1:13},name:"2 John",abbr:"2JN",ord:"63",book_group_id:"0",testament:"NT",id:"2John",usfm_end:"2JN 1:13",next:{book:{name:"3 John",id:"3John"}},previous:{book:{name:"1 John",id:"1John"}},abbreviations:["2 John","2 Jhn.","2 Jn.","2 J.","2John","2Jhn.","2Joh.","2Jn.","2Jo.","2J.","II John","II Jhn.","II Joh.","II Jn.","II Jo.","2nd John","Second John"],chapters:{1:13}},"3JN":{chapterCount:1,chapterVerseCountPairings:{1:15},name:"3 John",abbr:"3JN",ord:"64",book_group_id:"0",testament:"NT",id:"3John",usfm_end:"3JN 1:14",next:{book:{name:"Jude",id:"Jude"}},previous:{book:{name:"2 John",id:"2John"}},abbreviations:["3 John","3 Jhn.","3 Jn.","3 J.","3John","3Jhn.","3Joh.","3Jn.","3Jo.","3J.","III John","III Jhn.","III Joh.","III Jn.","III Jo.","3rd John","Third John"],chapters:{1:14}},JUD:{chapterCount:1,chapterVerseCountPairings:{1:25},name:"Jude",abbr:"JUD",ord:"65",book_group_id:"0",testament:"NT",id:"Jude",usfm_end:"JUD 1:25",next:{book:{name:"Revelation",id:"Rev"}},previous:{book:{name:"3 John",id:"3John"}},abbreviations:["Jude","Jud.","Jd."],chapters:{1:25}},REV:{chapterCount:22,chapterVerseCountPairings:{1:20,2:29,3:22,4:11,5:14,6:17,7:17,8:13,9:21,10:11,11:19,12:18,13:18,14:20,15:8,16:21,17:18,18:24,19:21,20:15,21:27,22:21},name:"Revelation",abbr:"REV",ord:"66",book_group_id:"0",testament:"NT",id:"Rev",usfm_end:"REV 22:21",previous:{book:{name:"Jude",id:"Jude"}},abbreviations:["Rev","Re","The Revelation"],chapters:{1:20,2:29,3:22,4:11,5:14,6:17,7:17,8:13,9:21,10:11,11:19,12:17,13:18,14:20,15:8,16:21,17:18,18:24,19:21,20:15,21:27,22:21}}},st=({onSelectChapter:t})=>{const{state:{bookChapters:e}}=L.useContext(Qe);return _.jsx("div",{className:"grid [200px]:grid-cols-3 [400px]:grid-cols-4 gap-4 p-2",children:e.map((s,r)=>_.jsx("div",{children:_.jsx("div",{className:"cursor-pointer hover:text-blue-500",onClick:()=>t(s),children:s})},r))})},rt=({onBookClick:t,bookList:e})=>{const{state:{selectedBook:s,showChapterList:r},actions:n}=L.useContext(Qe),{setSelectedBook:h,setBookChapters:d,setSelectedChapter:a,setShowChapterList:l}=n,P=o=>{console.log({chapter:o}),a(parseInt(o)),de.postMessage({type:he.UPDATE_CHAPTER,payload:{chapter:o}})},p=o=>{t(o),h(o.fileName);const{chapters:m}=et(o.book);console.log({chapters:m}),d(m),l(S=>!S)};return L.useEffect(()=>{l(!0)},[s]),_.jsx("div",{className:"space-y-2",children:_.jsx("div",{className:"space-y-2 ",children:e&&e.length>0&&e.map((o,m)=>_.jsxs("div",{children:[_.jsx("div",{className:"cursor-pointer text-left hover:text-blue-500 rounded border border-gray-300 p-2",onClick:()=>p(o),children:o.book}),s&&s===o.fileName&&r&&_.jsx(st,{onSelectChapter:P})]},m))})})};var ke={},Se=Xe;ke.createRoot=Se.createRoot,ke.hydrateRoot=Se.hydrateRoot;var Ce=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(t){return this.listeners.add(t),this.onSubscribe(),()=>{this.listeners.delete(t),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},ve=typeof window>"u"||"Deno"in globalThis;function R(){}function it(t,e){return typeof t=="function"?t(e):t}function nt(t){return typeof t=="number"&&t>=0&&t!==1/0}function at(t,e){return Math.max(t+(e||0)-Date.now(),0)}function Ee(t,e){return typeof t=="function"?t(e):t}function ot(t,e){return typeof t=="function"?t(e):t}function Oe(t,e){const{type:s="all",exact:r,fetchStatus:n,predicate:h,queryKey:d,stale:a}=t;if(d){if(r){if(e.queryHash!==Te(d,e.options))return!1}else if(!le(e.queryKey,d))return!1}if(s!=="all"){const l=e.isActive();if(s==="active"&&!l||s==="inactive"&&l)return!1}return!(typeof a=="boolean"&&e.isStale()!==a||n&&n!==e.state.fetchStatus||h&&!h(e))}function Ie(t,e){const{exact:s,status:r,predicate:n,mutationKey:h}=t;if(h){if(!e.options.mutationKey)return!1;if(s){if(ce(e.options.mutationKey)!==ce(h))return!1}else if(!le(e.options.mutationKey,h))return!1}return!(r&&e.state.status!==r||n&&!n(e))}function Te(t,e){return((e==null?void 0:e.queryKeyHashFn)||ce)(t)}function ce(t){return JSON.stringify(t,(e,s)=>_e(s)?Object.keys(s).sort().reduce((r,n)=>(r[n]=s[n],r),{}):s)}function le(t,e){return t===e?!0:typeof t!=typeof e?!1:t&&e&&typeof t=="object"&&typeof e=="object"?!Object.keys(e).some(s=>!le(t[s],e[s])):!1}function qe(t,e){if(t===e)return t;const s=xe(t)&&xe(e);if(s||_e(t)&&_e(e)){const r=s?t:Object.keys(t),n=r.length,h=s?e:Object.keys(e),d=h.length,a=s?[]:{};let l=0;for(let P=0;P{setTimeout(e,t)})}function ht(t,e,s){return typeof s.structuralSharing=="function"?s.structuralSharing(t,e):s.structuralSharing!==!1?qe(t,e):e}function dt(t,e,s=0){const r=[...t,e];return s&&r.length>s?r.slice(1):r}function ct(t,e,s=0){const r=[e,...t];return s&&r.length>s?r.slice(0,-1):r}var Ge=Symbol();function je(t,e){return!t.queryFn&&(e!=null&&e.initialPromise)?()=>e.initialPromise:!t.queryFn||t.queryFn===Ge?()=>Promise.reject(new Error(`Missing queryFn: '${t.queryHash}'`)):t.queryFn}var z,q,ee,Re,lt=(Re=class extends Ce{constructor(){super();c(this,z);c(this,q);c(this,ee);u(this,ee,e=>{if(!ve&&window.addEventListener){const s=()=>e();return window.addEventListener("visibilitychange",s,!1),()=>{window.removeEventListener("visibilitychange",s)}}})}onSubscribe(){i(this,q)||this.setEventListener(i(this,ee))}onUnsubscribe(){var e;this.hasListeners()||((e=i(this,q))==null||e.call(this),u(this,q,void 0))}setEventListener(e){var s;u(this,ee,e),(s=i(this,q))==null||s.call(this),u(this,q,e(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()}))}setFocused(e){i(this,z)!==e&&(u(this,z,e),this.onFocus())}onFocus(){const e=this.isFocused();this.listeners.forEach(s=>{s(e)})}isFocused(){var e;return typeof i(this,z)=="boolean"?i(this,z):((e=globalThis.document)==null?void 0:e.visibilityState)!=="hidden"}},z=new WeakMap,q=new WeakMap,ee=new WeakMap,Re),Ue=new lt,te,G,se,we,mt=(we=class extends Ce{constructor(){super();c(this,te,!0);c(this,G);c(this,se);u(this,se,e=>{if(!ve&&window.addEventListener){const s=()=>e(!0),r=()=>e(!1);return window.addEventListener("online",s,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",s),window.removeEventListener("offline",r)}}})}onSubscribe(){i(this,G)||this.setEventListener(i(this,se))}onUnsubscribe(){var e;this.hasListeners()||((e=i(this,G))==null||e.call(this),u(this,G,void 0))}setEventListener(e){var s;u(this,se,e),(s=i(this,G))==null||s.call(this),u(this,G,e(this.setOnline.bind(this)))}setOnline(e){i(this,te)!==e&&(u(this,te,e),this.listeners.forEach(r=>{r(e)}))}isOnline(){return i(this,te)}},te=new WeakMap,G=new WeakMap,se=new WeakMap,we),ge=new mt;function bt(t){return Math.min(1e3*2**t,3e4)}function Be(t){return(t??"online")==="online"?ge.isOnline():!0}var Ze=class extends Error{constructor(t){super("CancelledError"),this.revert=t==null?void 0:t.revert,this.silent=t==null?void 0:t.silent}};function Pe(t){return t instanceof Ze}function ze(t){let e=!1,s=0,r=!1,n,h,d;const a=new Promise((f,C)=>{h=f,d=C}),l=f=>{var C;r||(E(new Ze(f)),(C=t.abort)==null||C.call(t))},P=()=>{e=!0},p=()=>{e=!1},o=()=>Ue.isFocused()&&(t.networkMode==="always"||ge.isOnline())&&t.canRun(),m=()=>Be(t.networkMode)&&t.canRun(),S=f=>{var C;r||(r=!0,(C=t.onSuccess)==null||C.call(t,f),n==null||n(),h(f))},E=f=>{var C;r||(r=!0,(C=t.onError)==null||C.call(t,f),n==null||n(),d(f))},y=()=>new Promise(f=>{var C;n=b=>{(r||o())&&f(b)},(C=t.onPause)==null||C.call(t)}).then(()=>{var f;n=void 0,r||(f=t.onContinue)==null||f.call(t)}),x=()=>{if(r)return;let f;const C=s===0?t.initialPromise:void 0;try{f=C??t.fn()}catch(b){f=Promise.reject(b)}Promise.resolve(f).then(S).catch(b=>{var v;if(r)return;const k=t.retry??(ve?0:3),A=t.retryDelay??bt,K=typeof A=="function"?A(s,b):A,Y=k===!0||typeof k=="number"&&so()?void 0:y()).then(()=>{e?E(b):x()})})};return{promise:a,cancel:l,continue:()=>(n==null||n(),a),cancelRetry:P,continueRetry:p,canStart:m,start:()=>(m()?x():y().then(x),a)}}function pt(){let t=[],e=0,s=a=>{a()},r=a=>{a()},n=a=>setTimeout(a,0);const h=a=>{e?t.push(a):n(()=>{s(a)})},d=()=>{const a=t;t=[],a.length&&n(()=>{r(()=>{a.forEach(l=>{s(l)})})})};return{batch:a=>{let l;e++;try{l=a()}finally{e--,e||d()}return l},batchCalls:a=>(...l)=>{h(()=>{a(...l)})},schedule:h,setNotifyFunction:a=>{s=a},setBatchNotifyFunction:a=>{r=a},setScheduler:a=>{n=a}}}var I=pt(),W,He,We=(He=class{constructor(){c(this,W)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),nt(this.gcTime)&&u(this,W,setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(t){this.gcTime=Math.max(this.gcTime||0,t??(ve?1/0:5*60*1e3))}clearGcTimeout(){i(this,W)&&(clearTimeout(i(this,W)),u(this,W,void 0))}},W=new WeakMap,He),re,ie,N,J,me,X,w,V,De,ft=(De=class extends We{constructor(e){super();c(this,w);c(this,re);c(this,ie);c(this,N);c(this,J);c(this,me);c(this,X);u(this,X,!1),u(this,me,e.defaultOptions),this.setOptions(e.options),this.observers=[],u(this,N,e.cache),this.queryKey=e.queryKey,this.queryHash=e.queryHash,u(this,re,Ct(this.options)),this.state=e.state??i(this,re),this.scheduleGc()}get meta(){return this.options.meta}get promise(){var e;return(e=i(this,J))==null?void 0:e.promise}setOptions(e){this.options={...i(this,me),...e},this.updateGcTime(this.options.gcTime)}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&i(this,N).remove(this)}setData(e,s){const r=ht(this.state.data,e,this.options);return T(this,w,V).call(this,{data:r,type:"success",dataUpdatedAt:s==null?void 0:s.updatedAt,manual:s==null?void 0:s.manual}),r}setState(e,s){T(this,w,V).call(this,{type:"setState",state:e,setStateOptions:s})}cancel(e){var r,n;const s=(r=i(this,J))==null?void 0:r.promise;return(n=i(this,J))==null||n.cancel(e),s?s.then(R).catch(R):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(i(this,re))}isActive(){return this.observers.some(e=>ot(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0&&!this.isActive()}isStale(){return this.state.isInvalidated?!0:this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0}isStaleByTime(e=0){return this.state.isInvalidated||this.state.data===void 0||!at(this.state.dataUpdatedAt,e)}onFocus(){var s;const e=this.observers.find(r=>r.shouldFetchOnWindowFocus());e==null||e.refetch({cancelRefetch:!1}),(s=i(this,J))==null||s.continue()}onOnline(){var s;const e=this.observers.find(r=>r.shouldFetchOnReconnect());e==null||e.refetch({cancelRefetch:!1}),(s=i(this,J))==null||s.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),i(this,N).notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(s=>s!==e),this.observers.length||(i(this,J)&&(i(this,X)?i(this,J).cancel({revert:!0}):i(this,J).cancelRetry()),this.scheduleGc()),i(this,N).notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||T(this,w,V).call(this,{type:"invalidate"})}fetch(e,s){var l,P,p;if(this.state.fetchStatus!=="idle"){if(this.state.data!==void 0&&(s!=null&&s.cancelRefetch))this.cancel({silent:!0});else if(i(this,J))return i(this,J).continueRetry(),i(this,J).promise}if(e&&this.setOptions(e),!this.options.queryFn){const o=this.observers.find(m=>m.options.queryFn);o&&this.setOptions(o.options)}const r=new AbortController,n=o=>{Object.defineProperty(o,"signal",{enumerable:!0,get:()=>(u(this,X,!0),r.signal)})},h=()=>{const o=je(this.options,s),m={queryKey:this.queryKey,meta:this.meta};return n(m),u(this,X,!1),this.options.persister?this.options.persister(o,m,this):o(m)},d={fetchOptions:s,options:this.options,queryKey:this.queryKey,state:this.state,fetchFn:h};n(d),(l=this.options.behavior)==null||l.onFetch(d,this),u(this,ie,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((P=d.fetchOptions)==null?void 0:P.meta))&&T(this,w,V).call(this,{type:"fetch",meta:(p=d.fetchOptions)==null?void 0:p.meta});const a=o=>{var m,S,E,y;Pe(o)&&o.silent||T(this,w,V).call(this,{type:"error",error:o}),Pe(o)||((S=(m=i(this,N).config).onError)==null||S.call(m,o,this),(y=(E=i(this,N).config).onSettled)==null||y.call(E,this.state.data,o,this)),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1};return u(this,J,ze({initialPromise:s==null?void 0:s.initialPromise,fn:d.fetchFn,abort:r.abort.bind(r),onSuccess:o=>{var m,S,E,y;if(o===void 0){a(new Error(`${this.queryHash} data is undefined`));return}try{this.setData(o)}catch(x){a(x);return}(S=(m=i(this,N).config).onSuccess)==null||S.call(m,o,this),(y=(E=i(this,N).config).onSettled)==null||y.call(E,o,this.state.error,this),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1},onError:a,onFail:(o,m)=>{T(this,w,V).call(this,{type:"failed",failureCount:o,error:m})},onPause:()=>{T(this,w,V).call(this,{type:"pause"})},onContinue:()=>{T(this,w,V).call(this,{type:"continue"})},retry:d.options.retry,retryDelay:d.options.retryDelay,networkMode:d.options.networkMode,canRun:()=>!0})),i(this,J).start()}},re=new WeakMap,ie=new WeakMap,N=new WeakMap,J=new WeakMap,me=new WeakMap,X=new WeakMap,w=new WeakSet,V=function(e){const s=r=>{switch(e.type){case"failed":return{...r,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,...gt(r.data,this.options),fetchMeta:e.meta??null};case"success":return{...r,data:e.data,dataUpdateCount:r.dataUpdateCount+1,dataUpdatedAt:e.dataUpdatedAt??Date.now(),error:null,isInvalidated:!1,status:"success",...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const n=e.error;return Pe(n)&&n.revert&&i(this,ie)?{...i(this,ie),fetchStatus:"idle"}:{...r,error:n,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:n,fetchStatus:"idle",status:"error"};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...e.state}}};this.state=s(this.state),I.batch(()=>{this.observers.forEach(r=>{r.onQueryUpdate()}),i(this,N).notify({query:this,type:"updated",action:e})})},De);function gt(t,e){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Be(e.networkMode)?"fetching":"paused",...t===void 0&&{error:null,status:"pending"}}}function Ct(t){const e=typeof t.initialData=="function"?t.initialData():t.initialData,s=e!==void 0,r=s?typeof t.initialDataUpdatedAt=="function"?t.initialDataUpdatedAt():t.initialDataUpdatedAt:0;return{data:e,dataUpdateCount:0,dataUpdatedAt:s?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:s?"success":"pending",fetchStatus:"idle"}}var H,Fe,vt=(Fe=class extends Ce{constructor(e={}){super();c(this,H);this.config=e,u(this,H,new Map)}build(e,s,r){const n=s.queryKey,h=s.queryHash??Te(n,s);let d=this.get(h);return d||(d=new ft({cache:this,queryKey:n,queryHash:h,options:e.defaultQueryOptions(s),state:r,defaultOptions:e.getQueryDefaults(n)}),this.add(d)),d}add(e){i(this,H).has(e.queryHash)||(i(this,H).set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){const s=i(this,H).get(e.queryHash);s&&(e.destroy(),s===e&&i(this,H).delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){I.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return i(this,H).get(e)}getAll(){return[...i(this,H).values()]}find(e){const s={exact:!0,...e};return this.getAll().find(r=>Oe(s,r))}findAll(e={}){const s=this.getAll();return Object.keys(e).length>0?s.filter(r=>Oe(e,r)):s}notify(e){I.batch(()=>{this.listeners.forEach(s=>{s(e)})})}onFocus(){I.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){I.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},H=new WeakMap,Fe),D,O,$,F,Q,Ke,yt=(Ke=class extends We{constructor(e){super();c(this,F);c(this,D);c(this,O);c(this,$);this.mutationId=e.mutationId,u(this,O,e.mutationCache),u(this,D,[]),this.state=e.state||Pt(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){i(this,D).includes(e)||(i(this,D).push(e),this.clearGcTimeout(),i(this,O).notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){u(this,D,i(this,D).filter(s=>s!==e)),this.scheduleGc(),i(this,O).notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){i(this,D).length||(this.state.status==="pending"?this.scheduleGc():i(this,O).remove(this))}continue(){var e;return((e=i(this,$))==null?void 0:e.continue())??this.execute(this.state.variables)}async execute(e){var n,h,d,a,l,P,p,o,m,S,E,y,x,f,C,b,k,A,K,Y;u(this,$,ze({fn:()=>this.options.mutationFn?this.options.mutationFn(e):Promise.reject(new Error("No mutationFn found")),onFail:(v,Z)=>{T(this,F,Q).call(this,{type:"failed",failureCount:v,error:Z})},onPause:()=>{T(this,F,Q).call(this,{type:"pause"})},onContinue:()=>{T(this,F,Q).call(this,{type:"continue"})},retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>i(this,O).canRun(this)}));const s=this.state.status==="pending",r=!i(this,$).canStart();try{if(!s){T(this,F,Q).call(this,{type:"pending",variables:e,isPaused:r}),await((h=(n=i(this,O).config).onMutate)==null?void 0:h.call(n,e,this));const Z=await((a=(d=this.options).onMutate)==null?void 0:a.call(d,e));Z!==this.state.context&&T(this,F,Q).call(this,{type:"pending",context:Z,variables:e,isPaused:r})}const v=await i(this,$).start();return await((P=(l=i(this,O).config).onSuccess)==null?void 0:P.call(l,v,e,this.state.context,this)),await((o=(p=this.options).onSuccess)==null?void 0:o.call(p,v,e,this.state.context)),await((S=(m=i(this,O).config).onSettled)==null?void 0:S.call(m,v,null,this.state.variables,this.state.context,this)),await((y=(E=this.options).onSettled)==null?void 0:y.call(E,v,null,e,this.state.context)),T(this,F,Q).call(this,{type:"success",data:v}),v}catch(v){try{throw await((f=(x=i(this,O).config).onError)==null?void 0:f.call(x,v,e,this.state.context,this)),await((b=(C=this.options).onError)==null?void 0:b.call(C,v,e,this.state.context)),await((A=(k=i(this,O).config).onSettled)==null?void 0:A.call(k,void 0,v,this.state.variables,this.state.context,this)),await((Y=(K=this.options).onSettled)==null?void 0:Y.call(K,void 0,v,e,this.state.context)),v}finally{T(this,F,Q).call(this,{type:"error",error:v})}}finally{i(this,O).runNext(this)}}},D=new WeakMap,O=new WeakMap,$=new WeakMap,F=new WeakSet,Q=function(e){const s=r=>{switch(e.type){case"failed":return{...r,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"pending":return{...r,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...r,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:e.error,failureCount:r.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}};this.state=s(this.state),I.batch(()=>{i(this,D).forEach(r=>{r.onMutationUpdate(e)}),i(this,O).notify({mutation:this,type:"updated",action:e})})},Ke);function Pt(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var M,be,Ve,kt=(Ve=class extends Ce{constructor(e={}){super();c(this,M);c(this,be);this.config=e,u(this,M,new Map),u(this,be,Date.now())}build(e,s,r){const n=new yt({mutationCache:this,mutationId:++pe(this,be)._,options:e.defaultMutationOptions(s),state:r});return this.add(n),n}add(e){const s=fe(e),r=i(this,M).get(s)??[];r.push(e),i(this,M).set(s,r),this.notify({type:"added",mutation:e})}remove(e){var r;const s=fe(e);if(i(this,M).has(s)){const n=(r=i(this,M).get(s))==null?void 0:r.filter(h=>h!==e);n&&(n.length===0?i(this,M).delete(s):i(this,M).set(s,n))}this.notify({type:"removed",mutation:e})}canRun(e){var r;const s=(r=i(this,M).get(fe(e)))==null?void 0:r.find(n=>n.state.status==="pending");return!s||s===e}runNext(e){var r;const s=(r=i(this,M).get(fe(e)))==null?void 0:r.find(n=>n!==e&&n.state.isPaused);return(s==null?void 0:s.continue())??Promise.resolve()}clear(){I.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}getAll(){return[...i(this,M).values()].flat()}find(e){const s={exact:!0,...e};return this.getAll().find(r=>Ie(s,r))}findAll(e={}){return this.getAll().filter(s=>Ie(e,s))}notify(e){I.batch(()=>{this.listeners.forEach(s=>{s(e)})})}resumePausedMutations(){const e=this.getAll().filter(s=>s.state.isPaused);return I.batch(()=>Promise.all(e.map(s=>s.continue().catch(R))))}},M=new WeakMap,be=new WeakMap,Ve);function fe(t){var e;return((e=t.options.scope)==null?void 0:e.id)??String(t.mutationId)}function Ae(t){return{onFetch:(e,s)=>{var p,o,m,S,E;const r=e.options,n=(m=(o=(p=e.fetchOptions)==null?void 0:p.meta)==null?void 0:o.fetchMore)==null?void 0:m.direction,h=((S=e.state.data)==null?void 0:S.pages)||[],d=((E=e.state.data)==null?void 0:E.pageParams)||[];let a={pages:[],pageParams:[]},l=0;const P=async()=>{let y=!1;const x=b=>{Object.defineProperty(b,"signal",{enumerable:!0,get:()=>(e.signal.aborted?y=!0:e.signal.addEventListener("abort",()=>{y=!0}),e.signal)})},f=je(e.options,e.fetchOptions),C=async(b,k,A)=>{if(y)return Promise.reject();if(k==null&&b.pages.length)return Promise.resolve(b);const K={queryKey:e.queryKey,pageParam:k,direction:A?"backward":"forward",meta:e.options.meta};x(K);const Y=await f(K),{maxPages:v}=e.options,Z=A?ct:dt;return{pages:Z(b.pages,Y,v),pageParams:Z(b.pageParams,k,v)}};if(n&&h.length){const b=n==="backward",k=b?_t:Ne,A={pages:h,pageParams:d},K=k(r,A);a=await C(A,K,b)}else{const b=t??h.length;do{const k=l===0?d[0]??r.initialPageParam:Ne(r,a);if(l>0&&k==null)break;a=await C(a,k),l++}while(l{var y,x;return(x=(y=e.options).persister)==null?void 0:x.call(y,P,{queryKey:e.queryKey,meta:e.options.meta,signal:e.signal},s)}:e.fetchFn=P}}}function Ne(t,{pages:e,pageParams:s}){const r=e.length-1;return e.length>0?t.getNextPageParam(e[r],e,s[r],s):void 0}function _t(t,{pages:e,pageParams:s}){var r;return e.length>0?(r=t.getPreviousPageParam)==null?void 0:r.call(t,e[0],e,s[0],s):void 0}var g,j,U,ne,ae,B,oe,ue,Le,Tt=(Le=class{constructor(t={}){c(this,g);c(this,j);c(this,U);c(this,ne);c(this,ae);c(this,B);c(this,oe);c(this,ue);u(this,g,t.queryCache||new vt),u(this,j,t.mutationCache||new kt),u(this,U,t.defaultOptions||{}),u(this,ne,new Map),u(this,ae,new Map),u(this,B,0)}mount(){pe(this,B)._++,i(this,B)===1&&(u(this,oe,Ue.subscribe(async t=>{t&&(await this.resumePausedMutations(),i(this,g).onFocus())})),u(this,ue,ge.subscribe(async t=>{t&&(await this.resumePausedMutations(),i(this,g).onOnline())})))}unmount(){var t,e;pe(this,B)._--,i(this,B)===0&&((t=i(this,oe))==null||t.call(this),u(this,oe,void 0),(e=i(this,ue))==null||e.call(this),u(this,ue,void 0))}isFetching(t){return i(this,g).findAll({...t,fetchStatus:"fetching"}).length}isMutating(t){return i(this,j).findAll({...t,status:"pending"}).length}getQueryData(t){var s;const e=this.defaultQueryOptions({queryKey:t});return(s=i(this,g).get(e.queryHash))==null?void 0:s.state.data}ensureQueryData(t){const e=this.getQueryData(t.queryKey);if(e===void 0)return this.fetchQuery(t);{const s=this.defaultQueryOptions(t),r=i(this,g).build(this,s);return t.revalidateIfStale&&r.isStaleByTime(Ee(s.staleTime,r))&&this.prefetchQuery(s),Promise.resolve(e)}}getQueriesData(t){return i(this,g).findAll(t).map(({queryKey:e,state:s})=>{const r=s.data;return[e,r]})}setQueryData(t,e,s){const r=this.defaultQueryOptions({queryKey:t}),n=i(this,g).get(r.queryHash),h=n==null?void 0:n.state.data,d=it(e,h);if(d!==void 0)return i(this,g).build(this,r).setData(d,{...s,manual:!0})}setQueriesData(t,e,s){return I.batch(()=>i(this,g).findAll(t).map(({queryKey:r})=>[r,this.setQueryData(r,e,s)]))}getQueryState(t){var s;const e=this.defaultQueryOptions({queryKey:t});return(s=i(this,g).get(e.queryHash))==null?void 0:s.state}removeQueries(t){const e=i(this,g);I.batch(()=>{e.findAll(t).forEach(s=>{e.remove(s)})})}resetQueries(t,e){const s=i(this,g),r={type:"active",...t};return I.batch(()=>(s.findAll(t).forEach(n=>{n.reset()}),this.refetchQueries(r,e)))}cancelQueries(t={},e={}){const s={revert:!0,...e},r=I.batch(()=>i(this,g).findAll(t).map(n=>n.cancel(s)));return Promise.all(r).then(R).catch(R)}invalidateQueries(t={},e={}){return I.batch(()=>{if(i(this,g).findAll(t).forEach(r=>{r.invalidate()}),t.refetchType==="none")return Promise.resolve();const s={...t,type:t.refetchType??t.type??"active"};return this.refetchQueries(s,e)})}refetchQueries(t={},e){const s={...e,cancelRefetch:(e==null?void 0:e.cancelRefetch)??!0},r=I.batch(()=>i(this,g).findAll(t).filter(n=>!n.isDisabled()).map(n=>{let h=n.fetch(void 0,s);return s.throwOnError||(h=h.catch(R)),n.state.fetchStatus==="paused"?Promise.resolve():h}));return Promise.all(r).then(R)}fetchQuery(t){const e=this.defaultQueryOptions(t);e.retry===void 0&&(e.retry=!1);const s=i(this,g).build(this,e);return s.isStaleByTime(Ee(e.staleTime,s))?s.fetch(e):Promise.resolve(s.state.data)}prefetchQuery(t){return this.fetchQuery(t).then(R).catch(R)}fetchInfiniteQuery(t){return t.behavior=Ae(t.pages),this.fetchQuery(t)}prefetchInfiniteQuery(t){return this.fetchInfiniteQuery(t).then(R).catch(R)}ensureInfiniteQueryData(t){return t.behavior=Ae(t.pages),this.ensureQueryData(t)}resumePausedMutations(){return ge.isOnline()?i(this,j).resumePausedMutations():Promise.resolve()}getQueryCache(){return i(this,g)}getMutationCache(){return i(this,j)}getDefaultOptions(){return i(this,U)}setDefaultOptions(t){u(this,U,t)}setQueryDefaults(t,e){i(this,ne).set(ce(t),{queryKey:t,defaultOptions:e})}getQueryDefaults(t){const e=[...i(this,ne).values()];let s={};return e.forEach(r=>{le(t,r.queryKey)&&(s={...s,...r.defaultOptions})}),s}setMutationDefaults(t,e){i(this,ae).set(ce(t),{mutationKey:t,defaultOptions:e})}getMutationDefaults(t){const e=[...i(this,ae).values()];let s={};return e.forEach(r=>{le(t,r.mutationKey)&&(s={...s,...r.defaultOptions})}),s}defaultQueryOptions(t){if(t._defaulted)return t;const e={...i(this,U).queries,...this.getQueryDefaults(t.queryKey),...t,_defaulted:!0};return e.queryHash||(e.queryHash=Te(e.queryKey,e)),e.refetchOnReconnect===void 0&&(e.refetchOnReconnect=e.networkMode!=="always"),e.throwOnError===void 0&&(e.throwOnError=!!e.suspense),!e.networkMode&&e.persister&&(e.networkMode="offlineFirst"),e.enabled!==!0&&e.queryFn===Ge&&(e.enabled=!1),e}defaultMutationOptions(t){return t!=null&&t._defaulted?t:{...i(this,U).mutations,...(t==null?void 0:t.mutationKey)&&this.getMutationDefaults(t.mutationKey),...t,_defaulted:!0}}clear(){i(this,g).clear(),i(this,j).clear()}},g=new WeakMap,j=new WeakMap,U=new WeakMap,ne=new WeakMap,ae=new WeakMap,B=new WeakMap,oe=new WeakMap,ue=new WeakMap,Le),Jt=L.createContext(void 0),St=({client:t,children:e})=>(L.useEffect(()=>(t.mount(),()=>{t.unmount()}),[t]),_.jsx(Jt.Provider,{value:t,children:e}));const Et=new Tt,Ot=({children:t})=>(L.useEffect(()=>{de.setMessageListeners(e=>{console.log("providers:",e)})},[]),_.jsx(St,{client:Et,children:t})),It=t=>{ke.createRoot(document.getElementById("root")).render(_.jsx($e.StrictMode,{children:_.jsx(Ot,{children:t})}))},xt=()=>{const[t,e]=L.useState(void 0);L.useEffect(()=>{},[t]);const s=r=>{de.postMessage({type:he.OPEN_USFM_FILE,payload:{...r}})};return L.useEffect(()=>{de.setMessageListeners(r=>{switch(r.data.type){case he.BOOKS_IN_WORKSPACE_RESPONSE:e(r.data.payload),console.log("URI message received.",r.data.payload);break;case he.SCROLL_TO_CHAPTER:console.log("scroll to chapter received",r.data.payload);break}}),de.postMessage({type:he.SEND_BOOKS_IN_WORKSPACE,payload:"usfmExplorer"})},[]),_.jsx(Ye,{children:_.jsx("div",{className:"p-4",children:_.jsx("div",{className:"space-y-4",children:_.jsx(rt,{onBookClick:s,bookList:t})})})})};It(_.jsx(xt,{})); diff --git a/webviews/usfm-viewer/package.json b/webviews/usfm-viewer/package.json index 0ffb22d2..c2a4668f 100644 --- a/webviews/usfm-viewer/package.json +++ b/webviews/usfm-viewer/package.json @@ -1,5 +1,5 @@ { - "name": "webview-ui", + "name": "usfm-viewer-webview-ui", "private": true, "version": "0.0.0", "type": "module",